boofuzz
A fork and successor of the Sulley Fuzzing Framework
What it is and what it does
Boofuzz is a successor to the Sulley fuzzing framework, designed to systematically test network protocols and services by generating malformed, unexpected, or edge-case data and observing how targets respond. It combines data generation, instrumentation (failure detection), target reset, and test recording into a cohesive fuzzing workflow. The framework supports multiple communication mediums—TCP, UDP, serial, raw Ethernet and IP layers, Unix sockets, and NETCONF—making it applicable to a wide range of protocol testing scenarios.
The package provides both a programmatic API for building custom fuzz scripts and a command-line interface for generic fuzzing workflows. It records test results to CSV, maintains a database of test cases, and includes a web UI for monitoring fuzzing progress. Boofuzz is actively maintained, supports Python 3.8 through 3.11, and aims to be more accessible and extensible than its predecessor while incorporating lessons learned from years of open-source fuzzing practice.
Use it for:
- Discover vulnerabilities in network services by systematically testing protocol implementations with malformed inputs.
- Validate robustness of embedded devices or IoT systems that communicate over serial, Ethernet, or IP protocols.
- Test custom protocol implementations during development to catch edge cases before deployment.
- Fuzz NETCONF servers or other standardized network protocols to ensure compliance and stability.
- Generate and replay specific test cases to reproduce and verify fixes for protocol handling bugs.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Boofuzz is a network protocol fuzzing framework that generates malformed or unexpected data to test network services for robustness and security vulnerabilities.
Yes, if you are conducting security testing or protocol validation and accept the GPL-2.0-only copyleft license. Boofuzz is actively maintained, has low install friction, carries no known vulnerabilities, and provides a mature, well-documented fuzzing framework. Not suitable for proprietary projects without separate licensing or if you require a permissive license.
Install
boofuzz on PyPI
pip
pip install boofuzzuv
uv add boofuzzpoetry
poetry add boofuzzInstalling boofuzz
Before you install
Low install friction with a pure Python wheel distribution and nine runtime dependencies that are all widely available. The project is actively maintained with a recent commit on 2026-08-06 and has been in active development since its first release in 2016.
License in practice
Boofuzz is licensed under GPL-2.0-only (copyleft). Any code that links to or distributes boofuzz must be released under compatible terms; proprietary projects cannot use this library without separate licensing arrangements.
Quickstart
pip install boofuzz
from boofuzz import Session, s_string, s_int
session = Session()
session.connect(target_host, target_port)
session.fuzz()
Requires Python 3.8 or later. Fuzzing a live target requires network access and a running service to test against.
Verify before relying
- Whether the web UI (added in v0.4.2) requires additional system dependencies or configuration beyond the listed runtime packages.
- Performance characteristics when fuzzing large protocol definitions or high-volume targets.
- Compatibility with Windows serial fuzzing given the pyserial dependency and platform-specific behavior.
Package facts
| License | GPL-2.0-only (copyleft) |
| Python support | supports the current Python release (>=3.8,<4.0) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 9 — attrs, click, colorama, Flask, funcy, psutil, pydot, pyserial, tornado |
| Maintenance | actively maintained — 1,043 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 76,799/month — #14,589 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: boofuzz-0.4.2-py3-none-any.whl
Keywords: security, fuzzing
Tags
More Security packages
Provides Python bindings to the FreeDesktop.org…
permissive · top 1,000 on PyPI
msalMSAL for Python handles OAuth2 and OpenID…
permissive · top 1,000 on PyPI
joserfcjoserfc implements JOSE standards (JWS, JWE,…
permissive · top 1,000 on PyPI
AuthlibAuthlib provides a complete implementation of…
permissive · top 1,000 on PyPI
argon2-cffi-bindingsProvides low-level CFFI bindings to the…
permissive · top 1,000 on PyPI
adalADAL for Python authenticates applications with…
permissive · top 1,000 on PyPI
atherisAtheris is a coverage-guided fuzzer for Python…
unclear · top 15,000 on PyPI
fuzzfetchFuzzfetch retrieves Firefox, Spidermonkey, and…
copyleft · top 15,000 on PyPI
hegel-coreHegel-core provides property-based testing data…
permissive · top 15,000 on PyPI
RapidFuzzRapidFuzz provides fast fuzzy string matching…
permissive · top 1,000 on PyPI
dnstwistGenerates domain name permutations to detect…
permissive · top 15,000 on PyPI
rstrGenerates random strings from custom alphabets,…
permissive · top 5,000 on PyPI
hypothesisHypothesis is a property-based testing library…
copyleft · top 1,000 on PyPI
cobsEncodes and decodes data using Consistent…
permissive · top 15,000 on PyPI
detect-test-pollutionDetects test pollution—failures caused by side…
permissive · top 15,000 on PyPI
thefuzzTheFuzz performs fuzzy string matching using…
permissive · top 5,000 on PyPI