aflpp

Run multi-core AFL++ fuzzing campaigns on C/C++ projects with sanitizers.

Updated Feb 24, 2026
One-click install
npx skills add https://github.com/ofelixdev/cc-kit --skill aflpp-ofelixdev
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: aflpp
Source: https://github.com/ofelixdev/cc-kit/tree/main/template/skills/aflpp
Command: npx skills add https://github.com/ofelixdev/cc-kit --skill aflpp-ofelixdev

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides a robust solution for finding vulnerabilities in C/C++ codebases by leveraging the power of AFL++ for advanced, multi-core fuzz testing.

Core Features & Use Cases

  • Multi-core Fuzzing: Significantly speeds up bug discovery by utilizing multiple CPU cores.
  • Diverse Mutation Strategies: Employs a wide range of mutation techniques to explore code paths effectively.
  • Sanitizer Integration: Seamlessly integrates with AddressSanitizer (ASan) and UndefinedBehaviorSanitizer (UBSan) to detect memory errors and undefined behavior.
  • Use Case: Securely test a new network protocol implementation by running an AFL++ fuzzing campaign that targets potential buffer overflows and memory corruption bugs across all available CPU cores.

Quick Start

Use the aflpp skill to compile and run a fuzzing campaign on the provided C++ source files, targeting a libFuzzer harness.

Frequently Asked Questions about aflpp

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

FAQPage Schema
How do I run multi-core fuzzing for a C++ project to find memory corruption bugs?

Multi-core fuzzing for a C++ project is executed using AFL++ to run parallel campaigns across available CPU cores, enabling efficient vulnerability discovery through diverse mutation strategies. You compile the source and target a harness to find memory corruption bugs.

What is AFL++ fuzzing and how does it help with C/C++ vulnerability discovery?

AFL++ fuzzing is an advanced testing technique for C/C++ codebases that employs diverse mutation strategies to explore code paths, significantly speeding up vulnerability discovery and bug finding through parallel execution on multiple CPU cores.

Do I need Clang or GCC to compile C++ code for AFL++ fuzzing?

Yes, you need either Clang or GCC to compile C++ code for AFL++ fuzzing. The process requires compilation with these specific compilers to properly instrument the binaries for the parallel fuzzing campaigns and sanitizer integration.

Does AFL++ fuzzing integrate with AddressSanitizer and UBSan for C++ memory safety?

AFL++ fuzzing integrates seamlessly with AddressSanitizer (ASan) and UndefinedBehaviorSanitizer (UBSan) to detect memory errors and undefined behavior. This integration enhances C++ memory safety checks during the multi-core fuzz testing campaigns.

What is the best way to write a libFuzzer harness for AFL++?

The best way to write a libFuzzer harness for AFL++ is to follow the detailed guidance provided for harness writing and corpus management. This ensures your C++ source files are properly targeted for effective multi-core fuzzing and result analysis.