- Home
- Fuzz Testing Software
- boofuzz
boofuzz
What it is
boofuzz is a free network protocol fuzzing framework and a successor to Sulley. Developers install it as a Python library with `pip install boofuzz`; it requires Python 3.9 or later. Its workflow generates test data, detects failures, resets targets after failures and records test data. Documented communication options include TCP, UDP, SSL, raw sockets and serial, as well as Ethernet and IP-layer communication and UDP broadcast fuzzing. Run logs are saved to a SQLite database in the boofuzz-results directory, saved runs can be reopened in a web interface with `boo open`, and results can be exported as CSV. The process monitor detects crashes and restarts applications on Windows or Linux, but it must run on the target machine. An optional network monitor requires Pcapy and Impacket, which are not installed automatically. Public FTP and HTTP protocol libraries are available, though their implementations do not provide full protocol coverage. The project uses the GPL-2.0 license and provides online quickstarts and API documentation.
For and against
For
- Free Python library under GPL-2.0.
- Supports TCP, UDP, SSL and raw sockets.
- Stores run logs in SQLite.
- Exports results as CSV.
- Process monitor detects crashes and restarts applications.
Against
- Requires Python 3.9 or later.
- Process monitor must run on the target machine.
- Network monitor dependencies are not installed automatically.
- FTP and HTTP libraries do not fully cover protocols.
The verdict
boofuzz provides a Python-based fuzzing workflow with multiple connection types, run logging and crash monitoring. Users should account for its Python requirement, optional monitoring dependencies and the limited coverage of its public FTP and HTTP libraries.
Who it suits
boofuzz suits developers building Python scripts to test network protocols and other communication targets. It is intended for users who can manage target-machine monitoring and optional dependencies where needed.
Plans and prices
Free and open source
Python library for building fuzzer scripts · GPL-2.0 license
Read 5 Oct 2026 · github.com
On the record
- Communications
- It supports arbitrary communications media, including serial, Ethernet and IP layer, and UDP broadcast fuzzing.boofuzz.readthedocs.io · read 4 Oct 2026
- Community support
- The project directs bug reports and improvement ideas to GitHub issues or pull requests and suggests Stack Overflow for usage questions.github.com · read 5 Oct 2026
- Connections
- Documented connection options include TCP, UDP, SSL, raw sockets, and serial connections.boofuzz.readthedocs.io · read 5 Oct 2026
- Documentation
- The project provides online documentation with quickstarts and API documentation.boofuzz.readthedocs.io · read 4 Oct 2026
- Extensibility
- The project describes extensibility as a goal and supports extending instrumentation and failure detection.github.com · read 5 Oct 2026
- Fuzzer workflow
- It provides data generation, failure detection instrumentation, target reset after failure, and test data recording.github.com · read 5 Oct 2026
- Fuzzing workflow
- Its core capabilities include data generation, failure detection, target reset after failure, and recording test data.boofuzz.readthedocs.io · read 4 Oct 2026
- Installation
- Boofuzz installs with pip as a Python library used to build fuzzer scripts.github.com · read 5 Oct 2026
- License
- The GitHub repository identifies the project license as GPL-2.0.github.com · read 4 Oct 2026
- Monitoring
- The process monitor detects crashes and restarts applications on Windows or Linux, and must run on the target machine.github.com · read 4 Oct 2026
- Optional dependency
- The network monitor requires Pcapy and Impacket, which are not installed automatically with boofuzz.github.com · read 4 Oct 2026
- Protocol libraries
- The documentation links free, open-source FTP and HTTP protocol libraries and says their implementations do not provide full protocol coverage.boofuzz.readthedocs.io · read 5 Oct 2026
- Protocol suites
- The documentation lists public boofuzz FTP and HTTP protocol libraries and says their implementations do not approach full protocol coverage.boofuzz.readthedocs.io · read 4 Oct 2026
- Protocol support
- It supports arbitrary communication media and includes serial, Ethernet and IP-layer, and UDP broadcast fuzzing.github.com · read 5 Oct 2026
- Purpose
- Boofuzz is a network protocol fuzzing framework and a fork and successor to Sulley.github.com · read 5 Oct 2026
- Python requirement
- The installation guide requires Python 3.8 or later and recommends pip.boofuzz.readthedocs.io · read 5 Oct 2026
- Results
- Boofuzz records test data and can export test results as CSV.github.com · read 5 Oct 2026
- Run logs
- Each run's log data is saved to a SQLite database in the boofuzz-results directory.boofuzz.readthedocs.io · read 5 Oct 2026