A toy Python fuzzer made for COMP6841 Extended Security Engineering and Cyber Security.
Implements a simplified version of the American Fuzzy Lop (AFL) algorithm.
In short, poke the test program and see what happens by generating random inputs and observe coverage.
- ✅ Coverage based fuzzing
- ✅ Local search and evolutionary randomization
- ⬜️ Real concurrency
- ⬜️ Adaptive computation
- ⬜️ Fuzz report
- Download the project.
- Install dependencies listed in
requirements.txt. - Run
pip install -e .at the project root to install the project as an editable package in pip. - Run any
fuzz.pyin the demo folder. Or use it to fuzz your own (see instructions in afl_fuzz/afl/README.md).
See:
Some code in afl_fuzz/afl are stolen from the AFL repository.
This is a toy project, not meant for production use. Performance is not our first priority and there are lots of bugs in the project. Use at your own risk.