Skip to content
SPECIFICTION
Get listed

AFL++ vs boofuzz

AFL++

github.com

boofuzz

github.com

Side by side

FigureAFL++boofuzz
Price from€1,666.67/moFree
Free planYesYes
Free trial——
Open source——
WindowsYesYes
macOSYes—
LinuxYesYes
AndroidYes—
API—Yes
Self-hostedYesYes
Plans published21
Spec score · Fuzz Testing Software8.9 (#1)8.7 (#3)
PurposeAFL++ is a coverage-guided fuzzer that mutates input and checks whether it reaches a new path in the target binary.Boofuzz is a network protocol fuzzing framework and a fork and successor to Sulley.
SupportThe maintainers direct users to GitHub issues for AFL++ defects, the FAQ and best practices, and the Fuzzing Zulip server.The project directs users to Stack Overflow for usage questions and GitHub issues for bugs and suggestions.

Plans

AFL++

  • AGPL-3.0-or-laterFree
  • Commercial license€20,000 a year

AFL++ pricing →

boofuzz

  • Free and open sourceFree

boofuzz pricing →

In their own words

AFL++

AFL++ is a coverage-guided fuzzer that changes input and checks whether a target binary reaches a new execution path. Its afl-cc compiler supports LTO, LLVM and GCC_PLUGIN instrumentation. The project also lists collision-free coverage, AFLfast++ power schedules, MOpt mutators, laf-intel and redqueen. Documentation covers source-available software, binary-only targets, network services and GUI programs, with build options for source-only, binary-only or combined distributions. A Docker image supports x86_64 and arm64; its example mounts target source at /src. On Linux, the installation guide recommends LLVM 18 or newer and gives LLVM 14 as the minimum. macOS build guidance covers x86_64 and arm64, but afl-clang-lto, afl-gcc-fast and qemu_mode do not work there. Fuzzing can strain hardware, consume substantial memory or disk, and create heavy filesystem activity. AFL++ is available free under AGPL terms; modified versions offered as network services must provide users the corresponding source. A commercial license is listed at €20,000 a year.

Visit github.com

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