You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+9-3Lines changed: 9 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,13 @@ This is the repository for project "Foxhound", a Firefox fork capable of trackin
6
6
7
7
Taint tracking makes it possible to automatically detect client-side cross-site-scripting flaws in websites by marking certain attacker-controlled strings (e.g. `location.hash`) as tainted and notifying the user when tainted data reaches a set of predefined sinks (e.g. `eval()`, `.innerHTML`, ...).
8
8
9
-
Foxhound has been successfully used for a wide range of academic studies (e.g., the [publications](https://github.com/SAP/project-foxhound/wiki/Publications) listed in the Wiki) as well as for security testing in industrial use cases.
9
+
:trophy: Foxhound has been rated the **best tool** for [Dynamic Security Analysis of JavaScript](https://www.dais.unive.it/~calzavara/papers/www25.pdf) by independent researchers! In their study, Foxhound **outperformed 17 other tools** in all of the categories considered, namely *compatibility* (95%), *transparency* (97%), *coverage* (94%) and *performance* (1.4x). To quote the paper:
10
+
11
+
>
12
+
> The only effective solution given the current state of the art is Project Foxhound.
13
+
>
14
+
15
+
In addition, Foxhound has been successfully used for a wide range of academic studies (e.g., the [publications](https://github.com/SAP/project-foxhound/wiki/Publications) listed in the Wiki) as well as for security testing in industrial use cases.
10
16
11
17
## Usage
12
18
@@ -114,8 +120,8 @@ The JavaScript public API (jsapi.h) has been extended to support access to taint
114
120
`JS_ReportTaintSink` which takes care of reporting a flow of tainted data into a predefined sink.
115
121
In this case a message will be written to stdout and a custom JavaScript Event will be triggered that can then be processed by a Firefox extension.
116
122
117
-
All code related to taint tracking has been marked with a `// TaintFox` comment, making it easy to search for modifications in the source code.
118
-
Finding the `location.hash` taint source becomes as easy as `git grep -n TaintFox | grep location.hash`.
123
+
All code related to taint tracking has been marked with a `// Foxhound` comment, making it easy to search for modifications in the source code.
124
+
Finding the `location.hash` taint source becomes as easy as `git grep -n Foxhound | grep location.hash`.
119
125
120
126
Taint information is available in JavaScript via the `.taint` property of string instances:
0 commit comments