Making fuzzing more effective every day

Technologies
c/c++, llvm, fuzzing, qemu, sanitizers
Topics
bug finding, fuzzing, software testing
Making fuzzing more effective every day

Though as an organization we are just a year old, every member has been involved with security and fuzzing for many years. Our goal is to make fuzzing as effective as possible, and for that, based on the famous afl-fuzz which is no longer maintained actively, we 1) We enhance afl-fuzz in many ways and 2) incorporate research from other researchers. So we integrate and re-engineer research results into our tool and do a lot research ourselves. Floating-point comparisons bypassing in LLVM and QEMU, NeverZero counters in the AFL map, link-time instrumentation in order to avoid collisions and persistent mode in Unicorn and QEMU are some of our novelties developed by our project. This we call afl++, and it is simply the most powerful fuzzing framework today.

2020 Program

Successful Projects

Contributor
Rishi Ranjan
Mentor
domenukk, Heiko Eißfeldt
Organization
afl++
Reengineer afl-fuzz as Thread Safe, Embeddable Library
This project idea aims to extend the afl-fuzz project as a multithreaded software using the standard linux threading library pthreads, while keeping...
Contributor
Shengtuo Hu
Mentor
Andrea Fioraldi, Marc Heuse
Organization
afl++
A Flexible Grammar Mutator
AFL++’s mutation engine is optimized for compact data formats, such as images, multimedia, compressed data. However, the current AFL++ does not...