Fuzzing
Fuzzing tools test software by generating malformed inputs to discover memory safety bugs, parser crashes, and logic flaws before code reaches production.
| Tool | License | Platforms | Pricing | Action |
|---|---|---|---|---|
| AFL++ | AGPL-3.0-or-later | Linux, macOS, FreeBSD, NetBSD, OpenBSD, Solaris, Android | Free / Commercial | Profile→ |
| Atheris | Apache-2.0 | Linux, macOS | Open Source | Profile→ |
| Boofuzz | GPL-2.0-only | Linux, Windows | Open Source | Profile→ |
| Honggfuzz | Apache-2.0 | Linux, macOS, FreeBSD, NetBSD, OpenBSD, Windows, Android | Open Source | Profile→ |
| Jazzer | Apache-2.0 | Linux, macOS, Windows | Open Source | Profile→ |
| libFuzzer | Apache-2.0 WITH LLVM-exception | Linux, macOS, Windows | Open Source | Profile→ |
| Radamsa | MIT | Linux, macOS, FreeBSD, OpenBSD, Windows | Open Source | Profile→ |
Tools in Fuzzing
AFL++
Free / CommercialCoverage-guided fuzzer with mutation engines, LLVM instrumentation plugins, and binary-only modes for finding memory safety bugs.
Atheris
Open SourceCoverage-guided Python fuzzer from Google based on libFuzzer, designed for pure Python code and native CPython extensions.
Boofuzz
Open SourcePython network protocol fuzzing framework for defining packet templates, tracking state machines, and discovering network crashes.
Honggfuzz
Open SourceMulti-threaded, feedback-driven fuzzer using software and hardware coverage counters to uncover memory corruption defects.
Jazzer
Open SourceCoverage-guided in-process fuzzer for Java and the JVM based on libFuzzer, with built-in sanitizers for memory and logic bugs.
libFuzzer
Open SourceIn-process, coverage-guided evolutionary fuzzing engine from LLVM for testing C and C++ libraries with AddressSanitizer.
Radamsa
Open SourceGeneral-purpose mutational fuzzer that generates malformed test samples to test parser resilience and file format handlers.
Frequently Asked Questions
What is Fuzzing?→
Fuzzing tools test software by generating malformed inputs to discover memory safety bugs, parser crashes, and logic flaws before code reaches production.
What topics does the Fuzzing category cover?→
Coverage-Guided Fuzzing, Protocol & API Fuzzing, Mutation Engines, Crash Triage & Corpus Management, Compiler Sanitizer Integration
About Fuzzing
Fuzzing tools automatically test software by feeding it malformed, randomized, or edge-case inputs to discover crashes, memory leaks, and logic errors. The category divides into coverage-guided fuzzers and protocol fuzzers. Coverage-guided fuzzers like AFL++, libFuzzer, and honggfuzz track which code paths each input exercises, then mutate inputs that reach new code to maximize path coverage. They are effective at finding memory corruption bugs in parsers, decoders, and file format handlers. Protocol fuzzers like boofuzz target network protocols and APIs by sending malformed messages in sequence, testing state machines and authentication flows. Fuzzing engines produce crash inputs that developers can reproduce and debug. When integrated into CI pipelines, fuzzing catches regressions in parsing code before releases. Modern fuzzing frameworks provide crash triage (grouping similar crashes), corpus management (storing inputs that maximize coverage), and sanitizers (detecting memory errors like buffer overflows and use-after-free during fuzzing runs). Most fuzzing tools are open source and integrate with compiler sanitizers like AddressSanitizer and UndefinedBehaviorSanitizer for deeper bug detection.
Covered Topics & Disciplines
Related Security Categories
Static source analysis, dynamic scanners, and dependency vulnerability checkers.
Binary analysis and ROP tools for exploit research and compiler-mitigation verification.
Disassemblers, binary decompilers, and dynamic execution analyzers.