为不受信任的python cod创建安全环境

2024-05-12 18:22:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个应用程序,我们需要在其中执行不受信任的python代码。(即类似于作业提交服务器的应用程序,其中学生的输入不可信)

考虑到这一点,我的第一个想法是,通过禁用该语言的文件I/O功能(因此,将代码限制为仅使用stdin/stdout),程序不会对系统造成太大的危害。在

这是正确的,还是有我没有想到的攻击载体?在

是否有某种python标志或编译器选项可以传递来隔离代码?在


Tags: 文件代码程序功能服务器危害语言应用程序
2条回答

我不会使用任何python沙盒方法在您的机器上执行任意代码,因为安全专业人员已经多次演示了它们是如何逃逸的。 Escaping the python sandbox

我建议在docker容器中运行代码,让新用户具有受限权限。在

Hardening Linux Containers

最后,您可以尝试将python代码解析为AST,并深入到各个级别,以确保不存在危险的操作。在

我的选择是使用docker容器,最好是限制访问的Alpine版本。在

在docker容器中运行它们!在

与任何有关安全的事情一样,没有什么灵丹妙药。您的里程数可能会有所不同。在

相关问题 更多 >