Skip to content
SPECIFICTION
Get listed

boofuzz vs cargo-fuzz

boofuzz

github.com

cargo-fuzz

github.com

Side by side

Figureboofuzzcargo-fuzz
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
WindowsYesYes
macOS—Yes
LinuxYesYes
APIYes—
Self-hostedYes—
Plans published11
Spec score · Fuzz Testing Software8.7 (#3)8.5 (#5)
InstallationBoofuzz installs with pip as a Python library used to build fuzzer scripts.The documented installation command is cargo install cargo-fuzz.
PurposeBoofuzz is a network protocol fuzzing framework and a fork and successor to Sulley.cargo-fuzz is a cargo subcommand for fuzzing with libFuzzer.

Plans

boofuzz

  • Free and open sourceFree

boofuzz pricing →

cargo-fuzz

  • cargo-fuzzFree

cargo-fuzz pricing →

In their own words

boofuzz

boofuzz is a network protocol fuzzing framework and a successor to Sulley. It installs as a Python library for building fuzzer scripts, using `pip install boofuzz`, and requires Python 3.9 or later. Its workflow generates data, detects failures, resets targets after failures, and records test data. It supports varied communications, including serial, Ethernet and IP-layer traffic, UDP broadcast, TCP, UDP, SSL, and raw sockets. Run logs are saved in 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. A process monitor can detect crashes and restart applications on Windows or Linux, but must run on the target machine. The optional network monitor requires Pcapy and Impacket, which are not installed automatically. Public FTP and HTTP protocol libraries are documented, though their implementations do not provide full protocol coverage. The project describes extensibility for instrumentation and failure detection. It uses the GPL-2.0 license; usage questions are directed to Stack Overflow, while bugs and suggestions can go to GitHub issues or pull requests.

Visit github.com

cargo-fuzz

cargo-fuzz is a Cargo subcommand for fuzzing Rust code. It invokes libFuzzer through the libfuzzer-sys crate rather than acting as a fuzzer itself. Start a crate with `cargo fuzz init`, add a target with `cargo fuzz add `, then use `cargo fuzz run ` to search for bugs. The tool can reduce a failing input with `cargo fuzz tmin` or trim a corpus with `cargo fuzz cmin`; `cargo fuzz coverage` generates source-based coverage information in version 0.10.0 or newer. Documentation also covers structure-aware fuzzing and Cargo feature options, plus a GitHub Actions workflow for building and running targets in CI. It supports Linux, macOS and Windows, with documented systems including x86-64 Linux, x86-64 and Apple-Silicon macOS, and Windows with LLVM sanitizer support. Windows programs can also be fuzzed with MSVC AddressSanitizer. Installation is documented as `cargo install cargo-fuzz`. It requires nightly Rust and a C++11-capable compiler. The project is free and distributed under the MIT and Apache License 2.0.

Visit github.com