【发布时间】:2013-07-01 12:19:09
【问题描述】:
假设我用register_eval=False 和attribute_filter 创建了LuaRuntime,它可以防止访问除一些python 函数之外的任何东西。假设 lua 代码无法执行 os.system("rm -rf *") 或类似的事情是否安全?
【问题讨论】:
-
使用所有 I/O 库和其他您希望禁止删除的内容编译自定义 Lua 可能更安全。即使这样,DOS 攻击也很容易(只需编写一个无限循环)。
-
@delnan 好点,我目前的计划是生成一个单独的进程并使用
resource模块来限制 CPU 和 RAM 的使用 -
一般来说,只有当你的生活完全、积极地依赖它时,才执行不受信任的代码。就像,有些人拿着枪对着年头和/或对着你所爱的人的头,威胁说如果你不这样做就开枪。假设 any 沙箱可以被打破(是的,DoS 更容易)。谷歌浏览器有突破。任何虚拟机都有突破。