| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Advanced Fuzzing Library - Slot your own fuzzers together and extend their features using Rust.
LibAFL is a collection of reusable pieces of fuzzers, written in Rust, it gives you many of the benefits of an off-the-shelf fuzzer, while being completely customizable. Some highlight features currently include:
LibAFL is fast, multi-platform, no_std compatible, and scales over cores and machines. It offers a main crate that provide building blocks for custom fuzzers, libafl, a library containing common code that can be used for targets instrumentation, libafl_targets, and a library providing facilities to wrap compilers, libafl_cc. It offers integrations with popular instrumentation frameworks. At the moment, the supported backends are:
We highly recommend not to use e.g. your Linux distribution package as this is likely outdated. So rather install Rust directly, instructions can be found here.
The minimum supported Rust version is defined. You can always check the currently required version in LibAFL’s Cargo.toml:
If your installed Rust version is older than the one listed in Cargo.toml, update to the latest stable toolchain:
rustup update stablegit clone https://github.com/AFLplusplus/LibAFLcargo build --releasecargo doccd docs && mdbook serveWe collect all example fuzzers in ./fuzzers. Be sure to read their documentation (and source), this is the natural way to get started!
just runYou can run each example fuzzer with this following command, as long as the fuzzer directory has a Justfile file. The best-tested fuzzer is ./fuzzers/inprocess/libfuzzer_libpng, a multicore libfuzzer-like fuzzer using LibAFL for a libpng harness.
LibAFL is written and maintained by
Please check out CONTRIBUTING.md for the contributing guideline.
Your fuzzer doesn't work as expected? Try reading DEBUGGING.md to understand how to debug your problems.
If you use LibAFL for your academic work, please cite the following paper:
@inproceedings{libafl,
author = {Andrea Fioraldi and Dominik Maier and Dongjia Zhang and Davide Balzarotti},
title = {{LibAFL: A Framework to Build Modular and Reusable Fuzzers}},
booktitle = {Proceedings of the 29th ACM conference on Computer and communications security (CCS)},
series = {CCS '22},
year = {2022},
month = {November},
location = {Los Angeles, U.S.A.},
publisher = {ACM},
}| Back | FazBrowse Home | New Git URL |