标签: python security
我正在设计一个在服务器上运行用户提交的python脚本的系统。该脚本只能访问几个列入白名单的模块而不能访问任何其他模块。
安全地实现此类系统的一种方法是通过删除所有模块并覆盖“import”的基础机制来构建自定义python解释器,以便只导入选定的模块,如here所述。但是这种方法需要我做很多工作。
另一种方法是预处理脚本并检查是否存在关键字“import”和“eval”关键字。如果存在这些关键字,则不会运行脚本并且警报将会消失。但还有其他方法可以导入模块并进行恶意攻击吗?
答案 0 :(得分:2)
阅读此主题: Letting users upload Python scripts for execution