aflpp

Configure and run multi-core AFL++ fuzzing campaigns for C/C++ projects.

1|Updated Jan 31, 2026
One-click install
npx skills add https://github.com/allanninal/claude-code-skills --skill aflpp-allanninal
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: aflpp
Source: https://github.com/allanninal/claude-code-skills/tree/main/skills/aflpp
Command: npx skills add https://github.com/allanninal/claude-code-skills --skill aflpp-allanninal

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill helps you efficiently find bugs and vulnerabilities in C/C++ projects by leveraging AFL++, a powerful and versatile fuzzer known for its multi-core capabilities and advanced features.

Core Features & Use Cases

  • Multi-Core Fuzzing: Maximize fuzzing throughput by utilizing multiple CPU cores.
  • Diverse Mutation Strategies: Employ a wide range of mutation techniques to explore the input space effectively.
  • Sanitizer Integration: Seamlessly integrate with AddressSanitizer (ASan) and UndefinedBehaviorSanitizer (UBSan) to detect memory corruption and undefined behavior bugs.
  • Use Case: You have a critical C library that processes network packets. Use this Skill to set up a large-scale fuzzing campaign across all your available cores to uncover potential buffer overflows or logic errors before they are exploited.

Quick Start

Use the aflpp skill to set up and run a multi-core fuzzing campaign on your C++ project using the provided harness.cc and main.cc files, saving results to the 'out' directory.

Frequently Asked Questions about aflpp

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up multi-core fuzzing for a C++ project to find vulnerabilities?

Multi-core fuzzing for C++ projects is set up by configuring AFL++ to utilize multiple CPU cores, running a provided harness to execute diverse mutation strategies and save crash results to an output directory.

What is AFL++ fuzzing and how does it discover bugs in C/C++ code?

AFL++ fuzzing discovers bugs in C/C++ code by generating diverse, malformed inputs to explore the input space, triggering memory corruption and undefined behavior that are then caught by integrated sanitizers like ASan and UBSan.

Can I use AddressSanitizer and UBSan with AFL++ during fuzzing?

Yes, you can integrate AddressSanitizer (ASan) and UndefinedBehaviorSanitizer (UBSan) with AFL++ fuzzing to automatically detect memory corruption and undefined behavior bugs during the mutation process.

Does AFL++ fuzzing support LTO, LLVM, and GCC compilation modes for C/C++ projects?

AFL++ fuzzing supports various compilation modes including LTO, LLVM, and GCC, allowing you to instrument C/C++ projects effectively across different build configurations to maximize bug discovery.

What is the best way to write a fuzzing harness and manage the corpus in C++?

The best way to manage a fuzzing corpus and write harnesses in C++ is to follow AFL++ guidance, which provides strategies for creating effective test harnesses and maintaining input corpora to maximize vulnerability detection.