我正在编写一个应用程序,我们需要执行不受信任的python代码。 (即类似于家庭作业提交服务器的应用程序,其中学生输入不受信任)
考虑一下,我的第一个……
我不会使用任何python沙盒方法在您的机器上执行任意代码,因为安全专业人员已经多次展示了它们如何可以逃避。 逃离python沙箱
我建议使用具有受限权限的新用户在docker容器中运行代码。
强化Linux容器
最后,您可以尝试将python代码解析为AST并向下调整级别以确保不存在危险操作。
我的选择是使用码头集装箱,最好是限制进入的阿尔卑斯山版本。
在docker容器中运行它们!
与任何有关安全的事情一样,没有银弹。你的旅费可能会改变。