fuzzing-dictionary — Claude Code skill: what it does, how to install
Generates and connects token dictionaries for parsers and protocols in libFuzzer or AFL++ when coverage stalls on initial checks.
npx skills add trailofbits/skills --skill fuzzing-dictionary -a claude-codeWhat fuzzing-dictionary does
Blind mutations rarely hit deep branches in format parsers or network protocols. This skill instructs the agent to assemble targeted dictionaries containing protocol commands, magic bytes, and format delimiters for libFuzzer and AFL++.
Tokens can be pulled from C headers using grep or extracted from compiled binaries with strings. For AFL++, the compiler afl-clang-lto can also harvest string comparisons at build time via AFL_LLVM_DICT2FILE. Entries are saved as quoted strings or hex escapes like \xF7\xF8.
Dumping thousands of tokens into a file hurts mutation speed. Keeping the dictionary focused between 50 and 200 entries yields better results, because the engine wastes fewer cycles on meaningless variations. Also, libFuzzer silently ignores any dictionary entry longer than -max_len.
What it helps with
- Build token dictionaries for file format and protocol fuzzers
- Extract keywords from header files and compiled binaries
- Configure dictionary flags for libFuzzer or AFL++
- Prevent fuzzers from stalling on magic bytes and header checks
Example prompts for the agent
- Generate a dictionary file for a PNG parser with magic bytes and chunk names.
- Extract quoted string tokens from header.h into a format ready for libFuzzer.
- Show how to pass multiple dictionary files to afl-fuzz for protocol testing.
How to install fuzzing-dictionary
1Skills CLI (Vercel)
npx skills add trailofbits/skills --skill fuzzing-dictionary -a claude-code2Manually: put the files in place
~/.claude/skills/fuzzing-dictionary/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/fuzzing-dictionary/
1Skills CLI (Vercel)
npx skills add trailofbits/skills --skill fuzzing-dictionary -a codex2Manually: put the files in place
.agents/skills/fuzzing-dictionary/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add trailofbits/skills --skill fuzzing-dictionary -a cursor2Manually: put the files in place
.cursor/skills/fuzzing-dictionary/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install trailofbits/skills fuzzing-dictionary2Manually: put the files in place
.github/skills/fuzzing-dictionary/SKILL.md1Skills CLI (Vercel)
npx skills add trailofbits/skills --skill fuzzing-dictionary -a gemini-cli2Platform CLI
gemini skills install https://github.com/trailofbits/skills --path plugins/testing-handbook-skills/skills/fuzzing-dictionaryManually: put the files in place
.devin/skills/fuzzing-dictionary/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add trailofbits/skills --skill fuzzing-dictionary -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set35
The whole set →Similar
Questions about fuzzing-dictionary
How do I install fuzzing-dictionary in Claude Code?
Run npx skills add trailofbits/skills --skill fuzzing-dictionary -a claude-code in your terminal.
What does fuzzing-dictionary do?
It guides the creation of token lists containing keywords, magic numbers, and byte sequences to help fuzzers reach deeper parser logic.
Which fuzzing tools work with these dictionaries?
The generated format works with libFuzzer via -dict, AFL++ via -x, and cargo-fuzz using the -- -dict argument.