0
Files
src/testing/libfuzzer
Titouan Rigoudy b7ad504372 [Fuzzing] Actually add v8 fuzzers to high-end build.
I had explicitly prevented `v8_fuzzer` from forwarding the right
template argument to `fuzzer_test`.

Tested locally, fixes the issue:

```
$ gn refs --all --type=executable \
  out/centipede-linux-asan-highendbot \
  //testing/libfuzzer:fuzzing_engine
//chrome/test/fuzzing:atspi_in_process_fuzzer
//chrome/test/fuzzing:domato_html_in_process_fuzzer
//chrome/test/fuzzing:html_in_process_fuzzer
//chrome/test/fuzzing:js_in_process_fuzzer
//chrome/test/fuzzing:kombucha_in_process_fuzzer
//chrome/test/fuzzing:notification_service_in_process_fuzzer
//chrome/test/fuzzing:page_load_in_process_fuzzer
//chrome/test/fuzzing:speech_synthesis_in_process_fuzzer
//chrome/test/fuzzing:webcodecs_in_process_fuzzer
//chrome/test/fuzzing/webidl_fuzzing:webidl_in_process_fuzzer
//testing/libfuzzer/fuzzers:v8_multi_return_fuzzer
//testing/libfuzzer/fuzzers:v8_wasm_async_fuzzer
//testing/libfuzzer/fuzzers:v8_wasm_code_fuzzer
//testing/libfuzzer/fuzzers:v8_wasm_compile_all_fuzzer
//testing/libfuzzer/fuzzers:v8_wasm_compile_fuzzer
//testing/libfuzzer/fuzzers:v8_wasm_compile_simd_fuzzer
//testing/libfuzzer/fuzzers:v8_wasm_compile_wasmgc_fuzzer
//testing/libfuzzer/fuzzers:v8_wasm_deopt_fuzzer
//testing/libfuzzer/fuzzers:v8_wasm_init_expr_fuzzer
//testing/libfuzzer/fuzzers:v8_wasm_module_fuzzer
//testing/libfuzzer/fuzzers:v8_wasm_streaming_fuzzer
```

Bug: chromium:394563978
Change-Id: I38a7da6c8769ade4e82808a1389f9abf74689bbc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6249781
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Titouan Rigoudy <titouan@chromium.org>
Auto-Submit: Titouan Rigoudy <titouan@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1418162}
2025-02-10 08:11:59 -08:00
..
2025-01-13 06:34:20 -08:00

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.

You should fuzz any code which absorbs inputs from untrusted sources, such as the web. If the code parses, decodes, or otherwise manipulates that input, it's an especially good idea to fuzz it.

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

Advanced Topics

Further Reading

Trophies