fuzzing-dictionary

Generate domain-specific fuzzing dictionaries with quoted strings and hex escapes.

Updated Jan 17, 2026
One-click install
npx skills add https://github.com/mejango/juicy-vision --skill fuzzing-dictionary-mejango
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: fuzzing-dictionary
Source: https://github.com/mejango/juicy-vision/tree/main/.claude/plugins/testing-handbook-skills/skills/fuzzing-dictionary
Command: npx skills add https://github.com/mejango/juicy-vision --skill fuzzing-dictionary-mejango

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Fuzzing engines often miss deep code paths because they mutate inputs blindly. A fuzzing dictionary provides domain-specific tokens to steer inputs toward interesting corners like keywords, magic numbers, and protocol constants, increasing coverage and discovery.

Core Features & Use Cases

  • Dictionary entries: lines of quoted strings or key-value tokens used by fuzzers.
  • Hex escapes: support for non-printable bytes via \xHH sequences.
  • Cross-tool compatibility: usable with libFuzzer, AFL++, cargo-fuzz, and similar fuzzers.
  • Use Cases: fuzzing parsers (JSON, XML), protocols (HTTP, DNS), and file format handlers (PNG, PDF, etc.).

Quick Start

Create a dictionary file with quoted strings on each line. Example entries: "GET" "POST" "Content-Type" "HTTP/1.1"

comments are ignored

"\x00"

Frequently Asked Questions about fuzzing-dictionary

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

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

A fuzzing dictionary provides domain-specific tokens like keywords and magic numbers to steer inputs toward interesting code paths. It solves the problem of fuzzing engines missing deep logic because they mutate inputs blindly without structural awareness.

How do I add non-printable bytes to a fuzzing dictionary?

A fuzzing dictionary uses quoted strings and hex escape sequences like "\x00" to represent non-printable bytes. This syntax allows fuzzers to inject binary constants and magic numbers required for testing file format handlers and binary protocols.

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

Yes, you can use the same fuzzing dictionary with libFuzzer and AFL++ because it supports cross-tool compatibility. The dictionary syntax uses standard quoted strings and hex escapes, making it usable across multiple fuzzing engines like cargo-fuzz as well.

What should I put in a fuzzing dictionary for HTTP protocol testing?

For HTTP protocol testing, a fuzzing dictionary should contain protocol constants like "GET", "POST", "Content-Type", and "HTTP/1.1". These domain-specific tokens guide the fuzzer to generate valid structural inputs and reach deeper parser logic.

Why does my fuzzer miss deep code paths when testing file format handlers?

Fuzzers miss deep code paths when testing file format handlers because they mutate inputs blindly without structural awareness. Providing a fuzzing dictionary with domain-specific tokens steers mutations toward valid keywords and magic numbers to increase coverage.