A Rust library for fuzzing Rust code with AFLplusplus to find security and stability issues.
afl.rs is a Rust library that enables fuzz testing of Rust code using AFLplusplus, a modern fuzzing tool. It helps developers find security vulnerabilities, crashes, and stability issues by generating pseudo-random inputs to test software robustness. The library integrates AFLplusplus's features like CMPLOG and IJON annotations to improve code coverage and fuzzing effectiveness.
Rust developers and security engineers who need to perform fuzz testing on Rust applications, libraries, or systems to uncover hidden bugs and security flaws.
Developers choose afl.rs because it brings the powerful, coverage-guided fuzzing capabilities of AFLplusplus directly to Rust, with seamless Cargo integration and support for advanced features like IJON annotations, making it a robust tool for improving software security and stability.
🐇 Fuzzing Rust code with American Fuzzy Lop
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Leverages AFLplusplus, a modern fuzzing engine, for effective coverage-guided testing and crash detection, as highlighted in the documentation.
Integrates with Cargo via `cargo-afl` for easy building and fuzzing, simplifying setup for Rust projects.
Includes CMPLOG feature by default to improve code coverage during fuzzing campaigns, as noted in the README.
Supports IJON annotations through Rust macros like `ijon_max` to direct fuzzer exploration, demonstrated in the maze example.
Requires sudo for `cargo afl system-config` to optimize performance, which can be restrictive in locked-down or CI environments.
CMPLOG is not beneficial for more than two fuzzing instances, complicating parallel fuzzing setups as advised in the hints.
Demands familiarity with AFLplusplus features and system configuration, adding complexity beyond basic fuzzing.