我希望找到一个可以扫描一批.js文件并查找eval语句和其他可疑代码的工具。也许只需要一个正则表达式模式就可以了,但我想找一个更复杂(并且定期维护)的工具。
我希望找到一个可以扫描一批.js文件并查找eval语句和其他可疑代码的工具。也许只需要一个正则表达式模式就可以了,但我想找一个更复杂(并且定期维护)的工具。
ScanJS是一种新工具,它由Mozilla开发用于检查Firefox OS的安全性。
https://github.com/mozilla/scanjs我不知道有哪些开源工具可以静态分析JavaScript。
使用grep查找eval()可能仅对非常简单、非常明显的错误没有帮助。如果脚本已经被压缩或混淆,分析将更加困难,因为你很难确定参数是否安全地被使用。
JavaScript中存在许多依赖于与DOM交互的安全问题。使用grep查找eval()可能有效,但它会忽略其他执行点,如href或事件处理程序,这些也可能受到攻击,例如 href=javascript:xss 或 onFoo=xss。你真正需要的是一款能够处理JavaScript和DOM的工具,而不只是一个JavaScript控制台。
IBM/Watchfire最近发布了一篇关于他们开发的JavaScript分析器的论文。该论文提供了结果详细信息而非实现细节。商业工具可能不是你想要的方式,但该论文应该有助于更好地了解如何做好这项工作所面临的挑战。