performing-fuzzing-with-aflplusplus
About performing-fuzzing-with-aflplusplus
This skill explains coverage-guided fuzzing of compiled binaries with AFL++. It is for security testers and covers instrumentation, corpus preparation, fuzzing, and crash triage.
Key features
- 01Instrument target programs
- 02Prepare and minimize seed corpora
- 03Mutate inputs to explore code paths
- 04Monitor coverage and fuzzing progress
- 05Minimize and analyze crashes
Use cases
- 01Test compiled programs with source code
- 02Fuzz binary-only targets through QEMU
- 03Find crashes and hangs in input parsers
- 04Prepare reproducible crash reports
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ mukul975/ anthropic-cybersecurity-skills --skill performing-fuzzing-with-aflplusplusAfter installing, type/performing-fuzzing-with-aflplusplusin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
LICENSEreferences/api-reference.mdscripts/agent.pyDetails
From the project READMEPerforming Fuzzing with AFL++
Overview
AFL++ is a community-maintained fork of American Fuzzy Lop (AFL) that provides coverage-guided fuzzing for compiled binaries. It instruments targets at compile time or via QEMU/Unicorn mode for binary-only fuzzing, then mutates input corpora to discover new code paths. AFL++ includes advanced scheduling (MOpt, rare), custom mutators, CMPLOG for input-to-state comparison solving, and persistent mode for high-throughput fuzzing.
When to Use
- When conducting security assessments that involve performing fuzzing with aflplusplus
- When following incident response procedures for related security events
- When performing scheduled security testing or auditing activities
- When validating security controls through hands-on testing
Prerequisites
- AFL++ installed (
apt install afl++or build from source) - Target binary source code (for compile-time instrumentation) or QEMU mode for binary-only
- Initial seed corpus of valid inputs for the target format
- Linux system with /proc/sys/kernel/core_pattern configured
Steps
- Instrument the target binary with
afl-ccorafl-clang-fast - Prepare seed corpus directory with minimal valid inputs
- Minimize corpus with
afl-cminto remove redundant seeds - Run
afl-fuzzwith appropriate flags (-i input -o output) - Monitor fuzzing progress via afl-whatsup and UI stats
- Triage crashes with
afl-tminminimization and CASR/GDB analysis - Report unique crashes with reproduction steps
Expected Output
+++ Findings +++
unique crashes: 12
unique hangs: 3
last crash: 00:02:15 ago
+++ Coverage +++
map density: 4.23% / 8.41%
paths found: 1847
exec speed: 2145/sec