[闲聊] pysandbox

楼主: fxfxxxfxx (爱丽丝)   2023-01-01 11:25:14
之前发现 DC 有机器人这个功能之后
我就在想,不知道能不能弄一个机器人是你打 python 的程式码
机器人回传执行的结果
显然这要做在沙箱里,不然太危险了
查了一下发现很久以前 (2012)
有人尝试单纯靠限制一些危险的 feature 来达成
不过最后失败了
https://github.com/vstinner/pysandbox
比较酷的是他寄信向大家宣布他这个 project 失败了
并且他认为是本质上的失败,没办法单纯靠限制 feature ,总是会有漏洞
https://lwn.net/Articles/574323/
他的结论是:在沙箱里面跑 python,而不是反过来
https://lwn.net/Articles/574215/
基本上整个过程就是不断重复
1. 发现安全漏洞
2. 修补漏洞
3. 为了修补漏洞而限缩能使用的功能 (例如禁止 globals, code 等等)
4. 变得更加不实用
最终连一些很简单的程式都写不出来而宣告失败
看这一整个发展过程还是挺有趣的

Links booklink

Contact Us: admin [ a t ] ucptt.com