为不受信任的 Python 代码创建安全环境

Sta*_*cer 0 python security sandbox execution

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

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

这是正确的,还是有我没有想到的攻击媒介?

我可以传递某种 python 标志或编译器选项来隔离代码吗?

Cha*_*dau 5

在 docker 容器中运行它们!

与任何有关安全的事情一样,没有灵丹妙药。你的旅费可能会改变。