@@ -11,7 +11,7 @@ msgid ""
11
11
msgstr ""
12
12
"Project-Id-Version : Python 3.14\n "
13
13
"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 "
15
15
"PO-Revision-Date : 2025-08-15 19:00+0000\n "
16
16
"Last-Translator : python-doc bot, 2025\n "
17
17
"Language-Team : Indonesian (https://app.transifex.com/python-doc/teams/5390/ "
@@ -75,6 +75,11 @@ msgid ""
75
75
"function for working with :term:`evaluate functions <evaluate function>`."
76
76
msgstr ""
77
77
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
+
78
83
msgid ""
79
84
":pep:`649` proposed the current model for how annotations work in Python."
80
85
msgstr ""
@@ -807,3 +812,28 @@ msgid ""
807
812
">>> get_annotations(ifexp, format=Format.STRING)\n"
808
813
"{'x': '1'}"
809
814
msgstr ""
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