gpt4 book ai didi

python - 解析不受信任代码的抽象语法树是否安全?

转载 作者:行者123 更新时间:2023-11-28 20:07:07 24 4
gpt4 key购买 nike

可以使用 ast 吗?模块以编程方式解析和修改不受信任的外部 Python 代码?

我只会解析源代码,从源代码中获取一些信息(文档字符串、函数定义,也许,我不知道)并将其留在那里,而不是编译或运行它。

最佳答案

如果您使用的是 ast.parse 函数,那么它应该是安全的。如文档所述,此功能将

Parse the source into an AST node. Equivalent to compile(source, filename, mode, ast.PyCF_ONLY_AST)

它简单地解析文件,即使它包含无效的 Python 代码。它不进行任何类型的评估。

如果你的目标是评估表达式,那么你可以使用 ast.literal_eval,它比内置的 eval 语句更安全

关于python - 解析不受信任代码的抽象语法树是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18948042/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com