fuzzing-dictionary

Create fuzzing dictionaries with quoted strings and hex escapes for libFuzzer, AFL++, and cargo-fuzz.

Updated Mar 27, 2026
One-click install
npx skills add https://github.com/erenisiklar/Pusula --skill fuzzing-dictionary-erenisiklar
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: fuzzing-dictionary
Source: https://github.com/erenisiklar/Pusula/tree/main/.claude/skills/fuzzing-dictionary
Command: npx skills add https://github.com/erenisiklar/Pusula --skill fuzzing-dictionary-erenisiklar

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Fuzzing dictionaries help fuzzers reach deeper code paths by injecting domain-specific tokens, keywords, and binary values instead of random mutations.

Core Features & Use Cases

  • Create dictionaries containing quoted strings, hex escapes, and token injections for parsers, protocols, and file formats.
  • Use with libFuzzer, AFL++, and cargo-fuzz to improve coverage by steering inputs toward critical paths.
  • Use Case: When fuzzing a JSON parser, include keywords like true, false, null, and common field names to explore validation branches.

Quick Start

Create a dictionary file containing domain-specific tokens for the target you are fuzzing to guide the fuzzer.

Frequently Asked Questions about fuzzing-dictionary

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

FAQPage Schema
How do I create a fuzzing dictionary to improve coverage for a parser?

To create a fuzzing dictionary, format domain-specific tokens using quoted strings and hex escapes for non-printable bytes to steer fuzzers toward critical code paths in parsers and protocols.

How do I format non-printable bytes in a libFuzzer dictionary file?

Dictionary formatting for libFuzzer requires representing non-printable bytes using hex escapes alongside quoted strings for standard domain-specific tokens to ensure valid input generation.

Does cargo-fuzz support custom fuzzing dictionaries for Rust projects?

Yes, cargo-fuzz supports custom fuzzing dictionaries. You provide structured dictionary files containing domain-specific tokens to guide the fuzzer toward meaningful inputs and improve target coverage.

Why is my fuzzer not reaching deep validation branches when testing a JSON parser?

Your fuzzer may lack domain context. Providing a fuzzing dictionary with keywords like true, false, and null steers input mutations toward specific validation branches instead of random noise.

Can I use the same fuzzing dictionary with AFL++ and libFuzzer?

Yes, structured dictionary files containing quoted strings and hex escapes are applicable across fuzzers like AFL++, libFuzzer, and cargo-fuzz to guide targeted token injection and improve coverage.