Clone this repo:


  1. 77d12e7 [libFuzzer] Use std::lock_guard, fix deadlock and don't use seed corpus. by Jonathan Metzman · 33 hours ago master
  2. bcf0f32 [libFuzzer] Add fully instrumented v8 fuzzer. by Jonathan Metzman · 4 days ago
  3. 8403f1b Add code to print out native input for proto fuzzers and document. by Jonathan Metzman · 8 days ago
  4. eead6d6 Bug fix: when parsing fp header, 'src' should be disallowed and treated as a bad origin by Luna Lu · 13 days ago
  5. 4c07d23 Only build SwiftShader fuzzer on x86. by Nicolas Capens · 2 weeks ago

libFuzzer in Chrome


This directory contains integration between libFuzzer and Chrome. libFuzzer is an in-process coverage-driven evolutionary fuzzer. It helps engineers to uncover potential security & stability problems earlier.

Requirements: libFuzzer in Chrome is supported with GN on Mac and Linux only.

Integration Status

Fuzzer tests are well-integrated with Chrome build system & distributed ClusterFuzz fuzzing system. Cover bug:


  • Getting Started Guide walks you through all the steps necessary to create your fuzzer and submit it to ClusterFuzz.
  • Efficient Fuzzer Guide explains how to measure fuzzer effectiveness and ways to improve it.
  • Guide to libprotobuf-mutator walks through the steps necessary to create a fuzzer that libFuzzer gives mutated protobufs to as input (for developers already familiar with libFuzzer).
  • ClusterFuzz Integration describes integration between ClusterFuzz and libFuzzer.
  • Reproducing contains information on how to reproduce bugs reported by ClusterFuzz.
  • Reference contains detailed references for different integration parts.


  • ClusterFuzz Bugs - issues found and automatically filed by ClusterFuzz.
  • Manual Bugs - issues that were filed manually after running fuzzers.
  • Pdfium Bugs - bugs found in pdfium by manual fuzzing.
  • OSS Trophies - bugs found with libFuzzer in open-source projects.

Blog Posts

Project Links