JavaScript静态安全分析工具

  • A+
所属分类:JavaScript工具
如今,越来越多开发人开始将JavaScript作为其首选语言方案。理由很简单,JavaScript如今正越来越多地被视为应用程序的主流开发语言——无论是在Web层面抑或是移动端,客户端不是服务器端。JavaScript拥有出色的灵活性,而宽松的语句设计能够让开发人员以令人惊奇的速度创建出富应用。最近一段时间,JavaScript解释器的性能也得到了突飞猛进,从而几乎彻底消除了企业对其可扩展性与吞吐能力所抱持的疑问。总而言之,JavaScript如今已经成为一款极为重要且强大的语言,我们将其引入日常工作,从客户端Web应用编码到通过Node.js实现的服务器端开发,再到如今其已经能够支持的Windows 8等主流移动平台应用编写——甚至包括尚未正式推出的Firefox OS应用。

但问题在于,很多开发人员仍在采取某些安全性低下的实践举措,这将导致大量客户端攻击行为的出现——而其中最臭名昭著的当数DOM XSS攻击。我们曾努力了解这类问题的根源,并发现这是因为缺少充足的实践性工具帮助开发人员应对真实世界中的挑战。因此,为了率先找出问题的解决办法,我们在这里向大家推荐JSPrime:一款JavaScript静态分析工具。它极具轻量化特性,且只需点击操作即可轻松使用!这款静态分析工具基于来自Aria Hidayat的高人气Esprima ECMAScript解释器。

解释这款工具的几大突出特性:

  • JS库源与输出识别
  • 多数动态或者静态分析器皆在开发过程中支持原生/纯JavaScript代码,这种作法对于大多数开发人员都是种难以解决的问题,因为他们会大量使用jQuery以及YUI等JavaScript框架/库。由于这些扫描工具能够支持纯JavaScript代码,所以其往往无法理解开发工作的背景信息,这是因为使用这类库时会造成大量假阳性与假阴性误报。为了解决这一难题,我们已经为jQuery及YUI识别出了各类高危用户输入源与代码执行输出功能。从最初版本开始,我们就在认真考虑如何确保用户能够轻松将其扩展至其它框架。
  • 变量与函数追踪(这项功能作为我们代码流分析算法的组成部分)。
  • 变量与函数内容识别分析(这项功能作为我们代码流分析算法的组成部分)。
  • 已知过滤器功能识别。
  • 遵循面向对象程序与原型设计合规标准。
  • 最大程度降低误报机率。
  • 支持JavaScript代码精简。
  • 极高运行速度。
  • 只需点击即可操作。

未来将陆续推出的新特性:

  • 通过混合型分析自动实现代码反混淆与解压缩(由Ra.2实现,http://code.google.com/p/ra2-dom-xss-scanner)。
  • ECMAScript家族支持能力(包括ActionScript 3、Node.js以及WinJS)。

使用方式

Web客户

在浏览器中打开"index.html"。

服务器端(Node.JS)

1. 在终端中输入"node server.js"。

在浏览器内访问127.0.0.1:8888。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: