Side by side
AFL++ vs cargo-fuzz
Both stand on fuzz testing software. Which one you can start free with, which one lets you read the code, and what each costs once you pay.
Free plan AndroidLinuxMac+2
AFL++ offers multiple instrumentation modes and target types, with free use under AGPL terms. Consider its hardware demands, macOS limitations, and license obligations before choosing a workflow.
Visit AFL++ Free plan LinuxMacWindows
cargo-fuzz provides Rust projects with commands for fuzz-target setup, execution, input minimization, and coverage. Check the compiler and platform requirements before using it.
Visit cargo-fuzzThe facts
| AFL++ | cargo-fuzz | |
|---|---|---|
| Free plan | Yes | Yes |
| Open source | Not published | Not published |
| Runs on | Android, Linux, Mac, Self-hosted, Windows | Linux, Mac, Windows |
| Lowest paid plan | Commercial license: €20,000 a year | Free or on request |
| Plans published | 2 | 1 |
| Maker | AFL++ | Not published |
| Website | github.com | github.com |
| On fuzz testing software | #2 of 26 | #6 of 26 |
AFL++: what it does well
- Supports source-available and binary-only targets.
- Documents fuzzing for network services and GUI programs.
- Docker image supports x86_64 and arm64.
- Coverage-guided mutation checks for new execution paths.
What to know first
- Fuzzing can consume substantial memory or disk.
- Some listed modes do not work on macOS.
- Linux installation recommends LLVM 18 or newer.
- Modified network services have AGPL source-offer obligations.
cargo-fuzz: what it does well
- Free and open source under MIT and Apache 2.0.
- Commands create projects, targets, and run fuzzing.
- Can minimize failing inputs and input corpora.
- Coverage information is available from version 0.10.0 onward.
- Documentation includes a GitHub Actions workflow.
What to know first
- Requires the nightly Rust compiler.
- Requires a C++ compiler with C++11 support.
- Coverage requires cargo-fuzz version 0.10.0 or newer.
Alternatives to AFL++ Alternatives to cargo-fuzz The whole list