1
0
mirror of https://github.com/janet-lang/janet synced 2024-07-01 09:33:15 +00:00
janet/tools/afl/README.md

29 lines
855 B
Markdown
Raw Normal View History

2019-11-29 03:41:27 +00:00
# AFL Fuzzing scripts
To use these, you need to install afl (of course), and xterm. A tiling window manager helps manage
many concurrent fuzzer instances.
Note, afl sometimes requires system configuration, if you find AFL quitting prematurely, try manually
launching it and addressing any error messages.
2019-11-29 03:41:27 +00:00
## Fuzz the parser
```
$ sh ./tools/afl/prepare_to_fuzz.sh
$ export NFUZZ=1
2019-11-29 03:41:27 +00:00
$ sh ./tools/afl/fuzz.sh parser
Ctrl+C when done to close all fuzzer terminals.
$ sh ./tools/afl/aggregate_cases.sh parser
$ ls ./fuzz_out/parser_aggregated/
```
## Fuzz the unmarshaller
```
$ janet ./tools/afl/generate_unmarshal_testcases.janet
$ sh ./tools/afl/prepare_to_fuzz.sh
$ export NFUZZ=1
$ sh ./tools/afl/fuzz.sh unmarshal
Ctrl+C when done to close all fuzzer terminals.
$ sh ./tools/afl/aggregate_cases.sh unmarshal
$ ls ./fuzz_out/unmarshal_aggregated/
```