blob: 3eabb7abe0649f1c850d7c1468ce592db38d7afa (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
Fuzzing infrastructure for low level code used by vis
-----------------------------------------------------
This directory contains some simple command line applications
which expose core library interfaces through the standard I/O
streams. They are intended to be used as test drivers for
fuzzers like [AFL](http://lcamtuf.coredump.cx/afl/).
Run one of the `make afl-fuzz-*` targets to start fuzzing a
specific instrumented binary using `afl-fuzz(1)`. By default
it will try to resume a previous fuzzing session, before
starting a new one if that fails.
The following files are used:
* `$APP-fuzzer.c` application exposing a simple text interface
* `fuzzer.h` common code used among different fuzzing drivers
* `./input/$APP/` intial test input, one file per test
* `./dictionaries/$APP.dict` a dictionary with valid syntax tokens
* `./results/$APP/` the fuzzing results are stored here
See the AFL documentation for further information.
In the future we might also use [libFuzzer](http://llvm.org/docs/LibFuzzer.html)
for further fuzzing.
Quick start example:
$ make afl-fuzz-text
|