Python 3,ast.literal_eval(node_or_string) 中是否有任何已知的安全漏洞?

标签 python python-3.x security abstract-syntax-tree

ast.literal_eval(node_or_string) 有什么已知的方法吗?的评估实际上并不安全?

如果是,是否有可用的补丁?

(我已经知道 PyPy[sandbox],它可能更安全,但除非答案是肯定的,否则我的需求很小,我不会走那么远。)

最佳答案

documentation声明它是安全的,并且在 bug tracker 中没有与 literal_eval 的安全性相关的错误。 ,所以你可以假设它是安全的。

另外,according to the source ,literal_eval 将字符串解析为python AST(源树),并且仅当它是文字时才返回。代码永远不会被执行,只会被解析,因此没有理由存在安全风险。

关于Python 3,ast.literal_eval(node_or_string) 中是否有任何已知的安全漏洞?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4710247/

相关文章:

python - 如何在 Flask 中引用多个模型?

python - 在 Tensorflow 中实现 Keras 模型时出现的问题

python - 仅在 UNIX 系统上读取文件时出现 UnicodeDecodeError

python - 多处理:类型错误: 'int' 对象不可迭代

php - 在php中检测TCP session 的MSS大小

python - 根据另一个字典对列表进行排序

python - 温度转换

python del vs pandas drop

php - 如何防止 PHP 中的 SQL 注入(inject)?

c# - 如何检测目标域的虚假可信个人/根 SSL 证书