literal_eval ast python security abstract-syntax-tree

Python 3, ¿Hay agujeros de seguridad conocidos en ast.literal_eval(node_or_string)?



ast python 3 (1)

¿Hay alguna manera conocida de que la evaluación de ast.literal_eval (node_or_string) no sea realmente segura?

En caso afirmativo, ¿hay parches disponibles para ellos?

(Ya sé sobre PyPy [sandbox], que es probablemente más seguro, pero a menos que las respuestas sean sí, entonces no, mis necesidades son lo suficientemente menores como para no llegar tan lejos).


La documentación indica que es seguro, y no hay errores relacionados con la seguridad de literal_eval en el rastreador de errores , por lo que probablemente pueda suponer que es seguro.

Además, de acuerdo con la fuente , literal_eval analiza la cadena a un AST python (árbol fuente), y solo regresa si es un literal. El código nunca se ejecuta, solo se analiza, por lo que no hay ninguna razón para ser un riesgo de seguridad.