Skip to content
Skillpedia
Testing35k · #6070

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

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/performing-fuzzing-with-aflplusplus/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/performing-fuzzing-with-aflplusplus/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
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-aflplusplus

Or download just the file:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/performing-fuzzing-with-aflplusplus/SKILL.md -o SKILL.md
Technical 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

  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
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. '

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularity

GitHub stars
35k
Ranking position
#6070
License
Apache-2.0
Updated
8/31/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills