commit | 93908bfa515987a5ccad2cc319137369c389da26 | [log] [tgz] |
---|---|---|
author | Titouan Rigoudy <titouan@chromium.org> | Tue Jul 09 09:14:45 2024 |
committer | Copybara-Service <copybara-worker@google.com> | Tue Jul 09 09:19:04 2024 |
tree | 88df0d03a17ad6e2064749e5b5d45e6ce850c9d5 | |
parent | 097a27e43a6dbd432d4713c6cc7dd22b17f7102a [diff] |
[Fuzzing] Fuzz gfx::PaintVectorIcon(). This does not seem to be very useful for security, as all vector icon definitions are auto-generated from `.icon` files checked in tree. Still, it could find stability bugs. Bug: chromium:40942949 Change-Id: I633dbe782f196756ec61e28a8366754c496e6c79 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5335336 Commit-Queue: Titouan Rigoudy <titouan@chromium.org> Reviewed-by: Ali Hijazi <ahijazi@chromium.org> Reviewed-by: David Yeung <dayeung@chromium.org> Reviewed-by: Evan Stade <estade@chromium.org> Cr-Commit-Position: refs/heads/main@{#1324746} NOKEYCHECK=True GitOrigin-RevId: 95de97072f7100abaad915decb82c850bc15c1b9
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.
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.
Creating a fuzz target that expects a protobuf instead of a byte stream as input.
Reproducing bugs found by libFuzzer/AFL and reported by ClusterFuzz.
Fuzzing mojo interfaces using automatically generated libprotobuf-mutator fuzzers.