OSS-Fuzz - continuous fuzzing for open source software.
Go to file
Paulo Gomes 209cea0a31
go-git: Fix build issue and auto-discover targets (#12963)
Main changes are:
- Dynamically find and build all fuzzing targets.
- Fix current build issues.
- Cache go dependencies when cloning repositories.
- Clean up test files by removing structs, global values and comments
which were leading to some errors.
- Expand scope to `go-git/go-billy`.

The logic for dynamic finding and building fuzzing targets is largely
the same as for the fluxcd project.

Requires https://github.com/go-git/go-git/pull/1404 to be merged for
building to work again.

Signed-off-by: Paulo Gomes <pjbgf@linux.com>
2025-01-23 17:14:17 +00:00
.allstar Opt out of allstar binary artifacts check (#7816) 2022-06-08 09:37:08 -04:00
.clusterfuzzlite ClusterFuzzLite: fix fuzzer (#11649) 2024-02-28 22:32:52 -05:00
.github infra: fix ci failure (#12871) 2024-12-19 09:56:15 +00:00
docs build(deps-dev): bump rexml from 3.3.6 to 3.3.9 in /docs in the bundler group (#12770) 2024-12-30 18:42:40 +11:00
infra chronos: Run build_cache_local.sh on cloud build (#12962) 2025-01-23 19:56:56 +11:00
projects go-git: Fix build issue and auto-discover targets (#12963) 2025-01-23 17:14:17 +00:00
tools/vscode-extension vscode: bump introspector and add command for getting optimal targets (#12942) 2025-01-15 20:14:52 +00:00
.dockerignore [ClusterFuzzLite] Support GCB and gsutil/gcs as filestore. (#6629) 2021-10-27 10:00:04 -04:00
.gitattributes Add .gitattributes to specify LF as .sh line terminator (#7648) 2022-05-02 10:12:06 -04:00
.gitignore Add IntelliJ IDEA files to `.gitignore` (#12311) 2024-08-07 21:37:24 +01:00
.pylintrc Dont allow unsued globals and allow fp (#12190) 2024-07-09 12:26:06 -04:00
.style.yapf
CITATION.cff Update CITATION.cff 2024-05-01 11:54:21 -04:00
CONTRIBUTING.md
LICENSE
README.md Update README.md (#11643) 2024-02-29 13:06:10 -05:00

README.md

OSS-Fuzz: Continuous Fuzzing for Open Source Software

Fuzz testing is a well-known technique for uncovering programming errors in software. Many of these detectable errors, like buffer overflow, can have serious security implications. Google has found thousands of security vulnerabilities and stability bugs by deploying guided in-process fuzzing of Chrome components, and we now want to share that service with the open source community.

In cooperation with the Core Infrastructure Initiative and the OpenSSF, OSS-Fuzz aims to make common open source software more secure and stable by combining modern fuzzing techniques with scalable, distributed execution. Projects that do not qualify for OSS-Fuzz (e.g. closed source) can run their own instances of ClusterFuzz or ClusterFuzzLite.

We support the libFuzzer, AFL++, and Honggfuzz fuzzing engines in combination with Sanitizers, as well as ClusterFuzz, a distributed fuzzer execution environment and reporting tool.

Currently, OSS-Fuzz supports C/C++, Rust, Go, Python, Java/JVM, and JavaScript code. Other languages supported by LLVM may work too. OSS-Fuzz supports fuzzing x86_64 and i386 builds.

Overview

OSS-Fuzz process diagram

Documentation

Read our detailed documentation to learn how to use OSS-Fuzz.

Trophies

As of August 2023, OSS-Fuzz has helped identify and fix over 10,000 vulnerabilities and 36,000 bugs across 1,000 projects.

Blog posts