fuzzing-dictionary

Generate domain-specific fuzzing dictionaries with hex escapes for libFuzzer, AFL++, and cargo-fuzz.

6.5k|561|Updated Jan 14, 2026
One-click install
npx skills add https://github.com/trailofbits/skills --skill fuzzing-dictionary-trailofbits
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: fuzzing-dictionary
Source: https://github.com/trailofbits/skills/tree/main/plugins/testing-handbook-skills/skills/fuzzing-dictionary
Command: npx skills add https://github.com/trailofbits/skills --skill fuzzing-dictionary-trailofbits

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Fuzzing dictionaries guide fuzzers with domain-specific tokens to reach deeper code paths in parsers, protocols, and file format handlers, reducing manual token generation and accelerating vulnerability discovery.

Core Features & Use Cases

  • Dictionary Entry format: quoted strings like "GET" or kw="value" for flexible token representation.
  • Hex Escapes and cross-engine compatibility: supports \xNN escapes and works with libFuzzer, AFL++, and cargo-fuzz.
  • Use Cases: fuzzing parsers, protocols, and file formats to improve coverage and find vulnerabilities.

Quick Start

Create a text dictionary with domain-specific tokens and feed it to your fuzzer using the dictionary option.

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 file format parsers?

A fuzzing dictionary guides fuzzers with domain-specific tokens like quoted strings and hex escapes to reach deeper code paths in file format parsers, reducing manual token generation and accelerating vulnerability discovery.

Does this fuzzing dictionary format work with AFL++ and libFuzzer?

Yes, the fuzzing dictionary format supports cross-fuzzer compatibility, allowing the same domain-specific tokens and hex escapes to work seamlessly with libFuzzer, AFL++, and cargo-fuzz.

How do I format hex escapes and quoted strings in a fuzzing dictionary?

Format fuzzing dictionary entries using quoted strings like "GET" or kw="value", and include hex data using \xNN escapes to ensure flexible token representation across different fuzzing engines.

When do I need a fuzzing dictionary for protocol testing?

You need a fuzzing dictionary for protocol testing when generic fuzzing fails to reach deeper logic, as domain-specific tokens guide the fuzzer past initial syntax parsing to reveal hidden vulnerabilities.

Why does my fuzzer get stuck on shallow code paths when testing file formats?

Fuzzers get stuck on shallow code paths because they lack domain-specific tokens; adding a fuzzing dictionary with specific file format tokens guides them past initial parsing barriers to improve coverage.

Can fuzzing dictionaries help find vulnerabilities in complex parsers?

Yes, fuzzing dictionaries help find vulnerabilities in complex parsers by supplying domain-specific tokens that guide fuzzers into deeper logic paths, accelerating the discovery of security flaws.