A curated list of awesome Fuzzing(or Fuzz Testing) for software security
Branch: master
Clone or download
Latest commit 25d4e2f Feb 13, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
README.md Update README.md Feb 13, 2019
code-of-conduct.md
contributing.md init Oct 26, 2018

README.md

Awesome Fuzzing & Fuzz Testing Awesome

fuzzing is the action of running a Program Under Test (PUT) with “fuzz inputs”. -Prof. Barton P Miller

A curated list of references to awesome Fuzzing for security testing. Additionally there is a collection of freely available academic papers, tools and so on.

Your favorite tool or your own paper is not listed? Fork and create a Pull Request to add it!

Contents

Books

Papers

To achieve a well-defined scope, I have chosen to include all publications on fuzzing in the last proceedings of 4 major security conferences and others from Jan 2008 to Feb 2019.

The Network and Distributed System Security Symposium (NDSS)

ACM Conference on Computer and Communications Security (ACM CCS)

USENIX Security

IEEE Symposium on Security and Privacy (IEEE S&P)

ArXiv (Fuzzing with Artificial Intelligence & Machine Learning)

The others

Tools

Information about the various open source tools you can use to leverage fuzz testing.

General-purpose

  • radamsa - A general-purpose fuzzer.
  • zzuf - A transparent application input fuzzer.

Binary

  • American fuzzy lop - A security-oriented fuzzer that employs a novel type of compile-time instrumentation and genetic algorithms to automatically discover clean, interesting test cases that trigger new internal states in the targeted binary.
  • WinAFL - A fork of AFL for fuzzing Windows binaries.
  • libFuzzer - A library for coverage-guided fuzz testing. Tutorial from Google
  • Driller - An implementation of the driller paper. This implementation was built on top of AFL with angr being used as a symbolic tracer.
  • shellphish fuzzer - A python interface to AFL, allowing for easy injection of testcases and other functionality.

Web, JavaScript

Network protocol

  • TLS-Attacker - a Java-based framework for analyzing TLS libraries.
  • DELTA - SDN Security evaluation framework.
  • boofuzz - Network Protocol Fuzzing for Humans. Documentation is available at http://boofuzz.readthedocs.io/, including nifty quickstart guides.
  • LL-Fuzzer - An automated NFC fuzzing framework for Android devices.
  • tlsfuzzer - A SSL and TLS protocol test suite and fuzzer.
  • TumbleRF - A framework that orchestrates the application of fuzzing techniques to RF systems.
  • PULSAR - A method for stateful black-box fuzzing of proprietary network protocols.

Platform

Contribute

Contributions welcome! Read the contribution guidelines first.

License

CC0

To the extent possible under law, cpuu has waived all copyright and related or neighboring rights to this work.