是否可以在不使用“import”或“eval”的情况下在python中导入模块?

时间:2011-06-25 07:42:02

标签: python security

我正在设计一个在服务器上运行用户提交的python脚本的系统。该脚本只能访问几个列入白名单的模块而不能访问任何其他模块。

安全地实现此类系统的一种方法是通过删除所有模块并覆盖“import”的基础机制来构建自定义python解释器,以便只导入选定的模块,如here所述。但是这种方法需要我做很多工作。

另一种方法是预处理脚本并检查是否存在关键字“import”和“eval”关键字。如果存在这些关键字,则不会运行脚本并且警报将会消失。但还有其他方法可以导入模块并进行恶意攻击吗?

1 个答案:

答案 0 :(得分:2)