prog-fuzz icon indicating copy to clipboard operation
prog-fuzz copied to clipboard

Compiler/source code fuzzing tool using AFL instrumentation

Program fuzzer

Introduction

Very WIP/PoC code. Proceed with caution.

Many thanks to lcamtuf, the AFL people, John Regehr and the C-Reduce people, and the GCC people.

Usage

  1. Download AFL to the current directory.
  2. Build it.
  3. Build your compiler using afl-gcc.
  4. Change $AFL_PATH in make.sh if necessary.
  5. Look for execlp in main.cc and point it to your instrumented compiler.
  6. Run make.sh.
  7. Run ./main.

License

The project includes snippets from AFL (Apache 2.0) and gcc (GPL 3), therefore this project is naturally GPL 3 as well.

Reported bugs

GCC:

Clang: