首页 > 解决方案 > 在服务器上安全地执行不受信任的 python 代码

问题描述

我有一个服务器和一个前端,我想在前端从用户那里获取 python 代码并在后端安全地执行它。

我阅读了这篇文章,解释了每种方法的问题方面——例如 pypl 沙箱、docker 等。

我可以定义代码需要的输入和输出,并且可以将它们全部放在一个目录中,对我来说重要的是这段代码不能伤害我的文件系统,并创建磁盘、内存、cpu 溢出(我需要能够设置超时,并防止它访问不专门用于它的文件)

这里的最佳做法是什么?码头工人?Kubernetes?有没有一个python模块?

谢谢。

标签: pythonsecurityserveruser-inputsecure-coding

解决方案


您可以拥有一个带有卷挂载的 python docker 容器。卷挂载将是本地系统中代码的目录,这些代码也将在您的 docker 容器中可用。通过这样做,您可以在容器运行时仅将用户提供的代码隔离到容器中。使用 CIS 基准扫描您的 python 容器以获得更好的安全性


推荐阅读