<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.mozilla.org/index.php?action=history&amp;feed=atom&amp;title=Security%2FB2G%2FJavaScript_code_analysis</id>
	<title>Security/B2G/JavaScript code analysis - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.mozilla.org/index.php?action=history&amp;feed=atom&amp;title=Security%2FB2G%2FJavaScript_code_analysis"/>
	<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Security/B2G/JavaScript_code_analysis&amp;action=history"/>
	<updated>2026-09-17T08:31:38Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.10</generator>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Security/B2G/JavaScript_code_analysis&amp;diff=968182&amp;oldid=prev</id>
		<title>Defreez: /* Links to check out */</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Security/B2G/JavaScript_code_analysis&amp;diff=968182&amp;oldid=prev"/>
		<updated>2014-04-23T20:56:13Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Links to check out&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:56, 23 April 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l48&quot;&gt;Line 48:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 48:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [ ] https://developers.google.com/closure/ (useful JS analysis by compiler)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [ ] https://developers.google.com/closure/ (useful JS analysis by compiler)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [ ] http://www.brics.dk/TAJS/&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [ ] http://www.brics.dk/TAJS/&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [ ] https://github.com/SRA-SiliconValley/jalangi&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [ ] https://github.com/SRA-SiliconValley/jalangi &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(concolic testing tool out of Berkeley, framework for building dyn. analysis tools via record/replay)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= Projects =&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= Projects =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Defreez</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Security/B2G/JavaScript_code_analysis&amp;diff=968180&amp;oldid=prev</id>
		<title>Defreez: /* Links to check out */</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Security/B2G/JavaScript_code_analysis&amp;diff=968180&amp;oldid=prev"/>
		<updated>2014-04-23T20:54:42Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Links to check out&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:54, 23 April 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l48&quot;&gt;Line 48:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 48:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [ ] https://developers.google.com/closure/ (useful JS analysis by compiler)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [ ] https://developers.google.com/closure/ (useful JS analysis by compiler)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [ ] http://www.brics.dk/TAJS/&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [ ] http://www.brics.dk/TAJS/&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [ ] https://github.com/SRA-SiliconValley/jalangi&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= Projects =&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= Projects =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Defreez</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Security/B2G/JavaScript_code_analysis&amp;diff=962326&amp;oldid=prev</id>
		<title>Defreez: /* Links to check out */</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Security/B2G/JavaScript_code_analysis&amp;diff=962326&amp;oldid=prev"/>
		<updated>2014-04-08T22:28:39Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Links to check out&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:28, 8 April 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l47&quot;&gt;Line 47:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 47:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [ ] https://github.com/substack/node-burrito&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [ ] https://github.com/substack/node-burrito&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [ ] https://developers.google.com/closure/ (useful JS analysis by compiler)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [ ] https://developers.google.com/closure/ (useful JS analysis by compiler)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [ ] http://www.brics.dk/TAJS/&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= Projects =&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= Projects =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== DOM XSS Scanner ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== DOM XSS Scanner ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Defreez</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Security/B2G/JavaScript_code_analysis&amp;diff=702623&amp;oldid=prev</id>
		<title>Cruetten: new</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Security/B2G/JavaScript_code_analysis&amp;diff=702623&amp;oldid=prev"/>
		<updated>2013-09-03T17:27:01Z</updated>

		<summary type="html">&lt;p&gt;new&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Objective =&lt;br /&gt;
The purpose of this document is to collect JavaScript code analysis tools suitable for including in coming Mozilla projects or for internal use.&lt;br /&gt;
= Criteria list =&lt;br /&gt;
Each tool is evaluated by a set of criteria chosen to provide a quick overview of the tool&amp;#039;s capabilities and opportunities for integration into existing environments.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Homepage                 || &lt;br /&gt;
|-&lt;br /&gt;
| Code                     || &lt;br /&gt;
|-&lt;br /&gt;
| Target user group        || &lt;br /&gt;
|-&lt;br /&gt;
| Analysis type            || &lt;br /&gt;
|-&lt;br /&gt;
| Programming language     || &lt;br /&gt;
|-&lt;br /&gt;
| License                  || &lt;br /&gt;
|-&lt;br /&gt;
| Operating system         || &lt;br /&gt;
|-&lt;br /&gt;
| Current version          || &lt;br /&gt;
|-&lt;br /&gt;
| Interface                || &lt;br /&gt;
|-&lt;br /&gt;
| Output                   || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Links to check out =&lt;br /&gt;
* [X] https://air.mozilla.org/static-analysis/&lt;br /&gt;
* [X] http://cf.cs.ucsb.edu/static/ (timeout)&lt;br /&gt;
* [X] http://jscert.org/tools.html&lt;br /&gt;
* [X] http://www.jswebtools.org/&lt;br /&gt;
* [X] http://doctorjs.org/ (broken)&lt;br /&gt;
* [X] http://www.checkmarx.com/technology/application-security-testing/&lt;br /&gt;
* [X] https://github.com/chrisallenlane/watchtower&lt;br /&gt;
* [X] http://research.microsoft.com/en-us/projects/nozzle/&lt;br /&gt;
* [X] [http://www.youtube.com/watch?v=ACYZFkvq0Sk Javascript Code Analysis with Esprima]&lt;br /&gt;
* [X] http://jscomplexity.org&lt;br /&gt;
* [X] [http://www-cs-students.stanford.edu/~ataly/Papers/sp11.pdf Automated Analysis of Security-Critical JavaScript APIs (PDF)]&lt;br /&gt;
* [X] [http://www.slideshare.net/nishantdp/jsprime-bhusa13new JavaScript Static Security Analysis made easy with JSPrime (slideshare)]&lt;br /&gt;
* [X] [http://www.slideshare.net/null0x00/secure-java-scriptfordevelopers Secure JavaScript for developers (slideshare)]&lt;br /&gt;
* [X] https://github.com/brownplt&lt;br /&gt;
* [X] http://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis&lt;br /&gt;
* [ ] [http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en//pubs/archive/37199.pdf Automated Analysis of Security-Critical JavaScript APIs (PDF)]&lt;br /&gt;
* [ ] https://github.com/mishoo/UglifyJS&lt;br /&gt;
* [ ] https://github.com/substack/node-falafel&lt;br /&gt;
* [ ] https://github.com/substack/node-burrito&lt;br /&gt;
* [ ] https://developers.google.com/closure/ (useful JS analysis by compiler)&lt;br /&gt;
= Projects =&lt;br /&gt;
== DOM XSS Scanner ==&lt;br /&gt;
=== Summary ===&lt;br /&gt;
DOM XSS Scanner is an online tool for scanning web pages and JavaScript code for potential DOM based XSS security vulnerabilities.&lt;br /&gt;
=== Criteria ===&lt;br /&gt;
{|&lt;br /&gt;
| Homepage             || http://www.domxssscanner.com/info/about&lt;br /&gt;
|-&lt;br /&gt;
| Code                 || https://github.com/yaph/domxssscanner&lt;br /&gt;
|-&lt;br /&gt;
| Target user group    || pentesters, reviewers, developers&lt;br /&gt;
|-&lt;br /&gt;
| Analysis type        || static&lt;br /&gt;
|-&lt;br /&gt;
| Programming language || Python 2.7 / Django,  JavaScript&lt;br /&gt;
|-&lt;br /&gt;
| License              || none&lt;br /&gt;
|-&lt;br /&gt;
| Operating system     || any&lt;br /&gt;
|-&lt;br /&gt;
| Current version      || (2013-02-12)&lt;br /&gt;
|-&lt;br /&gt;
| Interface            || Web browser&lt;br /&gt;
|-&lt;br /&gt;
| Output               || html&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Applications ===&lt;br /&gt;
=== Links ===&lt;br /&gt;
== Esprima ==&lt;br /&gt;
=== Summary ===&lt;br /&gt;
ECMAScript parsing infrastructure for multipurpose analysis&lt;br /&gt;
=== Criteria ===&lt;br /&gt;
{|&lt;br /&gt;
| Homepage             || http://esprima.org&lt;br /&gt;
|-&lt;br /&gt;
| Code                 || https://github.com/ariya/esprima&lt;br /&gt;
|-&lt;br /&gt;
| Target user group    || Developers, tool writers&lt;br /&gt;
|-&lt;br /&gt;
| Analysis type        || static AST&lt;br /&gt;
|-&lt;br /&gt;
| Programming language || JavaScript&lt;br /&gt;
|-&lt;br /&gt;
| License              || BSD&lt;br /&gt;
|-&lt;br /&gt;
| Operating system     || any&lt;br /&gt;
|-&lt;br /&gt;
| Current version      || 1.0.3 (2013-05-17)&lt;br /&gt;
|-&lt;br /&gt;
| Interface            || node.js, rhino, js&lt;br /&gt;
|-&lt;br /&gt;
| Output              || &lt;br /&gt;
|}&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Full support for ECMAScript 5.1 (ECMA-262)&lt;br /&gt;
* Sensible syntax tree format, compatible with Mozilla Parser AST&lt;br /&gt;
* Optional tracking of syntax node location (index-based and line-column)&lt;br /&gt;
* Heavily tested (&amp;gt; 600 tests with solid statement and branch coverage)&lt;br /&gt;
* Experimental support for ES6/Harmony (module, class, destructuring, ...)&lt;br /&gt;
=== Applications ===&lt;br /&gt;
* keyword / statement histogram&lt;br /&gt;
* identifier length distribution&lt;br /&gt;
* boolean logic checking&lt;br /&gt;
* variable scope / pollution checking&lt;br /&gt;
* complexity checking&lt;br /&gt;
* statement coverage&lt;br /&gt;
=== Links ===&lt;br /&gt;
* [http://www.youtube.com/watch?v%3DACYZFkvq0Sk Javascript Code Analysis with Esprima (YouTube)]&lt;br /&gt;
== JSCert ==&lt;br /&gt;
=== Summary ===&lt;br /&gt;
The JSCert project aims to really understand JavaScript. We are building models of ECMAScript semantics in the Coq proof assistant, and automated logical reasoning tools built on those semantics.&lt;br /&gt;
=== Criteria ===&lt;br /&gt;
{|&lt;br /&gt;
| Homepage             || http://jscert.org/&lt;br /&gt;
|-&lt;br /&gt;
| Code                 || &lt;br /&gt;
|-&lt;br /&gt;
| Target user group    || researchers&lt;br /&gt;
|-&lt;br /&gt;
| Analysis type        || static semantic modelling&lt;br /&gt;
|-&lt;br /&gt;
| Programming language || Coq&lt;br /&gt;
|-&lt;br /&gt;
| License              || &lt;br /&gt;
|-&lt;br /&gt;
| Operating system     || &lt;br /&gt;
|-&lt;br /&gt;
| Current version      || WIP&lt;br /&gt;
|-&lt;br /&gt;
| Interface            || Command line interface&lt;br /&gt;
|-&lt;br /&gt;
| Output               || XML&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Applications ===&lt;br /&gt;
=== Links ===&lt;br /&gt;
* [http://www.doc.ic.ac.uk/~gds/TowardsProgramLogicJavaScriptPOPL2012.pdf Towards a Program Logic for JavaScript (PDF)]&lt;br /&gt;
* http://jscert.org/publications.html&lt;br /&gt;
== jsgrep ==&lt;br /&gt;
=== Summary ===&lt;br /&gt;
grep for the AST&lt;br /&gt;
=== Criteria ===&lt;br /&gt;
{|&lt;br /&gt;
| Homepage             || https://github.com/facebook/jsgrep&lt;br /&gt;
|-&lt;br /&gt;
| Code                 || https://github.com/facebook/jsgrep&lt;br /&gt;
|-&lt;br /&gt;
| Target user group    ||&lt;br /&gt;
|- &lt;br /&gt;
| Analysis type        || static AST&lt;br /&gt;
|-&lt;br /&gt;
| Programming language || node.js&lt;br /&gt;
|-&lt;br /&gt;
| License              || Apache License 2.0&lt;br /&gt;
|-&lt;br /&gt;
| Operating system     || any&lt;br /&gt;
|-&lt;br /&gt;
| Current version      || (2012-04-23)&lt;br /&gt;
|-&lt;br /&gt;
| Interface            || comman line interface&lt;br /&gt;
|-&lt;br /&gt;
| Output               || stdout, grep-style&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Applications ===&lt;br /&gt;
=== Links ===&lt;br /&gt;
== JShint ==&lt;br /&gt;
=== Summary ===&lt;br /&gt;
JSHint is a community-driven tool to detect errors and potential problems in JavaScript code and to enforce your team&amp;#039;s coding conventions. It is very flexible so you can easily adjust it to your particular coding guidelines and the environment you expect your code to execute in.&lt;br /&gt;
=== Criteria ===&lt;br /&gt;
{|&lt;br /&gt;
| Homepage             || http://www.jshint.com&lt;br /&gt;
|-&lt;br /&gt;
| Code                 || https://github.com/jshint/jshint/&lt;br /&gt;
|-&lt;br /&gt;
| Target user group    || Developers&lt;br /&gt;
|-&lt;br /&gt;
| Analysis type        || static AST&lt;br /&gt;
|-&lt;br /&gt;
| Programming language || JavaScript&lt;br /&gt;
|-&lt;br /&gt;
| License              || MIT variant&lt;br /&gt;
|-&lt;br /&gt;
| Operating system     || any&lt;br /&gt;
|-&lt;br /&gt;
| Current version      || 2.1.10 (2013-08-15)&lt;br /&gt;
|-&lt;br /&gt;
| Interface            || node.js, rhino, js&lt;br /&gt;
|-&lt;br /&gt;
| Output               || jslint, checkstyle XML&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Applications ===&lt;br /&gt;
=== Links ===&lt;br /&gt;
== JSPrime ==&lt;br /&gt;
=== Summary ===&lt;br /&gt;
JSPrime is a light-weight JavaScript source code scanner for identifying security issues using static analysis, built on Esprima.&lt;br /&gt;
=== Criteria ===&lt;br /&gt;
{|&lt;br /&gt;
| Homepage             || http://www.jsprime.org&lt;br /&gt;
|-&lt;br /&gt;
| Code                 || https://github.com/dpnishant/jsprime&lt;br /&gt;
|-&lt;br /&gt;
| Target user group    || developers, reviewers, pentesting&lt;br /&gt;
|-&lt;br /&gt;
| Analysis type        || static AST&lt;br /&gt;
|-&lt;br /&gt;
| Programming language || JavaScript&lt;br /&gt;
|-&lt;br /&gt;
| License              || MIT&lt;br /&gt;
|-&lt;br /&gt;
| Operating system     || any&lt;br /&gt;
|-&lt;br /&gt;
| Current version      || (2013-08-08)&lt;br /&gt;
|-&lt;br /&gt;
| Interface            || node.js, js&lt;br /&gt;
|-&lt;br /&gt;
| Output               || html report&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Variable &amp;amp; function tracing (part of JSPrime code flow analysis algorithm)&lt;br /&gt;
* Variable &amp;amp; function scope-aware analysis (part of JSPrime code flow analysis algorithm)&lt;br /&gt;
* Known filter function aware&lt;br /&gt;
* OOP &amp;amp; protoype compliant&lt;br /&gt;
* Minimum false positive alerts&lt;br /&gt;
* Supports minified javascript&lt;br /&gt;
* Blazing fast performance&lt;br /&gt;
* Point and click&lt;br /&gt;
* Upcoming features:&lt;br /&gt;
** Automatic code de-obfuscation &amp;amp; decompression through Hybrid Analysis ([http://code.google.com/p/ra2-dom-xss-scanner link])&lt;br /&gt;
** ECMAScript family support (ActionScript 3, Node.JS, WinJS)&lt;br /&gt;
* Limitations&lt;br /&gt;
** It can&amp;#039;t learn sinks and sources automatically&lt;br /&gt;
** It can&amp;#039;t handle obfuscation&lt;br /&gt;
** It can&amp;#039;t handle minified JS, requires beautification&lt;br /&gt;
** It can&amp;#039;t analyse dynamically-generated code (using eval et al.)&lt;br /&gt;
=== Applications ===&lt;br /&gt;
=== Links ===&lt;br /&gt;
* [https://media.blackhat.com/us-13/US-13-Patnaik-Javascript-Static-Security-Analysis-made-easy-with-JSPrime-Slides.pdf JavaScript Static Security Analysis made easy with JSPrime (PDF)] &lt;br /&gt;
== JSWebTools ==&lt;br /&gt;
=== Summary ===&lt;br /&gt;
Over the past several years, we&amp;#039;ve developed semantics foundations for JavaScript, built tools atop these foundations, and applied these tools to Web security problems. We&amp;#039;ve recently started tackling other Web technologies as well. All our work is open source.&lt;br /&gt;
=== Criteria ===&lt;br /&gt;
{|&lt;br /&gt;
| Homepage             || http://www.jswebtools.org/&lt;br /&gt;
|-&lt;br /&gt;
| Code                 || https://github.com/brownplt/&lt;br /&gt;
|-&lt;br /&gt;
| Target user group    || security researchers&lt;br /&gt;
|-&lt;br /&gt;
| Analysis type        || static semantic modelling&lt;br /&gt;
|-&lt;br /&gt;
| Programming language || ML, Haskell, Coq, PLT, probably more&lt;br /&gt;
|-&lt;br /&gt;
| License              || BSD&lt;br /&gt;
|-&lt;br /&gt;
| Operating system     || any&lt;br /&gt;
|-&lt;br /&gt;
| Current version      || WIP&lt;br /&gt;
|-&lt;br /&gt;
| Interface            || Command line interface&lt;br /&gt;
|-&lt;br /&gt;
| Output               || ? (need to run)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Applications ===&lt;br /&gt;
* jQuery-types :: a typechecker for jQuery client programs&lt;br /&gt;
* ADsafety :: verifying language-based Web sandboxes&lt;br /&gt;
* Static Analysis for Intrusion Detection :: finding attacks on AJAX-based applications&lt;br /&gt;
* Flapjax :: a language and library for reactive web applications&lt;br /&gt;
=== Links ===&lt;br /&gt;
* http://www.jswebtools.org/papers/&lt;br /&gt;
* [http://www.youtube.com/watch?v%3DPd7Fra8vPok Project overview on YouTube] &lt;br /&gt;
== ScanJS ==&lt;br /&gt;
=== Summary ===&lt;br /&gt;
Static analysis tool for javascript codebases. Scanjs uses Esprima to convert sources to AST, then walks AST looking for patterns. It works on both client and server side.&lt;br /&gt;
=== Criteria ===&lt;br /&gt;
{|&lt;br /&gt;
| Homepage             || https://github.com/freddyb/scanjs&lt;br /&gt;
|-&lt;br /&gt;
| Code                 || https://github.com/freddyb/scanjs&lt;br /&gt;
|-&lt;br /&gt;
| Target user group    || reviewers&lt;br /&gt;
|-&lt;br /&gt;
| Analysis type        || static&lt;br /&gt;
|-&lt;br /&gt;
| Programming language || node.js / js&lt;br /&gt;
|-&lt;br /&gt;
| License              || MPL&lt;br /&gt;
|-&lt;br /&gt;
| Operating system     || any&lt;br /&gt;
|-&lt;br /&gt;
| Current version      || (2013-08-05)&lt;br /&gt;
|-&lt;br /&gt;
| Interface            || command line interface&lt;br /&gt;
|-&lt;br /&gt;
| Output               || html&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Applications ===&lt;br /&gt;
=== Links ===&lt;br /&gt;
== Watchtower ==&lt;br /&gt;
=== Summary ===&lt;br /&gt;
Static Code Analysis tool designed to assist in code reviews. It offers a robust alternative to grep for finding matches on literal and regex-based strings within a project.&lt;br /&gt;
=== Criteria ===&lt;br /&gt;
{|&lt;br /&gt;
| Homepage             || https://github.com/chrisallenlane/watchtower&lt;br /&gt;
|-&lt;br /&gt;
| Code                 || https://github.com/chrisallenlane/watchtower&lt;br /&gt;
|-&lt;br /&gt;
| Target user group    || reviewers&lt;br /&gt;
|-&lt;br /&gt;
| Analysis type        || static&lt;br /&gt;
|-&lt;br /&gt;
| Programming language || Ruby&lt;br /&gt;
|-&lt;br /&gt;
| License              || GPLv3&lt;br /&gt;
|-&lt;br /&gt;
| Operating system     || any&lt;br /&gt;
|-&lt;br /&gt;
| Current version      || 1.4.8 (2013-09-02)&lt;br /&gt;
|-&lt;br /&gt;
| Interface            || command line interface&lt;br /&gt;
|-&lt;br /&gt;
| Output               || html, csv, xml, txt&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Applications ===&lt;br /&gt;
=== Links ===&lt;/div&gt;</summary>
		<author><name>Cruetten</name></author>
	</entry>
</feed>