macOS
brew install afl++local Homebrew formula metadata
sudo port install aflMacPorts ports tree · devel/afl/Portfile · source: api.github.com
brew
American Fuzzy Lop++. Version 5.02c via Homebrew; verified 2026-07-02.
install
brew install afl++local Homebrew formula metadata
sudo port install aflMacPorts ports tree · devel/afl/Portfile · source: api.github.com
sudo zypper install aflopenSUSE Tumbleweed package metadata · afl · source: download.opensuse.org
sudo apk add afl++Alpine Linux edge package indexes · afl++ · source: dl-cdn.alpinelinux.org
sudo apt install afl++Debian stable package indexes · afl++ · source: deb.debian.org
sudo pacman -S afl++Arch Linux sync databases · afl++ · source: geo.mirror.pkgbuild.com
overview
American Fuzzy Lop++
history
AFL++ is the community-maintained successor line to American Fuzzy Lop, packaged as a broad fuzzing toolkit centered on afl-fuzz, compiler wrappers, corpus minimizers, instrumentation modes, and crash triage helpers. Its own README describes it as a fork of Google's AFL with more speed, mutations, instrumentation, and custom module support.
The original AFL was developed by Michal Zalewski; AFL++ credits that origin while listing Marc Heuse, Dominik Maier, Andrea Fioraldi, Heiko Eissfeldt, and others as current maintainers. The public AFL++ GitHub repository was created in 2019, and the project has continued as an active release train with stable, dev, and release branches.
AFL++ consolidated a patch culture that had grown around AFL: LLVM and LTO instrumentation, QEMU and binary-only modes, laf-intel and Redqueen-style comparison solving, MOpt mutators, persistent mode, Unicorn mode, Frida mode, and other target-specific execution backends. For package maintainers, the important point is that AFL++ is not just one binary but a coordinated tool suite with many executable entry points.
AFL++ is distributed through several Unix package managers in the supplied batch facts, including Homebrew, Debian, Ubuntu, Alpine, Arch, and openSUSE. The project also publishes Docker images and documents direct source builds, which made it easier to use the same fuzzing environment in CI, local research machines, and throwaway containers.
The upstream README points users to Google's FuzzBench aflplusplus configuration for comparisons, and the project keeps a papers page for academic citation. That combination of package-manager availability, Docker distribution, benchmark integration, and citation guidance is why AFL++ became the default AFL-family package for many security-testing workflows.
The common workflow is to build the target with afl-cc or an AFL++ compiler wrapper, seed an input corpus, run afl-fuzz with an input and output directory, and investigate crashes or hangs written under the fuzzer output tree. Companion tools such as afl-cmin, afl-tmin, afl-showmap, afl-analyze, afl-plot, and afl-whatsup support corpus reduction, testcase minimization, coverage mapping, and fleet monitoring.
AFL++ matters operationally because its behavior depends on instrumentation mode, target style, and runtime environment. Packagers tend to care about LLVM/QEMU/Frida/Unicorn feature coverage, sanitizer compatibility, shell helper availability, and whether users get enough installed docs to navigate binary-only fuzzing, persistent mode, dictionaries, and crash replay.
For package nerds, AFL++ is a dense formula: many binaries, optional engines, architecture-sensitive instrumentation, frequent upstream releases, and a user base that notices quickly when a backend or compiler wrapper is missing. It is a good example of a security tool whose package is the development environment.
It also illustrates a common replacement story in package sets: the original AFL name is historically important, but AFL++ is the active branch many users now expect when they install an AFL-family fuzzer.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
afl-addseeds | cli | global executable | |
afl-analyze | cli | global executable | |
afl-c++ | cli | global executable | |
afl-cc | cli | global executable | |
afl-clang | cli | global executable | |
afl-clang++ | cli | global executable | |
afl-clang-fast | cli | global executable | |
afl-clang-fast++ | cli | global executable | |
afl-clang-lto | cli | global executable | |
afl-clang-lto++ | cli | global executable | |
afl-cmin | cli | global executable | |
afl-cmin.awk | cli | global executable | |
afl-cmin.bash | cli | global executable | |
afl-cmin.py | cli | global executable | |
afl-fuzz | cli | global executable | |
afl-g++ | cli | global executable | |
afl-gcc | cli | global executable | |
afl-gotcpu | cli | global executable | |
afl-ld-lto | cli | global executable | |
afl-lto | cli | global executable | |
afl-lto++ | cli | global executable | |
afl-persistent-config | cli | global executable | |
afl-plot | cli | global executable | |
afl-showmap | cli | global executable | |
afl-system-config | cli | global executable | |
afl-tmin | cli | global executable | |
afl-whatsup | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/AFLplusplus/AFLplusplus
install metadata
| Package key | brew:afl++ |
|---|---|
| Version | 5.02c |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/afl++ |
| Homepage | https://aflplus.plus/ |
| Repository | https://github.com/AFLplusplus/AFLplusplus |
| Upstream docs | https://aflplus.plus/ |
| License | Apache-2.0 |
| Source archive | https://github.com/AFLplusplus/AFLplusplus/archive/refs/tags/v5.02c.tar.gz |
| Last updated | 2026-07-02T11:12:14-04:00 |
| Pulse | updated |
| Dependencies | lld, llvm, python@3.14 |
| Build dependencies | coreutils |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | afl++ |
| Version Scheme | 0 |
| Revision | 0 |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
afl++ 4.21c-5
instrumentation-driven fuzzer for binary formats
https://github.com/AFLplusplus/AFLplusplus
sudo apt install afl++afl++ 4.09c-1ubuntu3
instrumentation-driven fuzzer for binary formats
https://github.com/vanhauser-thc/AFLplusplus
sudo apt install afl++afl++ 4.40c-r1
Fuzzer relying on genetic algorithms instead of brute force
sudo apk add afl++afl++-doc 4.40c-r1
Fuzzer relying on genetic algorithms instead of brute force (documentation)
sudo apk add afl++-docafl++-tools 4.40c-r1
AFL++ tools and utilities
sudo apk add afl++-toolsafl++ 5.00c-1
instrumentation-driven fuzzer for binary format
sudo pacman -S afl++afl 4.40c-2.3
American fuzzy lop is a security-oriented fuzzer
https://github.com/AFLplusplus/AFLplusplus
sudo zypper install aflafl-devel 4.40c-2.3
Development headers for use when fuzzing with American fuzzy lop
https://github.com/AFLplusplus/AFLplusplus
sudo zypper install afl-develafl
sudo port install aflsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.