Fuzzilli 项目常见问题解决方案
fuzzilli A JavaScript Engine Fuzzer 项目地址: https://gitcode.com/gh_mirrors/fu/fuzzilli
1. 项目基础介绍
Fuzzilli 是一个针对动态语言解释器的(覆盖率)引导型模糊测试工具,基于自定义的中间语言(FuzzIL),该语言可以被变异并翻译为 JavaScript。Fuzzilli 由 Google Project Zero 团队开发并维护,主要用于发现 JavaScript 引擎中的安全漏洞。
项目主要使用的编程语言是 Swift。
2. 新手常见问题及解决方案
问题一:如何下载和编译 Fuzzilli?
解决步骤:
-
克隆 Fuzzilli 仓库到本地:
git clone https://github.com/googleprojectzero/fuzzilli.git
-
进入项目目录:
cd fuzzilli
-
使用 Swift 编译器编译 Fuzzilli:
swift build [-c release]
-
运行 Fuzzilli:
swift run [-c release] FuzzilliCli --profile=<profile> [other cli options] /path/to/jsshell
问题二:如何运行 Fuzzilli?
解决步骤:
-
确保已经编译了 Fuzzilli。
-
准备一个支持的目标 JavaScript 引擎,并确保它已经应用了对应的补丁,并且编译时开启了覆盖率仪表。
-
运行 Fuzzilli 命令行工具,指定配置文件和目标 JavaScript 引擎路径:
swift run FuzzilliCli --profile=<profile> [other cli options] /path/to/jsshell
其中
<profile>
是模糊测试的配置文件,/path/to/jsshell
是目标 JavaScript 引擎的路径。
问题三:如何为 Fuzzilli 添加新的目标 JavaScript 引擎?
解决步骤:
-
在
Targets/
目录下创建一个新目录,用于存放目标引擎的补丁和配置文件。 -
添加必要的补丁以使 JavaScript 引擎能够与 Fuzzilli 一起工作。
-
添加一个配置文件,定义模糊测试的参数和规则。
-
修改
Targets/README.md
文件,添加对新目标引擎的说明。 -
确保所有补丁和配置文件正确无误,然后重新编译 Fuzzilli 和目标 JavaScript 引擎。
通过以上步骤,新手可以更容易地开始使用 Fuzzilli,并为其添加新的目标引擎。
fuzzilli A JavaScript Engine Fuzzer 项目地址: https://gitcode.com/gh_mirrors/fu/fuzzilli