Jsprime——一款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。

作者:蓝雨泪

来源:51CTO

时间: 2024-12-23 05:58:27

Jsprime——一款JavaScript静态安全分析工具的相关文章

静态代码分析工具Klocwork发新版本

为了让开发团队在其代码中提升安全问题和漏洞的发现,Rogue Wave发布了新的安全报告功能,新的Java检查器,CERT分类法的更新等静态代码分析工具. Klocwork 2017.1是Rogue Wave发布的最新版本,并引入了一个新的内置图形安全报告,能够总结前三大漏洞,以及发生这些问题的热点. 据介绍,这些报告的初衷是将项目状态报告纳入管理层或其他业务相关部门.团队可以根据最受欢迎的安全规则创建安全报告,包括CWE Top 25,CERT-C,DISA-STIG等. 每个报告提供了前三大

Infer —— Facebook 开源静态代码分析工具

Infer 是 Facebook 最新开源的静态程序分析工具,用于在发布移动应用之前对代码进行分析,找出潜在的问题.目前 Facebook 使用该工具来分析 Facebook 的 App,包括 Android .iOS.Facebook Messenger 和 Instagram 等等. 文章转载自 开源中国社区 [http://www.oschina.net]

JavaScript静态类型检查工具FLOW简介_基础知识

Flow是Facebook出品的,针对JavaScript的静态类型检查工具.其代码托管在github之上,并遵守BSD开源协议. 关于Flow 它可以帮助我们捕获JavaScript开发中的常见错误,而不需要额外地修改你原有的代码,比如静态类型转换,空值引用等问题. 同时,Flow为JavaScript添加了静态类型的语法标识,这样开发者便可以明确代码中的类型,让其自动地被Flow所维护. 目前,Flow具有以下两特性: 1. Flow的类型检查具有可选性 除非你明确告诉Flow需要对某些文件

五款免费的安全分析工具

移动和云计算的采用扩大了现代企业的安全边界,许多企业在更深入地了解其IT基础设施,以监控恶意活动或软件.这些潮流带来了越来越多有待评估的威胁数据.想把这些数据转化成有意义的情报,就需要不仅限于传统安全信息和事件管理(SIEM)功能的工具,以便整合和分析不同类型的数据(包括结构化数据和非结构化数据). 分析威胁数据可能是一笔不小的开支,对中小企业来说尤为如此.除了软件许可费外,还面临硬件.人员和培训等方面的成本.不过下面几个免费工具可以助你一臂之力. 思科的OpenSOC 思科系统公司的高级服务经

APKAnalyser —— Android 静态虚拟分析工具

APKAnalyser 是 Android 静态,虚拟分析工具,用来测试和验证 Android 应用的开发工作.ApkAnalyser 是个完整的工具链,可以修改二进制应用.用户可以改装,安装,运行,验证 logcat 的结果.ApkAnalyser 同时支持资源分析,可以解码 XML,查找资源指向和检测应用潜在问题. ApkAnalyser 是个独立的 J2SE 应用,遵循 Apache 开源协议,完全使用 Java 编写. 文章转载自 开源中国社区 [http://www.oschina.n

面向产品经理的十款最佳分析工具

产品管理岗位一直被视为一类对知识水平要求较高的业务角色,但事实上它还接近于一整套特定技能组合,旨在帮助产品经理处理一切可能导致产品推广遭遇阻碍的难题及挑战.产品经理的任务在于服务客户并听取他们的见解及需求,同时关注任何与未来发展相关的重要因素.在大多数情况下,产品经理都需要承担起相当繁重的任务与职责.产品经理肩负自身所管理的产品,因此可以在一定程度上被视为小范围内的CEO角色.时至今日,要想成为一名出色的产品管理者,我们需要在控制水平与员工舒适度之间找到理想的平衡点--而这显然相当困难. 作为一

指针-java静态代码检查工具

问题描述 java静态代码检查工具 推荐一款java静态代码检查的工具,可以java nullpointer exception静态检查,可以实现检查是否有抛空指针异常的可能性,便于解决代码中更多空指针异常的问题 解决方案 FindBugs,这个可以检查很多,并且根据异常的等级区分开来. 解决方案二: 去这里 http://java-source.net/open-source/code-analyzers 选择 解决方案三: http://stackoverflow.com/questions

静态代码检查工具 FindBugs

使用 FindBugs的原因和方法   静态分析工具承诺无需开发人员费劲就能找出代码中已有的缺陷.当然,如果有多年的编写经验,就会知道这些承诺并不是一定能兑现.尽管如此,好的静态分析工具仍然是工具箱中的无价之宝.在这个由两部分组成的系列文章的第一部分中,高级软件工程师 Chris Grindstaff 分析了 FindBugs如何帮助提高代码质量以及排除隐含的缺陷. 代码质量工具的一个问题是它们容易为开发人员提供大量但并非真正问题的问题--即伪问题(false positives).出现伪问题时

MySQL数据库慢日志分析工具mysqlsla使用教程

mysqlsla是hackmysql.com推出的一款mysql的日志分析工具,功能非常强大. 数据报表,非常有利于分析慢查询的原因, 包括执行频率, 数据量, 查询消耗等. 一.使用 mysqlsla -lt slow mysql-slow.log 或者 mysqlsla -lt slow mysql-slow.log -sf "+SELECT" -db dbName -top 10 -sort t_sum 参数意义 lt:表示日志类型,有slow, general, binary,