在Python中,可以在不执行的情况下编译Python脚本(在C中使用py_compile
模块,Py_CompileString
。
很多内容都是关于试图打包CPython的问题(以及它有多难),但是,我有兴趣知道编译 CPython代码中是否存在已知的安全风险(不执行其内容)。
换句话说,运行时是否已知安全休息:
python -m py_compile file_from_unknown_source.py
在这种情况下,一个坏的演员可能能够在解析器或字节码生成器中找到漏洞,我的问题是关于这个以及是否有已知的漏洞来执行这样的任务,或者这通常被认为是安全的。< / p>
出于这个问题的目的,安全意味着:
pyc
)。简而言之,除了编译代码之外,不要执行任何,或者无法使用无效输入进行编译。
答案 0 :(得分:0)
不,这不安全。 CPython有很多已知的错误,导致堆栈溢出和其他恶劣的条件。 SIGSEGV应被视为可能被利用。