libfuzzer

Automates vulnerability discovery in C/C++ apps via coverage-guided input mutation.

Updated Nov 23, 2025
One-click install
npx skills add https://github.com/manuelbrandner85/Weltenbibliothekapp --skill libfuzzer-manuelbrandner85
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: libfuzzer
Source: https://github.com/manuelbrandner85/Weltenbibliothekapp/tree/main/.agents/skills/libfuzzer
Command: npx skills add https://github.com/manuelbrandner85/Weltenbibliothekapp --skill libfuzzer-manuelbrandner85

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill addresses the difficulty of finding deep-seated memory corruption and logic bugs in C/C++ codebases by automating the generation of test inputs that maximize code coverage.

Core Features & Use Cases

  • Coverage-Guided Mutation: Automatically evolves input data to explore new code paths and trigger crashes.
  • Sanitizer Integration: Seamlessly works with AddressSanitizer and UndefinedBehaviorSanitizer to detect memory errors and undefined behavior.
  • Use Case: A developer maintaining a C++ image parsing library uses this skill to identify buffer overflows and heap corruption issues before they can be exploited by attackers.

Quick Start

Use the libfuzzer skill to compile your target source code with the necessary instrumentation flags and begin a fuzzing campaign against your defined corpus directory.

Frequently Asked Questions about libfuzzer

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

FAQPage Schema
How does coverage-guided fuzzing find memory corruption in C++ code?

Coverage-guided fuzzing finds memory corruption by automatically mutating input data to explore new code paths and trigger crashes in C++ applications. It evolves test inputs to maximize code coverage and expose deep-seated vulnerabilities.

How do I use fuzzing to detect undefined behavior and buffer overflows in C++?

To detect undefined behavior and buffer overflows, compile your C++ target source code with LLVM instrumentation flags and integrate sanitizers. This automates input generation to actively target and identify memory errors during the fuzzing campaign.

Does this fuzzing skill work with AddressSanitizer and UndefinedBehaviorSanitizer?

Yes, this fuzzing skill seamlessly integrates with AddressSanitizer and UndefinedBehaviorSanitizer. This integration enables precise detection of memory errors and undefined behavior while automatically evolving inputs to maximize code coverage.

What is the best way to automate security testing for C++ image parsing libraries?

The best way to automate security testing for C++ parsing libraries is coverage-guided fuzzing. It automatically generates test inputs to discover buffer overflows and heap corruption issues before attackers can exploit them.

Do I need LLVM instrumentation to run a fuzzing campaign against my source code?

Yes, LLVM-based instrumentation is required to run this fuzzing campaign. It enables the coverage tracking necessary for the fuzzer to automatically mutate inputs and effectively explore new execution paths in your C/C++ codebase.

Why should I use coverage-guided fuzzing instead of traditional testing for C++ security?

Coverage-guided fuzzing automates the discovery of deep-seated logic bugs and memory corruption that traditional testing misses. By continuously mutating inputs to maximize code coverage, it proactively identifies exploitable vulnerabilities in security-critical codebases.