The blog post contains classic fuzzing books, papers about fuzzing at information security top conferences over the years, commonly used fuzzing tools, and blogs that can quickly learn fuzzing tools.
The Fuzzing Book (2019):This book is based on principles + code exercises, combined with practical exercises, to complete a fuzzing test framework from 0 to 1. If you want to write your own fuzzing framework, you can refer to this book.
Fuzzing for Software Security Testing and Quality Assurance (2018):This book introduces the idea of fuzzing into the software development life cycle. In fact, many efficient fuzzing tests are often considered in the development stage. The book discusses the development of fuzz tools, including not only some emerging open source tools, but also many commercial ones. How to choose the right fuzzer for software development projects is also one of the themes of this book.
This chapter contains top-level information security and classic papers in some journals. We just want to select some of them with relatively high technical value or relatively novel articles to facilitate subsequent learning.
The Art, Science, and Engineering of Fuzzing: A Survey (2019)
Fuzzing: a survey (2018)
Source-and-Fuzzing (2019)
CoLaFUZE: Coverage-Guided and Layout-Aware Fuzzing for Android Drivers (2021)
Effective File Format Fuzzing – Thoughts, Techniques and Results
Automatic Library Fuzzing through API Relation Evolvement, 2025
DUMPLING: Fine-grained Differential JavaScript Engine Fuzzing, 2025
ICSQuartz: Scan Cycle-Aware and Vendor-Agnostic Fuzzing for Industrial Control Systems, 2025
MALintent: Coverage Guided Intent Fuzzing Framework for Android, 2025
Moneta: Ex-Vivo GPU Driver Fuzzing by Recalling In-Vivo Execution States, 2025
QMSan: Efficiently Detecting Uninitialized Memory Errors During Fuzzing, 2025
TWINFUZZ: Differential Testing of Video Hardware Acceleration Stacks, 2025
Truman: Constructing Device Behavior Models from OS Drivers to Fuzz Virtual Devices, 2025
EnclaveFuzz: Finding Vulnerabilities in SGX Applications, 2024
MOCK: Optimizing Kernel Fuzzing Mutation with Context-aware Dependency, 2024
ShapFuzz: Efficient Fuzzing via Shapley-Guided Byte Selection, 2024
Assessing the Impact of Interface Vulnerabilities in Compartmentalized Software, 2023
FUZZILLI: Fuzzing for JavaScript JIT Compiler Vulnerabilities, 2023
No Grammar, No Problem: Towards Fuzzing the Linux Kernel without System-Call Descriptions, 2023
LOKI: State-Aware Fuzzing Framework for the Implementation of Blockchain Consensus Protocols, 2023
OBSan: An Out-Of-Bound Sanitizer to Harden DNN Executables, 2023
MobFuzz: Adaptive Multi-objective Optimization in Gray-box Fuzzing (2022)
FirmWire: Transparent Dynamic Analysis for Cellular Baseband Firmware (2022)
EMS: History-Driven Mutation for Coverage-based Fuzzing (2022)
Context-Sensitive and Directional Concurrency Fuzzing for Data-Race Detection (2022)
Favocado: Fuzzing the Binding Code of JavaScript Engines Using Semantically Correct Test Cases (2021)
WINNIE : Fuzzing Windows Applications with Harness Synthesis and Fast Cloning, 2021
Reinforcement Learning-based Hierarchical Seed Scheduling for Greybox Fuzzing (2021)
HotFuzz: Discovering Algorithmic Denial-of-Service Vulnerabilities Through Guided Micro-Fuzzing (2020)
Not All Coverage Measurements Are Equal: Fuzzing by Coverage Accounting for Input Prioritization (2020)
PeriScope: An Effective Probing and Fuzzing Framework for the Hardware-OS Boundary (2019)
INSTRIM: Lightweight Instrumentation for Coverage-guided Fuzzing (2018)
What You Corrupt Is Not What You Crash: Challenges in Fuzzing Embedded Devices
Enhancing Memory Error Detection for Large-Scale Applications and Fuzz Testing (2018)
DELTA: A Security Assessment Framework for Software-Defined Networks (2017)
A Binary-level Thread Sanitizer or Why Sanitizing on the Binary Level is Hard, 2024
Critical Code Guided Directed Greybox Fuzzing for Commits, 2024
Fuzzing BusyBox: Leveraging LLM and Crash Reuse for Embedded Bug Unearthing, 2024
HYPERPILL: Fuzzing for Hypervisor-bugs by leveraging the Hardware Virtualization Interface, 2024
MultiFuzz: A Multi-Stream Fuzzer For Testing Monolithic Firmware, 2024
SHiFT: Semi-hosted Fuzz Testing for Embedded Applications, 2024
WhisperFuzz: White-Box Fuzzing for Detecting and Locating Timing Vulnerabilities in Processors, 2024
Fuzztruction: Using Fault Injection-based Fuzzing to Leverage Implicit Domain Knowledge, 2023
FuzzJIT: Oracle-Enhanced Fuzzing for JavaScript Engine JIT Compiler, 2023
GLeeFuzz: Fuzzing WebGL Through Error Message Guided Mutation, 2023
Automata-Guided Control-Flow-Sensitive Fuzz Driver Generation, 2023
PolyFuzz: Holistic Greybox Fuzzing of Multi-Language Systems, 2023
AIFORE: Smart Fuzzing Based on Automatic Input Format Reverse Engineering, 2023
MTSan: A Feasible and Practical Memory Sanitizer for Fuzzing COTS Binaries, 2023
MINER: A Hybrid Data-Driven Approach for REST API Fuzzing, 2023
KextFuzz: Fuzzing macOS Kernel EXTensions on Apple Silicon via Exploiting Mitigations, 2023
Intender: Fuzzing Intent-Based Networking with Intent-State Transition Guidance, 2023
DDRace: Finding Concurrency UAF Vulnerabilities in Linux Drivers with Directed Fuzzing, 2023
CarpetFuzz: Automatic Program Option Constraint Extraction from Documentation for Fuzzing, 2023
BoKASAN: Binary-only Kernel Address Sanitizer for Effective Kernel Fuzzing, 2023
Bleem: Packet Sequence Oriented Fuzzing for Protocol Implementations, 2023
MundoFuzz: Hypervisor Fuzzing with Statistical Coverage Testing and Grammar Inference, 2022
Morphuzz: Bending (Input) Space to Fuzz Virtual Devices, 2022
Fuzzware: Using Precise MMIO Modeling for Effective Firmware Fuzzing, 2022
FuzzOrigin: Detecting UXSS vulnerabilities in Browsers through Origin Fuzzing, 2022
Drifuzz: Harvesting Bugs in Device Drivers from Golden Seeds, 2022
BrakTooth: Causing Havoc on Bluetooth Link Manager via Directed Fuzzing, 2022
AmpFuzz: Fuzzing for Amplification DDoS Vulnerabilities, 2022
SGXFuzz: Efficiently Synthesizing Nested Structures for SGX Enclave Fuzzing, 2022
FRAMESHIFTER: Manipulating HTTP/2 Frame Sequences with Fuzzing, 2022
FIXREVERTER: A Realistic Bug Injection Methodology for Benchmarking Fuzz Testing, 2022
StateFuzz: System Call-Based State-Aware Linux Driver Fuzzing, 2022
SyzScope: Revealing High-Risk Security Impacts of Fuzzer-Exposed Bugs inLinux kernel, 2022
Automatic Firmware Emulation through Invalidity-guided Knowledge Inference, 2021
UNIFUZZ: A Holistic and Pragmatic Metrics-Driven Platform for Evaluating Fuzzers, 2021
Nyx: Greybox Hypervisor Fuzzing using Fast Snapshots and Affine Types, 2021
Breaking Through Binaries: Compiler-quality Instrumentation for Better Binary-only Fuzzing, 2021
Analysis of DTLS Implementations Using Protocol State Fuzzing
EcoFuzz: Adaptive Energy-Saving Greybox Fuzzing as a Variant of the Adversarial Multi-Armed Bandit (2020)
FANS: Fuzzing Android Native System Services via Automated Interface Analysis (2020)
Fuzzing Error Handling Code using Context-Sensitive Software Fault Injection (2020)
AntiFuzz: Impeding Fuzzing Audits of Binary Executables, 2019
MoonShine: Optimizing OS Fuzzer Seed Selection with Trace Distillation, 2018
QSYM : A Practical Concolic Execution Engine Tailored for Hybrid Fuzzing, 2018
OSS-Fuzz - Google's continuous fuzzing service for open source software, 2017
kAFL: Hardware-Assisted Feedback Fuzzing for OS Kernels, 2017
Predator: Directed Web Application Fuzzing for Efficient Vulnerability Validation, 2025
AFGen: Whole-Function Fuzzing for Applications and Libraries, 2024
DY Fuzzing: Formal Dolev-Yao Models Meet Cryptographic Protocol Fuzz Testing, 2024
LABRADOR: Response Guided Directed Fuzzing for Black-box IoT Devices, 2024
SyzTrust: State-aware Fuzzing on Trusted OS Designed for IoT Devices, 2024
Titan: Efficient Multi-target Directed Greybox Fuzzing, 2024
DEVFUZZ: Automatic Device Model-Guided Device Driver Fuzzing, 2023
RSFuzzer: Discovering Deep SMI Handler Vulnerabilities in UEFI Firmware with Hybrid Fuzzing, 2023
SegFuzz: Segmentizing Thread Interleaving to Discover Kernel Concurrency Bugs through Fuzzing, 2023
SelectFuzz: Efficient Directed Fuzzing with Selective Path Exploration, 2023
TEEzz: Fuzzing Trusted Applications on COTS Android Devices, 2023
UTOPIA: Automatic Generation of Fuzz Driver using Unit Tests, 2023
JIGSAW: Efficient and Scalable Path Constraints Fuzzing, 2022
Effective Seed Scheduling for Fuzzing with Graph Centrality Analysis, 2022,
BEACON: Directed Grey-Box Fuzzing with Provable Path Pruning, 2022
NtFuzz: Enabling Type-Aware Kernel Fuzzing on Windows with Static Binary Analysis, 2021
One Engine to Fuzz 'em All: Generic Language Processor Testing with Semantic Validation, 2021
Pangolin:Incremental Hybrid Fuzzing with Polyhedral Path Abstraction, 2020
RetroWrite: Statically Instrumenting COTS Binaries for Fuzzing and Sanitization, 2020
Full-speed Fuzzing: Reducing Fuzzing Overhead through Coverage-guided Tracing, 2019
Fuzzing File Systems via Two-Dimensional Input Space Exploration, 2019
NEUZZ: Efficient Fuzzing with Neural Program Smoothing, 2019
LIFTFUZZ: Validating Binary Lifters through Context-aware Fuzzing with GPT, 2024
RANsacked: A Domain-Informed Approach for Fuzzing LTE and 5G RAN-Core Interfaces, 2024
RIoTFuzzer: Companion App Assisted Remote Fuzzing for Detecting Vulnerabilities in IoT Devices, 2024
On Understanding and Forecasting Fuzzers Performance with Static Analysis, 2024
FOX: Coverage-guided Fuzzing as Online Stochastic Control, 2024
DarthShader: Fuzzing WebGPU Shader Translators & Compilers, 2024
Collapse Like A House of Cards: Hacking Building Automation System Through Fuzzing, 2024
Leveraging Binary Coverage for Effective Generation Guidance in Kernel Fuzzing, 2024
No Peer, no Cry: Network Application Fuzzing via Fault Injection, 2024
Fuzz to the Future: Uncovering Occluded Future Vulnerabilities via Robust Fuzzing, 2024
CountDown: Refcount-guided Fuzzing for Exposing Temporal Memory Errors in Linux Kernel, 2024
CrossFire: Fuzzing macOS Cross-XPU Memory on Apple Silicon, 2024
DSFuzz: Detecting Deep State Bugs with Dependent State Exploration, 2023
Profile-guided System Optimizations for Accelerated Greybox Fuzzing, 2023
NestFuzz: Enhancing Fuzzing with Comprehensive Understanding of Input Processing Logic, 2023
PyRTFuzz: Detecting Bugs in Python Runtimes via Two-Level Collaborative Fuzzing, 2023
Poster: Combining Fuzzing with Concolic Execution for IoT Firmware Testing, 2023
SFuzz: Slice-based Fuzzing for Real-Time Operating Systems, 2022
LibAFL: A Framework to Build Modular and Reusable Fuzzers, 2022
JIT-Picking: Differential Fuzzing of JavaScript Engines, 2022
Favocado: Fuzzing the Binding Code of JavaScript Engines Using Semantically Correct Test Cases, 2021
WINNIE : Fuzzing Windows Applications with Harness Synthesis and Fast Cloning, 2021
Reinforcement Learning-based Hierarchical Seed Scheduling for Greybox Fuzzing, 2021
Learning to Fuzz from Symbolic Execution with Application to Smart Contracts, 2019
SemFuzz: Semantics-based Automatic Generation of Proof-of-Concept Exploits, 2017
SlowFuzz: Automated Domain-Independent Detection of Algorithmic Complexity Vulnerabilities, 2017
Common and practical tools are included here, most of which have been practiced by the author and have a certain degree of universality. There are also some excellent tools that have not been maintained and updated for a long time and have very limited applicable scenarios, which are not included.
Radamsa: Radamsa is a test case generator for robustness testing, a.k.a. a fuzzer. It is typically used to test how well a program can withstand malformed and potentially malicious inputs. It works by reading sample files of valid data and generating interestringly different outputs from them. The main selling points of radamsa are that it has already found a slew of bugs in programs that actually matter, it is easily scriptable and, easy to get up and running.
zzuf: zzuf is a transparent application input fuzzer. It works by intercepting file operations and changing random bits in the program's input. zzuf's behaviour is deterministic, making it easy to reproduce bugs.
afl-unicorn: Fuzzing The 'Unfuzzable' : afl-unicorn lets you fuzz any piece of binary that can be emulated by Unicorn Engine.
Intriguer: Intriguer is a concolic execution engine for hybrid fuzzing. The key idea of Intriguer is a field-level constraint solving, which optimizes symbolic execution with field-level information.
Unicorefuzz: Fuzzing the Kernel using UnicornAFL and AFL++. For details, skim through the WOOT paper or watch this talk at CCCamp19.
libFuzzer: LibFuzzer is in-process, coverage-guided, evolutionary fuzzing engine. LibFuzzer is linked with the library under test, and feeds fuzzed inputs to the library via a specific fuzzing entrypoint (aka “target function”); the fuzzer then tracks which areas of the code are reached, and generates mutations on the corpus of input data in order to maximize the code coverage. The code coverage information for libFuzzer is provided by LLVM’s SanitizerCoverage instrumentation.
Honggfuzz: A security oriented, feedback-driven, evolutionary, easy-to-use fuzzer with interesting analysis options. See the Usage document for a primer on Honggfuzz use.
syzkaller: syzkaller is an unsupervised coverage-guided kernel fuzzer.
frida-fuzzer: This experimetal fuzzer is meant to be used for API in-memory fuzzing.
winafl: A fork of AFL for fuzzing Windows binaries
trinity: Linux system call fuzzer.
NtCall64: Windows NT x64 syscall fuzzer .
kDriver-Fuzzer: A kernel driver fuzzer, based on ioctlbf.
FuzzBALL: Vine-based Binary Symbolic Execution.
Sulley/Boofuzz: A fork and successor of the Sulley Fuzzing Framework
fuzzowski: The Network Protocol Fuzzer that we will want to use.
Peach: Peach is a fuzzing framework which uses a DSL for building fuzzers and an observer based architecture to execute and monitor them.
Defensics: Defensics is a comprehensive, versatile, automated black box fuzzer that enables organizations to efficiently and effectively discover and remediate security weaknesses in software.
bsSTORM: Black box Fuzz Testing is a requirement of the Verification phase of the SDL, the industry-leading software security assurance process that was created by Microsoft and proven effective since 2004.
API-fuzzer: API Fuzzer which allows to fuzz request attributes using common pentesting techniques and lists vulnerabilities
domato: A DOM fuzzer: Written and maintained by Ivan Fratric, ifratric@google.com
FirmSolo: Enabling dynamic analysis of binary Linux-based IoT kernel modules, 2023
Fuzzware: Using Precise MMIO Modeling for Effective Firmware Fuzzing, 2022
Automatic Firmware Emulation through Invalidity-guided Knowledge Inference, 2021
IOTFUZZER: Discovering Memory Corruptions in IoT Through App-based Fuzzing
FIRM-AFL: High-Throughput Greybox Fuzzing of IoT Firmware via Augmented Process Emulation
FIRMCORN: Vulnerability-Oriented Fuzzing of IoT Firmware via Optimized Virtual Execution