libfuzzer

Automates C/C++ fuzzing with libFuzzer, including setup, compilation, and execution.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/monmacllcapp/skill-forks --skill libfuzzer-monmacllcapp
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: libfuzzer
Source: https://github.com/monmacllcapp/skill-forks/tree/main/skills/security/plugins/testing-handbook-skills/skills/libfuzzer
Command: npx skills add https://github.com/monmacllcapp/skill-forks --skill libfuzzer-monmacllcapp

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps developers find bugs and security vulnerabilities in C/C++ code by automatically generating diverse inputs to test program logic.

Core Features & Use Cases

  • Coverage-guided fuzzing: Efficiently explores code paths using LLVM's instrumentation.
  • Sanitizer integration: Detects memory errors (ASan) and undefined behavior (UBSan).
  • Use Case: A security engineer can use this Skill to fuzz a network parsing library, automatically discovering buffer overflows or use-after-free bugs that could be exploited.

Quick Start

Use the libfuzzer skill to compile and run a fuzzing campaign on the provided C++ source files, targeting the my_target_function.

Frequently Asked Questions about libfuzzer

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

FAQPage Schema
How do I find bugs and security vulnerabilities in C++ code using fuzzing?▼

Fuzzing finds bugs in C++ code by automatically generating diverse inputs to test program logic. This process uses coverage-guided fuzzing with LLVM instrumentation to efficiently explore code paths and discover vulnerabilities like buffer overflows.

How do I set up a fuzzing campaign with AddressSanitizer and UndefinedBehaviorSanitizer?▼

Setting up a fuzzing campaign with AddressSanitizer and UndefinedBehaviorSanitizer involves compiling C/C++ source files with LLVM instrumentation. This integration detects memory errors and undefined behavior during the automated generation of diverse test inputs.

What is coverage-guided fuzzing and when do I need it for C++ libraries?▼

Coverage-guided fuzzing is an in-process testing technique that uses LLVM instrumentation to efficiently explore code paths. You need it for C++ libraries to automatically discover bugs and security vulnerabilities by generating diverse inputs that trigger untested program logic.

Does libFuzzer work with LLVM for finding memory errors in C++ projects?▼

Yes, libFuzzer is an in-process, coverage-guided fuzzer integrated with LLVM. It works with LLVM instrumentation to find memory errors in C++ projects by facilitating the setup, compilation, and execution of targeted fuzzing campaigns.

How do I write a fuzzing harness and manage corpus for C/C++ bug finding?▼

Writing a fuzzing harness and managing corpus involves creating a target function and compiling it with LLVM instrumentation. This supports coverage analysis and enhances bug discovery by maintaining a set of diverse inputs that maximize code path exploration.

What are the limitations of using in-process fuzzing for C++ security testing?▼

In-process fuzzing limits C++ security testing by running the fuzzer within the target process, meaning severe memory errors like buffer overflows will crash the process. It requires writing specific harnesses and compiling with LLVM instrumentation to detect these vulnerabilities.