What problem does it solve? Standard fuzzers like libFuzzer and AFL++ cannot handle custom mutation strategies, non-standard target architectures, or research-grade fuzzing techniques. This Skill guides you through using LibAFL, a modular Rust fuzzing library, to build fully customized fuzzers or use it as a drop-in libFuzzer replacement. ## Core Features & Use Cases - Drop-in libFuzzer Replacement: Reuse existing libFuzzer harnesses with LibAFL's compatibility runtime for long campaigns with fork mode and crash persistence. - Custom Fuzzer Construction: Assemble observers, feedback, mutators, schedulers, and executors as modular Rust components for full control over fuzzing behavior. - Advanced Campaign Features: Multi-core fuzzing, crash deduplication via backtrace hashing, dictionary and auto-token mutations, TUI monitoring, and performance tuning. - Use Case: You need to fuzz libpng with a PNG dictionary and deduplicate crashes by backtrace. Follow the worked example to build a compiler wrapper, link the harness, seed the corpus, and launch a multi-core campaign. ## Quick Start Ask the agent to set up LibAFL as a libFuzzer drop-in replacement and compile my existing harness.cc into a running fuzzer.