什么是Javascript安全审核的最佳工具?

时间:2011-01-05 17:02:51

标签: javascript security audit

可以至少扫描一批.js文件以查找eval语句和其他可疑代码的东西。也许只是一个正则表达式模式会做到这一点,但我想找到一个更复杂(并定期维护)的工具。

4 个答案:

答案 0 :(得分:3)

旧主题但新工具: ScanJS,由mozilla开发,用于检查Firefox OS的安全性。 https://github.com/mozilla/scanjs

答案 1 :(得分:1)

你试过Douglas Crockford's JSLint吗?但是,虽然它不会扫描您的代码是否存在安全问题,但它会在“eval”语句中提醒您。 OTOH,Predrag Tomasevic写了一个可以与Visual Studio集成的JavaScript Verifier based on JSLint(详见here)。

答案 2 :(得分:1)

我不知道有任何开源工具可以对JavaScript进行静态分析。

除了非常简单,非常明显的错误之外,对eval()的grepping可能不会有任何帮助。分析脚本是否已被缩小或混淆将更加困难,因为您很难确定该参数是否被安全使用。

JavaScript中存在许多依赖于与DOM交互的安全问题。为eval()进行grepping可能会有效,但它会错过其他执行点,例如可能受到攻击的href或事件处理程序,例如: href = javascript:xss onFoo = xss 。你真的需要一个处理JavaScript和DOM的工具,而不仅仅是一个JavaScript控制台。

IBM / Watchfire最近发布了一篇关于他们创建的JavaScript analyzer的论文。该文件提供了结果而非实施的详细信息。商业工具可能不是您想要的方式,但该文件应该有助于更好地了解这样做的挑战。

答案 3 :(得分:0)

来自Facebook的这个工具看起来很有希望。

https://github.com/facebook/jsgrep