我是一个流行论坛的成员,该论坛主要是分享/销售 Lua 脚本,有些是开源的,有些不是。
我想知道是否有一种自动方法来识别某个 Lua 脚本是否包含恶意代码,例如: os.execute('format C:') 或任何 os.execute 命令。
因为,即使我们要求用户向版主提供其脚本的开源副本,我们如何确定它是否相同?或者他更改了脚本的链接。
提前致谢。
请您参考如下方法:
运行sandbox内的脚本并且只允许执行安全命令。例如,禁用 os.execute
。请参阅Lua SandBoxes有关 Lua 特定详细信息的 wiki 页面。
如果您需要允许类似 os.execute
的调用,但需要过滤掉一些调用,那么可能没有太多机会根据代码审查来确保其安全。如果代码包含类似 os.execute('for'..'mat C'..string.char(58))
的内容怎么办? ?如果不执行一些代码,您甚至无法检测到它是“格式 C:”。