skillfed

boofuzz

A fork and successor of the Sulley Fuzzing Framework

boofuzz v0.4.2 76.8K downloads/30d#14,589 on PyPI2,354
Copyleft license GPL-2.0-only Active released

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 boofuzz

uv

uv add boofuzz

poetry

poetry add boofuzz

Installing 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

Development Status :: 4 - BetaEnvironment :: ConsoleEnvironment :: Console :: CursesIntended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI Approved :: GNU General Public License v2 (GPLv2)Natural Language :: EnglishOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: SecurityTopic :: Software Development :: Testing :: Traffic GenerationTopic :: System :: Networking

Tags

network protocol fuzzingfuzz testing frameworkvulnerability discovery toolprotocol testing automationnetwork service fuzzersecurity testing frameworkmalformed data generation
security-testingprotocol-fuzzingvulnerability-discovery

More Security packages

Further reading