Awesome
cargo-libafl
This repository is outdated. It is superseded by libafl_libfuzzer!
This cargo utility is a replacement for (and a fork of) cargo-fuzz to use a LibAFL-based fuzzer instead of libfuzzer.
The available features are still behind the original cargo-fuzz.
Install
You need a nightly compiler to use cargo-libafl.
cargo install -f cargo-libafl
Use
cargo libafl --help
Custom Runtimes
If you need to use a custom runtime for your target, e.g. when using custom mutators, define an environmental variable CUSTOM_LIBAFL_RUNTIME
to the target/release folder of your runtime. Note that your runtime should match the name (cargo-libafl-runtime
) and the flags of the original runtime. To do this effectively, you should copy the cargo-libafl-runtime
folder and modify it to your needs.