performing-fuzzing-with-aflplusplus
$
npx mdskill add mukul975/Anthropic-Cybersecurity-Skills/performing-fuzzing-with-aflplusplusRun coverage-guided fuzzing to find binary vulnerabilities.
- Discovers memory corruption and crashes in compiled binaries.
- Integrates with afl-cc, afl-fuzz, and CASR for instrumentation.
- Executes parallel campaigns using MOpt and custom mutators.
- Delivers triaged crash reports via GDB scripts.
SKILL.md
.github/skills/performing-fuzzing-with-aflplusplusView on GitHub ↗
--- name: performing-fuzzing-with-aflplusplus description: > Perform coverage-guided fuzzing of compiled binaries using AFL++ (American Fuzzy Lop Plus Plus) to discover memory corruption, crashes, and security vulnerabilities. The tester instruments target binaries with afl-cc/afl-clang-fast, manages input corpora with afl-cmin and afl-tmin, runs parallel fuzzing campaigns with afl-fuzz, and triages crashes using CASR or GDB scripts. Activates for requests involving binary fuzzing, crash discovery, coverage-guided testing, or AFL++ fuzzing campaigns. domain: cybersecurity subdomain: application-security tags: [fuzzing, aflplusplus, coverage-guided, crash-triage, binary-analysis, security-testing] version: "1.0" author: mahipal license: Apache-2.0 --- # Performing 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 1. Instrument the target binary with `afl-cc` or `afl-clang-fast` 2. Prepare seed corpus directory with minimal valid inputs 3. Minimize corpus with `afl-cmin` to remove redundant seeds 4. Run `afl-fuzz` with appropriate flags (-i input -o output) 5. Monitor fuzzing progress via afl-whatsup and UI stats 6. Triage crashes with `afl-tmin` minimization and CASR/GDB analysis 7. 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 ```