什么是用于Javascript安全审计的最佳工具?

15

我希望找到一个可以扫描一批.js文件并查找eval语句和其他可疑代码的工具。也许只需要一个正则表达式模式就可以了,但我想找一个更复杂(并且定期维护)的工具。


1
为什么不去尝试一下http://security.stackexchange.com/呢? - AviD
1
现在还有安全SE?天啊,人们该如何跟上这个节奏。 - Anders
4个回答

3

请知悉:自2015年7月起,ScanJS已被废弃。 - johnnywhoop
是的,正如在 Github 上提到的那样,新项目位于 https://github.com/mozfreddyb/eslint-config-scanjs。 - maggick

1
你尝试过Douglas Crockford's JSLint吗?虽然它不能扫描你的代码中的安全问题,但是它可以警告你关于"eval"语句。另一方面,Predrag Tomasevic编写了一个基于JSLint的JavaScript验证器,可以与Visual Studio集成(在这里阅读更多信息here)。

1

我不知道有哪些开源工具可以静态分析JavaScript。

使用grep查找eval()可能仅对非常简单、非常明显的错误没有帮助。如果脚本已经被压缩或混淆,分析将更加困难,因为你很难确定参数是否安全地被使用。

JavaScript中存在许多依赖于与DOM交互的安全问题。使用grep查找eval()可能有效,但它会忽略其他执行点,如href或事件处理程序,这些也可能受到攻击,例如 href=javascript:xssonFoo=xss。你真正需要的是一款能够处理JavaScript和DOM的工具,而不只是一个JavaScript控制台。

IBM/Watchfire最近发布了一篇关于他们开发的JavaScript分析器的论文。该论文提供了结果详细信息而非实现细节。商业工具可能不是你想要的方式,但该论文应该有助于更好地了解如何做好这项工作所面临的挑战。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接