libfuzzer

Automate coverage-guided fuzzing of C/C++ code with libFuzzer and LLVM.

Updated Feb 26, 2026
One-click install
npx skills add https://github.com/keremtoker468-dotcom/restoran --skill libfuzzer-keremtoker468-dotcom
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: libfuzzer
Source: https://github.com/keremtoker468-dotcom/restoran/tree/main/.claude/skills/libfuzzer
Command: npx skills add https://github.com/keremtoker468-dotcom/restoran --skill libfuzzer-keremtoker468-dotcom

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps developers automatically discover bugs and security vulnerabilities in C/C++ code by intelligently generating diverse test inputs.

Core Features & Use Cases

  • Coverage-guided fuzzing: Efficiently explores code paths using LLVM's instrumentation.
  • Bug detection: Identifies crashes, memory errors (with ASan), and undefined behavior (with UBSan).
  • Use Case: A developer can use this Skill to fuzz a parsing library for a custom file format, quickly finding edge cases that might lead to crashes or security exploits.

Quick Start

Use the libfuzzer skill to fuzz the provided C++ code by compiling it with clang and running the fuzzer executable.

Frequently Asked Questions about libfuzzer

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

FAQPage Schema
How do I find bugs in C++ code using coverage-guided fuzzing?

Coverage-guided fuzzing finds bugs in C++ code by using LLVM's instrumentation to intelligently generate diverse test inputs and explore code paths. This process automates the discovery of crashes and security vulnerabilities.

How do I set up a fuzzing harness for LLVM to test my C++ library?

To set up fuzzing for a C++ library, you must write a fuzzing harness implementing the LLVMFuzzerTestOneInput function. This harness guides the in-process fuzzer by feeding it data to automatically discover edge cases.

Does libFuzzer work with GCC or do I need Clang for C++ bug detection?

libFuzzer requires Clang for C++ bug detection. It is an in-process, coverage-guided fuzzer integrated directly with LLVM, making it suitable specifically for projects compiled with Clang.

What types of memory errors can I detect with LLVM fuzzing in C++?

LLVM fuzzing detects memory errors and undefined behavior in C++ code when combined with AddressSanitizer (ASan) and UndefinedBehaviorSanitizer (UBSan). It efficiently identifies crashes and security vulnerabilities.

What is the best way to automate finding security vulnerabilities in C++ parsing libraries?

The best way to automate finding security vulnerabilities in C++ parsing libraries is coverage-guided fuzzing. It intelligently generates diverse test inputs to quickly find edge cases that might lead to crashes or exploits.