@@ -11,7 +11,7 @@ msgid ""
1111msgstr ""
1212"Project-Id-Version : Python 3.14\n "
1313"Report-Msgid-Bugs-To : \n "
14- "POT-Creation-Date : 2025-09-08 14:49-0300 \n "
14+ "POT-Creation-Date : 2025-09-09 14:15+0000 \n "
1515"PO-Revision-Date : 2025-08-15 19:00+0000\n "
1616"Last-Translator : python-doc bot, 2025\n "
1717"Language-Team : Indonesian (https://app.transifex.com/python-doc/teams/5390/ "
@@ -75,6 +75,11 @@ msgid ""
7575"function for working with :term:`evaluate functions <evaluate function>`."
7676msgstr ""
7777
78+ msgid ""
79+ "Most functionality in this module can execute arbitrary code; see :ref:`the "
80+ "security section <annotationlib-security>` for more information."
81+ msgstr ""
82+
7883msgid ""
7984":pep:`649` proposed the current model for how annotations work in Python."
8085msgstr ""
@@ -807,3 +812,28 @@ msgid ""
807812">>> get_annotations(ifexp, format=Format.STRING)\n"
808813"{'x': '1'}"
809814msgstr ""
815+
816+ msgid "Security implications of introspecting annotations"
817+ msgstr ""
818+
819+ msgid ""
820+ "Much of the functionality in this module involves executing code related to "
821+ "annotations, which can then do arbitrary things. For example, :func:"
822+ "`get_annotations` may call an arbitrary :term:`annotate function`, and :meth:"
823+ "`ForwardRef.evaluate` may call :func:`eval` on an arbitrary string. Code "
824+ "contained in an annotation might make arbitrary system calls, enter an "
825+ "infinite loop, or perform any other operation. This is also true for any "
826+ "access of the :attr:`~object.__annotations__` attribute, and for various "
827+ "functions in the :mod:`typing` module that work with annotations, such as :"
828+ "func:`typing.get_type_hints`."
829+ msgstr ""
830+
831+ msgid ""
832+ "Any security issue arising from this also applies immediately after "
833+ "importing code that may contain untrusted annotations: importing code can "
834+ "always cause arbitrary operations to be performed. However, it is unsafe to "
835+ "accept strings or other input from an untrusted source and pass them to any "
836+ "of the APIs for introspecting annotations, for example by editing an "
837+ "``__annotations__`` dictionary or directly creating a :class:`ForwardRef` "
838+ "object."
839+ msgstr ""
0 commit comments