Clone this repo:


  1. 299fdb8 [mathml] Add fuzz target for blink::FindCategory() by Frédéric Wang · 3 days ago main
  2. 82e5ad6 Rewrite raw pointer fields to use raw_ptr<T> for mac by Keishi Hattori · 8 days ago
  3. 94ab362 Remove and from OWNERS files by Andreas Haas · 3 weeks ago
  4. d144db4 Add v8_wasm_streaming_fuzzer by Clemens Backes · 3 weeks ago
  5. 5e9ff57 Uncomment prevent_unsafe_narrowing and change from opt-out to opt-in. by Peter Kasting · 5 weeks ago

Fuzz testing in Chromium


Fuzzing is a testing technique that feeds auto-generated inputs to a piece of target code in an attempt to crash the code. It's one of the most effective methods we have for finding security and stability issues (see go/fuzzing-success). You can learn more about the benefits of fuzzing at go/why-fuzz.

This documentation covers the in-process guided fuzzing approach employed by different fuzzing engines, such as libFuzzer or AFL. To learn more about out-of-process fuzzers, please refer to the Blackbox fuzzing page in the ClusterFuzz documentation.

Getting Started

In Chromium, you can easily create and submit fuzz targets. The targets are automatically discovered by buildbots, built with different fuzzing engines, then uploaded to the distributed ClusterFuzz fuzzing system to run at scale.

Create your first fuzz target and submit it by stepping through our Getting Started Guide.

Advanced Topics

Further Reading


Other Links