Introduction

So, you want to learn how to use LibAFL! Welcome to the future of fuzzing. You can read all about LibAFL and the features it offers on their github page, but the highlights are:

  • Fast: LibAFL lets you create the fastest fuzzers possible, with minimal overhead.
  • Rust: Take advantage of the Rust language and ecosystem, including package management and robust FFI.
  • Scaling: LibAFL scales across cores and machines by default.
  • Any platform: LibAFL runs on Windows, Linux, Android, MacOS, and embedded environments.
  • Any target: LibAFL can fuzz targets on any platform it runs on, and any other platform by creating remote harnesses. Fuzz FPGAs, UEFI firmware, Web Apps, and more, with or without source code.
  • Customizable: LibAFL gives you robust building blocks to assemble powerful fuzzers, but every component can be swapped out and customized for your use case or for maximum performance.

Some additional excellent resources on LibAFL are below.