lawless-m avatar

boofuzz

Protocol fuzzer script development using boofuzz framework. Use when creating network protocol fuzze

提供方 lawless-m|开源

boofuzz fuzzers

Conventions for authoring fuzzers in this boofuzz project. General boofuzz API usage (Request/Block/primitives, Session setup, callbacks) is standard — see the boofuzz docs.

Repo layout

DirectoryContents
/examples/Complete runnable fuzzers with a CLI (argparse, a main()). New standalone fuzzers go here.
/request_definitions/Reusable protocol PDU definitions only — importable modules, no main().

Put a fuzzer's protocol structure in /request_definitions/ when it's worth reusing, and the runnable driver in /examples/.

Formatting

Format with Black before committing; run the full checks with tox:

black your_fuzzer.py
tox

Use # fmt: off / # fmt: on sparingly — only to preserve hand-aligned protocol byte layouts that Black would reflow.

Results

Runs land in ./boofuzz-results/*.db (SQLite). Inspect via the web UI:

boo open boofuzz-results/run-YYYY-MM-DD_HH-MM-SS.db

Or query directly, e.g. failing/crashing cases:

SELECT name, type, timestamp FROM cases
WHERE type LIKE '%fail%' OR type LIKE '%crash%';

Disclosure

For vulnerability disclosure templates and PoC extraction from a crash, see references/disclosure.md.

boofuzz - 适用于 Claude Code 与 Cursor 的 AI 智能体 Skill | Agent Skills