performing-fuzzing-with-aflplusplus
Helps your agent test programs by looking for security flaws. It sends random data to the program and observes if it crashes or behaves strangely. It's useful for finding bugs and vulnerabilities in software.
What it does
This tool helps find flaws in computer programs. It tests the program with many different inputs to see if it breaks or behaves unexpectedly, specifically looking for security issues.
When to use it
- ✓When testing a program's security.
- ✓When looking for bugs that could be exploited by attackers.
- ✓When checking if a program works correctly under stress.
Example of what to ask your AI
“Find bugs in my program 'my_app' using AFL++.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
The tool modifies the program to track which parts of it are executed. It then creates many variations of input data and feeds them to the program, watching for where it fails. If it finds a problem, it tries to isolate it so it can be fixed.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill performing-fuzzing-with-aflplusplusOr download just the file:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/performing-fuzzing-with-aflplusplus/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
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
- 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
FAQ
What is 'fuzzing'?
Fuzzing is a software testing technique that involves providing invalid, unexpected, or random data to a program to find bugs, such as crashes or memory leaks.
What is AFL++?
AFL++ is a popular tool that automates the fuzzing process, making it easier and more efficient to find problems in programs.
Do I need to know how to program to use this?
While the tool itself is technical, the goal is for you to be able to use it to test programs without needing to write the testing code from scratch. You will need some familiarity with the command line and the program you are testing.
Details
Original description by the author
Performs coverage-guided fuzzing of compiled binaries with AFL++, instrumenting targets via afl-cc/afl-clang-fast, minimizing corpora with afl-cmin and afl-tmin, running parallel campaigns with afl-fuzz, and triaging crashes with CASR or GDB scripts. Use for binary fuzzing, crash and memory-corruption discovery, coverage-guided testing, or running AFL++ fuzzing campaigns. '
Popularity
- GitHub stars
- 35k
- Ranking position
- #6070
- License
- Apache-2.0
- Updated
- 8/31/2026
Comments
- …
More skills from this repository
abusing-dpapi-for-credential-access
Gives your AI agent ready-made instructions for a specific task, so it does it better and faster.
mukul975/Anthropic-Cybersecurity-Skills
abusing-shadow-credentials-for-privesc
Teaches your AI agent to write clear, well-structured text.
mukul975/Anthropic-Cybersecurity-Skills
achieving-cmmc-level-2-compliance
Helps your agent prepare an environment for CMMC Level 2 compliance. It implements security requirements and manages necessary documentation.
mukul975/Anthropic-Cybersecurity-Skills
acquiring-disk-image-with-dd-and-dcfldd
Helps your agent create exact copies of hard drives. This is useful for ensuring no information is lost or altered during investigations.
mukul975/Anthropic-Cybersecurity-Skills
Similar skills
cpp-testing
Makes your agent write and improve tests for C++ code. It helps set up testing tools and fix errors.
affaan-m/ECC
csharp-testing
Helps your agent create tests for C# and .NET code. It uses best practices to ensure tests are efficient and reliable.
affaan-m/ECC
django-tdd
Enables your agent to apply testing strategies for Django with pytest-django and TDD. It's useful for writing robust tests and ensuring code quality, especially for DRF APIs.
affaan-m/ECC