← ClaudeAtlas

libafllisted

LibAFL is a modular fuzzing library for building custom fuzzers. Use for advanced fuzzing needs, custom mutators, or non-standard fuzzing targets.
kevinvwong/stack-agents · ★ 1 · AI & Automation · score 70
Install: claude install-skill kevinvwong/stack-agents
# LibAFL LibAFL is a modular fuzzing library that implements features from AFL-based fuzzers like AFL++. Unlike traditional fuzzers, LibAFL provides all functionality in a modular and customizable way as a Rust library. It can be used as a drop-in replacement for libFuzzer or as a library to build custom fuzzers from scratch. ## When to Use | Fuzzer | Best For | Complexity | |--------|----------|------------| | libFuzzer | Quick setup, single-threaded | Low | | AFL++ | Multi-core, general purpose | Medium | | LibAFL | Custom fuzzers, advanced features, research | High | **Choose LibAFL when:** - You need custom mutation strategies or feedback mechanisms - Standard fuzzers don't support your target architecture - You want to implement novel fuzzing techniques - You need fine-grained control over fuzzing components - You're conducting fuzzing research ## Quick Start LibAFL can be used as a drop-in replacement for libFuzzer with minimal setup: ```c++ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { // Call your code with fuzzer-provided data my_function(data, size); return 0; } ``` Build LibAFL's libFuzzer compatibility layer: ```bash git clone https://github.com/AFLplusplus/LibAFL cd LibAFL/libafl_libfuzzer_runtime ./build.sh ``` Compile and run: ```bash clang++ -DNO_MAIN -g -O2 -fsanitize=fuzzer-no-link libFuzzer.a harness.cc main.cc -o fuzz ./fuzz corpus/ ``` ## Installation ### Prerequisites - Clang/LLVM 15-18 - Rust (via rust