awesome-fuzzing

Vulnerability finder

A curated list of resources and tools for testing software security by providing invalid or unexpected inputs to identify vulnerabilities.

A curated list of awesome Fuzzing(or Fuzz Testing) for software security

GitHub

853 stars
47 watching
86 forks
last commit: about 1 year ago
Linked from 4 awesome lists

awesomeawesome-listcpuufuzz-testingfuzzing

Awesome Fuzzing / Books

Fuzzing-101 3,269 8 months ago
The Fuzzing Book (2019)
The Art, Science, and Engineering of Fuzzing: A Survey (2019) - Actually, this document is a paper, but it contains more important and essential content than any other book
Fuzzing for Software Security Testing and Quality Assurance, 2nd Edition (2018)
Fuzzing: Brute Force Vulnerability Discovery, 1st Edition (2007)
Open Source Fuzzing Tools, 1st Edition (2007)

Awesome Fuzzing / Talks

Fuzzing Labs - Patrick Ventuzelo , Youtube
Effective File Format Fuzzing , Black Hat Europe 2016
Adventures in Fuzzing , NYU Talk 2018
Fuzzing with AFL , NDC Conferences 2018

Awesome Fuzzing / Papers / The Network and Distributed System Security Symposium (NDSS)

Semantic-Informed Driver Fuzzing Without Both the Hardware Devices and the Emulators, 2022
MobFuzz: Adaptive Multi-objective Optimization in Gray-box Fuzzing, 2022
Context-Sensitive and Directional Concurrency Fuzzing for Data-Race Detection, 2022
EMS: History-Driven Mutation for Coverage-based Fuzzing, 2022
WINNIE : Fuzzing Windows Applications with Harness Synthesis and Fast Cloning, 2021
Reinforcement Learning-based Hierarchical Seed Scheduling for Greybox Fuzzing, 2021
PGFUZZ: Policy-Guided Fuzzing for Robotic Vehicles, 2021
Favocado: Fuzzing Binding Code of JavaScript Engines Using Semantically Correct Test Cases, 2021
HFL: Hybrid Fuzzing on the Linux Kernel, 2020
HotFuzz: Discovering Algorithmic Denial-of-Service Vulnerabilities Through Guided Micro-Fuzzing, 2020
HYPER-CUBE: High-Dimensional Hypervisor Fuzzing, 2020
Not All Coverage Measurements Are Equal: Fuzzing by Coverage Accounting for Input Prioritization, 2020
CodeAlchemist: Semantics-Aware Code Generation to Find Vulnerabilities in JavaScript Engines, 2019
PeriScope: An Effective Probing and Fuzzing Framework for the Hardware-OS Boundary, 2019
REDQUEEN: Fuzzing with Input-to-State Correspondence, 2019
Send Hardest Problems My Way: Probabilistic Path Prioritization for Hybrid Fuzzing, 2019
Life after Speech Recognition: Fuzzing Semantic Misinterpretation for Voice Assistant Applications, 2019
INSTRIM: Lightweight Instrumentation for Coverage-guided Fuzzing, 2018
IoTFuzzer: Discovering Memory Corruptions in IoT Through App-based Fuzzing, 2018
What You Corrupt Is Not What You Crash: Challenges in Fuzzing Embedded Devices, 2018
Enhancing Memory Error Detection for Large-Scale Applications and Fuzz Testing, 2018
Vuzzer: Application-aware evolutionary fuzzing, 2017
DELTA: A Security Assessment Framework for Software-Defined Networks, 2017
Driller: Augmenting Fuzzing Through Selective Symbolic Execution, 2016
Automated Whitebox Fuzz Testing, 2008

Awesome Fuzzing / Papers / IEEE Symposium on Security and Privacy (IEEE S&P)

PATA: Fuzzing with Path Aware Taint Analysis, 2022
Jigsaw: Efficient and Scalable Path Constraints Fuzzing, 2022
FuzzUSB: Hybrid Stateful Fuzzing of USB Gadget Stacks, 2022 34 over 2 years ago
Effective Seed Scheduling for Fuzzing with Graph Centrality Analysis, 2022
BEACON : Directed Grey-Box Fuzzing with Provable Path Pruning, 2022
STOCHFUZZ: Sound and Cost-effective Fuzzing of Stripped Binaries by Incremental and Stochastic Rewriting, 2021
One Engine to Fuzz 'em All: Generic Language Processor Testing with Semantic Validation, 2021
NTFUZZ: Enabling Type-Aware Kernel Fuzzing on Windows with Static Binary Analysis, 2021
DIFUZZRTL: Differential Fuzz Testing to Find CPU Bugs, 2021
DIANE: Identifying Fuzzing Triggers in Apps to Generate Under-constrained Inputs for IoT Devices, 2021
Fuzzing JavaScript Engines with Aspect-preserving Mutation, 2020
IJON: Exploring Deep State Spaces via Fuzzing, 2020
Krace: Data Race Fuzzing for Kernel File Systems, 2020
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
Razzer: Finding Kernel Race Bugs through Fuzzing, 2019
Angora: Efficient Fuzzing by Principled Search, 2018
CollAFL: Path Sensitive Fuzzing, 2018
T-Fuzz: fuzzing by program transformation, 2018
Skyfire: Data-Driven Seed Generation for Fuzzing, 2017
Program-Adaptive Mutational Fuzzing, 2015
TaintScope: A checksum-aware directed fuzzing tool for automatic software vulnerability detection, 2010

Awesome Fuzzing / Papers / USENIX Security

StateFuzz: System Call-Based State-Aware Linux Driver Fuzzing, 2022
FIXREVERTER: A Realistic Bug Injection Methodology for Benchmarking Fuzz Testing, 2022
SGXFuzz: Efficiently Synthesizing Nested Structures for SGX Enclave Fuzzing, 2022
AmpFuzz: Fuzzing for Amplification DDoS Vulnerabilities, 2022
Stateful Greybox Fuzzing, 2022
BrakTooth: Causing Havoc on Bluetooth Link Manager via Directed Fuzzing, 2022
Fuzzing Hardware Like Software, 2022
Drifuzz: Harvesting Bugs in Device Drivers from Golden Seeds, 2022
FuzzOrigin: Detecting UXSS vulnerabilities in Browsers through Origin Fuzzing, 2022
TheHuzz: Instruction Fuzzing of Processors Using Golden-Reference Models for Finding Software-Exploitable Vulnerabilities, 2022
MundoFuzz: Hypervisor Fuzzing with Statistical Coverage Testing and Grammar Inference, 2022
Fuzzware: Using Precise MMIO Modeling for Effective Firmware Fuzzing, 2022
SyzScope: Revealing High-Risk Security Impacts of Fuzzer-Exposed Bugs in Linux kernel, 2022
Morphuzz: Bending (Input) Space to Fuzz Virtual Devices, 2022
Breaking Through Binaries: Compiler-quality Instrumentation for Better Binary-only Fuzzing, 2021
ICSFuzz: Manipulating I/Os and Repurposing Binary Code to Enable Instrumented Fuzzing in ICS Control Applications, 2021
Android SmartTVs Vulnerability Discovery via Log-Guided Fuzzing, 2021
Constraint-guided Directed Greybox Fuzzing, 2021
Nyx: Greybox Hypervisor Fuzzing using Fast Snapshots and Affine Types, 2021
UNIFUZZ: A Holistic and Pragmatic Metrics-Driven Platform for Evaluating Fuzzers, 2021
FANS: Fuzzing Android Native System Services via Automated Interface Analysis, 2020
Analysis of DTLS Implementations Using Protocol State Fuzzing, 2020
EcoFuzz: Adaptive Energy-Saving Greybox Fuzzing as a Variant of the Adversarial Multi-Armed Bandit, 2020
Fuzzing Error Handling Code using Context-Sensitive Software Fault Injection, 2020
FuzzGen: Automatic Fuzzer Generation, 2020
ParmeSan: Sanitizer-guided Greybox Fuzzing, 2020
SpecFuzz: Bringing Spectre-type vulnerabilities to the surface, 2020
FuzzGuard: Filtering out Unreachable Inputs in Directed Grey-box Fuzzing through Deep Learning, 2020
Montage: A Neural Network Language Model-Guided JavaScript Engine Fuzzer, 2020
GREYONE: Data Flow Sensitive Fuzzing, 2020
Fuzzification: Anti-Fuzzing Techniques, 2019
AntiFuzz: Impeding Fuzzing Audits of Binary Executables, 2019
Charm: Facilitating Dynamic Analysis of Device Drivers of Mobile Systems, 2018
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
Protocol State Fuzzing of TLS Implementations, 2015
Optimizing Seed Selection for Fuzzing, 2014
Dowsing for overflows: a guided fuzzer to find buffer boundary violations, 2013
Fuzzing with Code Fragments, 2012

Awesome Fuzzing / Papers / ACM Conference on Computer and Communications Security (ACM CCS)

Fuzz on the Beach: Fuzzing Solana Smart Contracts, 2023
NestFuzz: Enhancing Fuzzing with Comprehensive Understanding of Input Processing Logic, 2023
Profile-Driven System Optimizations for Accelerated Greybox Fuzzing, 2023
Hopper: Interpretative Fuzzing for Libraries, 2023
Greybox Fuzzing of Distributed Systems, 2023
SpecDoctor: Differential Fuzz Testing to Find Transient Execution Vulnerabilities, 2022
SFuzz: Slice-based Fuzzing for Real-Time Operating Systems, 2022
MC^2: Rigorous and Efficient Directed Greybox Fuzzing, 2022
LibAFL: A Framework to Build Modular and Reusable Fuzzers, 2022
JIT-Picking: Differential Fuzzing of JavaScript Engines, 2022
DriveFuzz: Discovering Autonomous Driving Bugs through Driving Quality-Guided Fuzzing, 2022
SoFi: Reflection-Augmented Fuzzing for JavaScript Engines, 2021
T-Reqs: HTTP Request Smuggling with Differential Fuzzing, 2021
V-SHUTTLE: Scalable and Semantics-Aware Hypervisor Fuzzing, 2021
Same Coverage, Less Bloat: Accelerating Binary-only Fuzzing with Coverage-preserving Coverage-guided Tracing, 2021
HyperFuzzer: An Efficient Hybrid Fuzzer For Virtual CPUs, 2021
Regression Greybox Fuzzing, 2021
Hardware Support to Improve Fuzzing Performance and Precision, 2021
SNIPUZZ: Black-box Fuzzing of IoT Firmware via Message Snippet Inference, 2021
FREEDOM: Engineering a State-of-the-Art DOM Fuzzer, 2020
Intriguer: Field-Level Constraint Solving for Hybrid Fuzzing, 2019
Learning to Fuzz from Symbolic Execution with Application to Smart Contracts, 2019
Matryoshka: fuzzing deeply nested branches, 2019
Evaluating Fuzz Testing, 2018
Hawkeye: Towards a Desired Directed Grey-box Fuzzer, 2018
IMF: Inferred Model-based Fuzzer, 2017
SemFuzz: Semantics-based Automatic Generation of Proof-of-Concept Exploits, 2017
AFL-based Fuzzing for Java with Kelinci, 2017
Designing New Operating Primitives to Improve Fuzzing Performance, 2017
Directed Greybox Fuzzing, 2017
SlowFuzz: Automated Domain-Independent Detection of Algorithmic Complexity Vulnerabilities, 2017
DIFUZE: Interface Aware Fuzzing for Kernel Drivers, 2017
Systematic Fuzzing and Testing of TLS Libraries, 2016
Coverage-based Greybox Fuzzing as Markov Chain, 2016
eFuzz: A Fuzzer for DLMS/COSEM Electricity Meters, 2016
Scheduling Black-box Mutational Fuzzing, 2013
Taming compiler fuzzers, 2013
SAGE: whitebox fuzzing for security testing, 2012
Grammar-based whitebox fuzzing, 2008
Taint-based directed whitebox fuzzing, 2009

Awesome Fuzzing / Papers / ArXiv (Fuzzing with Artificial Intelligence & Machine Learning)

MEUZZ: Smart Seed Scheduling for Hybrid Fuzzing, 2020
A Review of Machine Learning Applications in Fuzzing, 2019
Evolutionary Fuzzing of Android OS Vendor System Services, 2019
MoonLight: Effective Fuzzing with Near-Optimal Corpus Distillation, 2019
Coverage-Guided Fuzzing for Deep Neural Networks, 2018
DLFuzz: Differential Fuzzing Testing of Deep Learning Systems, 2018
TensorFuzz: Debugging Neural Networks with Coverage-Guided Fuzzing, 2018
NEUZZ: Efficient Fuzzing with Neural Program Learning, 2018
EnFuzz: From Ensemble Learning to Ensemble Fuzzing, 2018
REST-ler: Automatic Intelligent REST API Fuzzing, 2018
Deep Reinforcement Fuzzing, 2018
Not all bytes are equal: Neural byte sieve for fuzzing, 2017
Faster Fuzzing: Reinitialization with Deep Neural Models, 2017
Learn&Fuzz: Machine Learning for Input Fuzzing, 2017
Complementing Model Learning with Mutation-Based Fuzzing, 2016

Awesome Fuzzing / Papers / The others

Fuzzle: Making a Puzzle for Fuzzers, 2022
Ifuzzer: An evolutionary interpreter fuzzer using genetic programming, 2016
Hybrid fuzz testing: Discovering software bugs via fuzzing and symbolic execution, 2012
Call-Flow Aware API Fuzz Testing for Security of Windows Systems, 2008
Feedback-directed random test generation, 2007
MTF-Storm:a high performance fuzzer for Modbus/TCP, 2018
A Modbus/TCP Fuzzer for testing internetworked industrial systems, 2015

Awesome Fuzzing / Tools / File

AFL++ 5,306 about 1 month ago AFL++ is a superior fork to Google's AFL - more speed, more and better mutations, more and better instrumentation, custom module support, etc
Angora 932 over 2 years ago Angora is a mutation-based coverage guided fuzzer. The main goal of Angora is to increase branch coverage by solving path constraints without symbolic execution

Awesome Fuzzing / Tools / API

IvySyn IvySyn is a fully-automated framework for discovering memory error vulnerabilities in Deep Learning (DL) frameworks
MINER 37 almost 2 years ago MINER is a REST API fuzzer that utilizes three data-driven designs working together to guide the sequence generation, improve the request generation quality, and capture the unique errors caused by incorrect parameter usage
RestTestGen 41 10 months ago RestTestGen is a robust tool and framework designed for automated black-box testing of RESTful web APIs
GraphFuzz 9 over 2 years ago GraphFuzz is an experimental framework for building structure-aware, library API fuzzers
Minerva 31 11 months ago Minerva is a browser fuzzer augmented by API mod-ref relations, aiming to synthesize highly-relevant browser API invocations in each test case
FANS 244 over 4 years ago FANS is a fuzzing tool for fuzzing Android native system services. It contains four components: interface collector, interface model extractor, dependency inferer, and fuzzer engine

Awesome Fuzzing / Tools / CPU

DifuzzRTL 79 8 months ago DifuzzRTL is a differential fuzz testing approach for CPU verification
MorFuzz 25 about 1 year ago MorFuzz is a generic RISC-V processor fuzzing framework that can efficiently detect software triggerable functional bugs
SpecFuzz 30 almost 5 years ago SpecFuzz is a tool to enable fuzzing for Spectre vulnerabilities
Transynther 18 over 4 years ago Transynther automatically generates and tests building blocks for Meltdown attacks with various faults and microcode assists

Awesome Fuzzing / Tools / Web

TEFuzz 15 almost 2 years ago TEFuzz is a tailored fuzzing-based framework to facilitate the detection and exploitation of template escape bugs
Witcher 78 about 1 year ago Witcher is a web application fuzzer that utilizes mutational fuzzing to explore web applications and fault escalation to detect command and SQL injection vulnerabilities
CorbFuzz 3 over 3 years ago CorbFuzz is a state-aware fuzzer for generating as much reponses from a web application as possible without need of setting up database, etc

Awesome Fuzzing / Tools / Blockchain

Fluffy 55 over 3 years ago Fluffy is a multi-transaction differential fuzzer for finding consensus bugs in Ethereum
LOKI 12 over 1 year ago LOKI is a blockchain consensus protocol fuzzing framework that detects the consensus memory related and logic bugs

Awesome Fuzzing / Tools / DBMS

Squirrel 188 almost 2 years ago Squirrel is a fuzzer for database managment systems (DBMSs)

Backlinks from these awesome lists:

More related projects: