blob: c8448ef138631147ac66a0ab1ea33b10f191585f [file] [log] [blame] [view]
# Fuzzilli x Chrome
This experimental driver integrates Fuzzilli with Chrome for fuzz testing. It
is currently under active development, so some functionalities may not behave
as expected.
# How to use this driver?
## Pre-requisite
To use this driver, your fuzzer must:
- Take JS as input.
- Return `-1` from the fuzzing function if JS throws an exception. Return `0`
otherwise.
You must also build [Fuzzilli](https://github.com/googleprojectzero/fuzzilli).
See Fuzzilli documentation.
## Mandatory compile flags
Ensure the following build flags are enabled when compiling Chrome:
```
dcheck_always_on = false
is_asan = true
use_fuzzilli = true
use_remoteexec=true
symbol_level=2
v8_fuzzilli = true
v8_static_library = true
v8_dcheck_always_on = true
```
## Running with Fuzzilli
```
swift run -c release FuzzilliCli --storagePath=/path/to/tmp/storage --profile=your_profile --jobs=1 /out/fuzzilli/your_fuzzer
```