Souce and data
password(sofi1234)
password(sofi1234)
To be fair, all tools are compared with the SAME seed corpus(js-vuln-db) , which is a part of DIE corpus(https://github.com/sslab-gatech/DIE-corpus). And js-vuln-db is the vulnerability set that could ensure fairness for DIE.
Why do we use js-vul-db for comparison?
js-vul-db is a collection of vulnerabilities collected by hackers, which is fairer for DIE.
The collection is small. If the seed collection is too large:
CodeAlchemist and DIE take a long time for pre-processes which is unfair for comparison.
Similarly, from the initial coverage shown in the DIE paper, it also uses a small collection.
We use the seeds(web link) collected by ourselves to conduct long-time fuzzing tests. Our seed corpus contains important seeds from DIE(including js-vuln-db and Test262). What's more, other seeds are from a large number of web pages.
We record some analysis results (including type analysis, reflection analysis and so on) during the fuzzing.
Modified CodeAlchemist(source code link) to record all generated test cases. The generated test cases are located in the gendir directory, which can be configured in the configuration file.
Modified Superion(source code link) to record all generated test cases. The generated test cases are located in the corpus directory under the AFL work directory.
Modified DIE(source code link) to record all generated test cases. The generated test cases are located in the corpus directory under the AFL work directory.
This is the core code of SoFi . When I have time, I will add documents. After I fully test the js engines, I will release the complete code.