fuzzing-course

Teaches coverage-guided fuzzing methodology with AFL++, libFuzzer, FuzzTest, and Honggfuzz.

Updated Jun 26, 2026
One-click install
npx skills add https://github.com/brukal001/brukal --skill fuzzing-course-brukal001
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: fuzzing-course
Source: https://github.com/brukal001/brukal/tree/main/skills/claude-red/fuzzing/offensive-fuzzing-course
Command: npx skills add https://github.com/brukal001/brukal --skill fuzzing-course-brukal001

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Learning to find memory corruption vulnerabilities through fuzzing requires structured guidance across many tools, harness strategies, and triage workflows that are otherwise scattered across books, docs, and blog posts. ## Core Features & Use Cases - Structured fuzzing curriculum: A multi-day course covering target selection, corpus generation, coverage-guided fuzzing with AFL++, in-process fuzzing with Google FuzzTest, and Honggfuzz. - Hands-on labs with real targets: Exercises fuzz real software such as GStreamer, libWebP, dlib, and OpenSSL, with sanitizers (ASan/UBSan) enabled to surface memory corruption. - Crash triage and deduplication: Covers afl-tmin minimization, casr-afl clustering, and exploitability analysis of fuzzer output. - Use Case: A security student sets up an AFL++ campaign against an image parser, minimizes the seed corpus with afl-cmin, runs parallel master/slave instances, and triages the resulting ASan crashes to identify an exploitable heap overflow. ## Quick Start Walk me through setting up an AFL++ fuzzing campaign with AddressSanitizer against a C image parser, including seed corpus creation and crash triage.

Frequently Asked Questions about fuzzing-course

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

FAQPage Schema
How do I set up AFL++ to fuzz a C program?▼

Install LLVM and build AFL++ from source, then compile the target with afl-clang-fast and sanitizers enabled. Create a seed corpus, set the core pattern with echo core, and run afl-fuzz with -i for seeds and -o for output.

What is the difference between AFL++ and Google FuzzTest?▼

AFL++ fuzzes whole programs or binaries via file inputs and works well for black-box targets. FuzzTest is an in-process, unit-test-style framework that fuzzes individual C++ functions alongside GoogleTest, ideal when you have source code for libraries and parsers.

How do I triage and deduplicate AFL++ crashes?▼

Minimize a crashing input with afl-tmin while preserving the crash, then cluster and deduplicate crashes using casr-afl from the CASR tools against the AFL++ output directory. Analyze unique stack traces with GDB and GEF.

Why does my fuzzer find no crashes on a real target?▼

Real targets often require hours or days of fuzzing before crashes appear. Improve results by using a minimized corpus of valid inputs, enabling ASan and UBSan, running parallel master/slave instances, and targeting older versions with known vulnerable code paths.

Does seed corpus quality affect fuzzing results?▼

Yes, valid structured seeds let the fuzzer reach deep parsing logic instead of failing early validation. Use afl-cmin to remove redundant files and afl-tmin to shrink individual seeds while preserving coverage.