Skills Explorer Add Skills

fuzzing-dictionary

An agent skill by trailofbits, from trailofbits/skills. Tags: cli, fuzzing, research, testing.

What it does

Builds and applies fuzzing dictionaries so a fuzzer can produce the keywords, magic bytes, and tokens a target expects. Covers extracting tokens from source, headers, binaries, and specifications, dictionary syntax, and wiring one into libFuzzer or AFL++. Use when fuzzing a parser, protocol, or file format, when coverage stalls at input validation, or when a target compares against fixed strings.

Install

With the skills CLI, which installs into Claude Code, Codex, Cursor and other agents:

npx skills add trailofbits/skills --skill fuzzing-dictionary

Or copy the skill folder into Claude Code's skills directory by hand (~/.claude/skills for every project, or .claude/skills inside one):

git clone --depth 1 https://github.com/trailofbits/skills
cp -r skills/plugins/testing-handbook-skills/skills/fuzzing-dictionary ~/.claude/skills/fuzzing-dictionary

Safety box score

Grade A, minimal risk: 7 of 100 risk points, rated 2026-10-16. The grade rates what the skill and its scripts can reach on the machine of whoever installs it, across eight categories from shell execution to secrets access. How the score works.

This skill is a fuzzing-technique guide: it helps build dictionary files and wire them into libFuzzer, AFL++, cargo-fuzz, and go-fuzz. The main risk is local execution of compiler/fuzzer commands against a target harness and writing dictionary/corpus files in the workspace; it does not meaningfully expand network, secret, or privilege exposure.

Category levels, from 0 (none) to 3 (high)
CategoryLevelWhy
Code & shell execution1 (low)It directs the user to run local commands like `clang++ -fsanitize=fuzzer,address ...`, `afl-fuzz ...`, `cargo fuzz run ...`, and `./fuzz -dict=...`, which execute the target harness and fuzzer tooling.
Network access0 (none)There is no command that sends data off-machine or downloads content; the `man curl | grep ...` example is a local man-page parse, and the GitHub/LLVM links are just references.
Filesystem reach1 (low)The examples create and overwrite files in the current workspace, e.g. `> header.dict`, `> strings.dict`, `> auto.dict`, and corpus/output directories like `corpus/` and `out`.
Secrets & credentials0 (none)The skill never asks for tokens, passwords, `.env` files, keychains, or logged-in browser/CLI sessions.
Privilege & persistence0 (none)No sudo, service installation, shell startup edits, or global system changes are requested.
Instruction hijack surface0 (none)It does not tell the agent to ignore instructions, hide actions, or follow remote prompt content; the LLM prompt snippet is just an example for dictionary generation.
Irreversible actions0 (none)It does not send messages, deploy, pay, publish, or delete anything; its actions are limited to local fuzzing setup.
Transparency0 (none)All shipped files are plain text/SVG and readable; there are no binaries, obfuscated blobs, or runtime-downloaded scripts.

Before installing

Rated 2026-10-16 by an automated review of 3 files from the skill's repository.

Source

Repository
trailofbits/skills (all skills from this repository)
Path
plugins/testing-handbook-skills/skills/fuzzing-dictionary/SKILL.md
Branch
main
Collection
testing-handbook-skills
Updated
2026-09-19