File: README.md

package info (click to toggle)
vis 0.8-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 12,388 kB
  • sloc: ansic: 22,372; sh: 950; makefile: 356; python: 47
file content (30 lines) | stat: -rw-r--r-- 1,101 bytes parent folder | download | duplicates (4)
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