限制/沙盒Python程序的最佳方式是什么
如何将Python程序限制为只能访问一个网站并打印到stdout
?
我使用pyseccomp
来限制程序可以进行的系统调用列表,但在网上发现的文档很少,为了使程序正常工作,我不得不将32个系统调用列入白名单(包括限制为只读的不受限制的write()
和openat()
((但我不知道有什么方法可以将其限制为特定路径(。
seccomp
是用于此目的的正确工具吗?也就是说,它是最安全的,但开销很小(例如,不能添加几秒钟、数百MB的RAM,或者不能用pip3安装的库(。有没有更好的工具可以让Python只读取库,而不读取其他文件?
我的程序使用pandas.read_html
来解析网站上的表,然后我有一个函数在将数据打印到stdout
之前对其进行净化(使用re.match(...)
过滤掉任何与RegEx不匹配的条目(。它将始终在Linux上运行。
您尝试安装此模块
pip install pyseccomp
import pyseccomp