aeondave/malskill/libfuzzer

Claude Code and agent skill by aeondave/malskill

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Auth/lab ref: In-process, coverage-guided fuzzing engine integrated with Clang/LLVM. For fast unit-level fuzz targets, parser hardening, sanitizer-first bug discovery, and corpus-driven regression loops in C/C++ code.

Install

npx vskill@latest install aeondave/malskill/libfuzzer

SKILL.md

libfuzzer

LLVM-native in-process fuzzer using LLVMFuzzerTestOneInput entrypoints.

Quick Start

bash
# Minimal target
# extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
# Build with libFuzzer + ASAN
clang++ -g -O1 -fsanitize=fuzzer,address fuzz_target.cc -o fuzz_target
# Run
./fuzz_target corpus/

Operator Flow

  1. Build a narrow, deterministic LLVMFuzzerTestOneInput harness.
  2. Add ASAN/UBSAN first; add MSAN when dependency hygiene allows.
  3. Seed with small valid/invalid corpus.
  4. Run long enough to stabilize coverage features, then merge/minimize corpus.
  5. Keep crashing artifacts as regression tests.

Key Practice

  • Keep fuzz target deterministic, fast, and side-effect-light.
  • Prefer narrow targets per format/API instead of one giant dispatcher.
  • Seed with small valid+invalid samples; then minimize via -merge=1.

Useful Flags

FlagPurpose
-runs=NBounded runs
-max_total_time=NTime budget
-dict=fileToken dictionary
-jobs / -workersParallel campaigns
-fork=NCrash/OOM/timeout-resistant subprocess mode
-use_value_profile=1Stronger cmp-guided search
-merge=1Corpus minimization/merge

Practical Tricks

  • Use FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION to disable fuzz-hostile randomness/checksums in harness builds.
  • Return -1 for intentionally rejected inputs to reduce corpus pollution.
  • Use -artifact_prefix / fixed artifact paths in CI pipelines for predictable collection.
  • For very large corpora, use resumable merge workflows.

Common Pitfalls

  • Original authors shifted major innovation to Centipede; libFuzzer remains supported for bug fixes.
  • Excellent fit for CI regression with saved crash artifacts.
  • Non-deterministic harness behavior causes corpus bloat and noisy triage.
  • Overly broad max lengths can waste cycles on low-value regions.
  • Neglecting sanitizers in in-process mode delays detection of latent memory issues.

Resources

  • https://llvm.org/docs/LibFuzzer.html
  • https://clang.llvm.org/docs/SanitizerCoverage.html
  • https://google.github.io/oss-fuzz/

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
22
Repository forks
1
7-day trend score
21

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/aeondave/malskill/libfuzzer/badge)](https://verified-skill.com/skills/aeondave/malskill/libfuzzer)

Something wrong with this skill or its page? Tell us.