Chrome Release Bot (LUCI) 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
..
fuzzer_support_ios 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
fuzzers 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
proto 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
tests 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
AFL_integration.md 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
BUILD.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
OWNERS 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
README.md 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
archive_corpus.py 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
dictionary_generator.py 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
efficient_fuzzing.md 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
fuzzer_test.gni 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
gen_fuzzer_config.py 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
gen_fuzzer_owners.py 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
getting_started.md 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
libFuzzer_integration.md 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
libfuzzer_exports.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
libprotobuf-mutator.md 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
reference.md 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
reproducing.md 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
unittest_main.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
zip_sources.py 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago

README.md

Fuzz testing in Chromium

go/chrome-fuzzing

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.

[TOC]

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

*** note Note: You can also fuzz code that needs multiple mutated inputs, or to generate inputs defined by a grammar.


Further Reading

Trophies

Other Links