fuzzing-dictionary-current
Create and validate byte-correct fuzzing dictionaries for parsers, protocols and structured formats. Use when a coverage-guided fuzzer needs meaningful tokens, with native syntax checks and controlled campaign comparisons.
- License 许可
- CC-BY-SA-4.0
- 最近更新
- 2026-11-11
- Stars
- ★ 1
- Forks
- 0
01 前言 Front Matter
- name
- fuzzing-dictionary-current
- license
- CC-BY-SA-4.0
- metadata
- { "status": "experimental-unbenchmarked" }
- description
- Create and validate byte-correct fuzzing dictionaries for parsers, protocols and structured formats. Use when a coverage-guided fuzzer needs meaningful tokens, with native syntax checks and controlled campaign comparisons.
02 资源文件 4
- 许可证LICENSE19.7 KB
- 参考文档NOTICE.md811 B
- 参考文档provenance/original.SKILL.md9.5 KB
- 参考文档references/qualification.md1.7 KB
03 SKILL.md 正文
Fuzzing dictionaries
Follow the collection's mandatory agent tools. Derive tokens from the target's independently specified input format and actual parser comparisons. Keep the input encoding explicit. Dictionaries guide mutations; they do not enforce a grammar, replace structured seeds or guarantee coverage gains. Treat generated suggestions as candidates requiring validation.
For libFuzzer, use one quoted token per line, optionally with name= before
the opening quote. Blank lines and lines beginning with # are comments.
Escape quotes with \", backslashes with \\, and arbitrary bytes with
exactly two hexadecimal digits after \x. C escapes such as \r, \n and
\0 are not supported by the qualified libFuzzer dictionary parser.
For example, the PNG signature is represented as:
png_magic="\x89PNG\x0D\x0A\x1A\x0A"
Validate the complete file with the actual selected fuzzer and retain its
diagnostics before starting a campaign. The original mirror's PNG line is
rejected by LLVM 23.1.4 because it uses \r and \n; the explicit byte form
above loads successfully. See qualification.
Recheck other fuzzers' accepted syntax and version-specific limits separately.
Do not pipe raw strings output or greedy quoted-source matches directly into
a dictionary. Those operations do not escape embedded quotes, backslashes or
binary values, and C source literals may need decoding or concatenation first.
Extract candidate byte sequences, deduplicate by decoded bytes, serialize with
the selected fuzzer's supported escapes, then validate the result. Never execute
an extracted string. Preserve non-ASCII and NUL bytes according to the target
contract; base64 text is a different input unless the target expects base64.
Use -dict=path for libFuzzer. Choose input-length and dictionary-entry bounds
from the target and fuzzer implementation. Do not prescribe a universal optimal
token count. Confirm AFL++ -x, automatic dictionaries and Rust/Go harness
integration against their actual installed versions before using those modes;
libFuzzer qualification does not certify them.
Evaluate usefulness with the same target build, instrumentation, seed corpus, resource budget and independent coverage collector, using separate output directories. Repeat paired campaigns with predeclared seeds and alternating order; report target coverage, valid-input reach and reproducible unique bugs, alongside execution counts and cost. Retain neutral and negative results. Parsing successfully or replaying a supplied crash proves neither discovery rate nor a coding-agent advantage. Any agent comparison needs separate held-out tasks and evaluators defined independently of these instructions.
Adapted from Trail of Bits under CC-BY-SA-4.0. See attribution,
the complete licence and the preserved original under provenance/.
04 同仓库更多 Skills
webapp-testing
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
skill-creator
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
playwright-skill
Complete browser automation with Playwright. Auto-detects dev servers, writes reusable test scripts, and supports screenshots, responsive checks, UX validation, login flows, link checks, and arbitrary browser automation. Use when the user wants to test a website, automate browser interactions, validate web functionality, or perform browser-based testing.
web-artifacts-builder
Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.
frontend-design
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML/CSS layouts, or when styling/beautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.
zarr-python
Chunked N-D arrays for cloud storage. Compressed arrays, parallel I/O, S3/GCS integration, NumPy/Dask/Xarray compatible, for large-scale scientific computing pipelines.