This Python 3 script that make use of the Rode0day API. It will automatically play in Rode0day competitions using AFL++ in qemu-mode with CompareCoverage level 2 enabled. The MOpt mutations scheduler is also enabled with pacemaker mode after 5 minutes. At the end of each competition, the script will load the next competition and switch to fuzzing those binaries.
Based on Andrew Fasano's SimpleCRS.
git clone --recursive https://github.com/andreafioraldi/AFLplusplus-crs.git
cd AFLplusplus-crs
sh build.sh
mkvirtualenv --python=$(which python3) aflpp_crs
pip install -r requirements.txt
- Save your API key provied at https://rode0day.mit.edu/profile into
api_token.txt
- Run with
./crs.py
- Get competition status
- Get competition files
- Run challenges with sample input
- Try to find bugs with afl in qemu mode
- Submit bug-triggering inputs
- Caching to minimize rate-limited requests
The fuzzer may need export QEMU_RESERVED_VA=0x1000000