减少PHP插件恶意的可能性

Mat*_*att 4 php security wordpress plugins wordpress-plugin

我想知道你用什么步骤来保护下载的插件不被恶意?

例如,wordpress如何确保您下载的插件不会简单地执行 unlink('/')

我假设它部分取决于下载器安装插件以使用他或她自己的判断,但插件系统是否采取措施来最小化运行第三方插件的安全风险?

谢谢!马特穆勒

mat*_*sta 5

简单回答:你不能以编程方式执行此操作.根本无法做到.当然Wordpress有一个验证器来确定插件是否完全令人讨厌,但是没有办法确定它是安全的.

我今年夏天在Mozilla实习,我正在研究附加组件的验证器,因为它们已经提交给addons.mozilla.org.我只能想象Wordpress在他们的结尾有一个非常相似的工具.这个想法是应用程序完全拒绝公然的恶意代码(eval("evil nasty code");),而其余部分则通过一些简单的启发式方法进行分析.这些算法根据它在附加软件包中看到的内容来标记一些潜在的红色标记,并将这些注释提交给编辑,编辑然后查看代码.它实际上最终成为一个人为动力的过程,但该软件有助于处理大量繁重的工作.

Mozilla验证器使用的一些技术:

  • 语法检查
  • 代码和标记解析(HTML/CSS)以查找远程代码漏洞
  • Javascript解析和分析(将JS解析为AST树并分析每个语句,尽可能深地评估静态表达式)
  • 兼容性/弃用测试

你可以在这里查看代码:

http://github.com/mattbasta/amo-validator

希望这可以帮助!