oss-fuzz  by google

Continuous fuzzing for open source software

created 9 years ago
11,210 stars

Top 4.6% on sourcepulse

GitHubView on GitHub
Project Summary

OSS-Fuzz provides a free, continuous fuzzing service for open-source projects to detect security vulnerabilities and stability bugs. It targets developers and maintainers of open-source software, aiming to improve overall software security and reliability by leveraging Google's extensive experience in fuzzing.

How It Works

OSS-Fuzz utilizes a combination of guided fuzzing engines (libFuzzer, AFL++, Honggfuzz) with sanitizers and a distributed execution environment called ClusterFuzz. This approach allows for scalable, in-depth analysis of code, effectively uncovering memory corruption bugs and other vulnerabilities that might be missed by traditional testing methods.

Quick Start & Requirements

To integrate a project, follow the detailed documentation available at https://github.com/google/oss-fuzz/blob/main/docs/adding_new_project.md. Projects typically require a fuzzing target (a function that takes input and passes it to the code being fuzzed) and a build configuration. OSS-Fuzz supports C/C++, Rust, Go, Python, Java/JVM, and JavaScript.

Highlighted Details

  • Identified over 10,000 vulnerabilities and 36,000 bugs across 1,000 projects as of August 2023.
  • Supports multiple fuzzing engines: libFuzzer, AFL++, and Honggfuzz.
  • Integrates with sanitizers for enhanced bug detection.
  • Supports fuzzing for x86_64 and i386 architectures.

Maintenance & Community

OSS-Fuzz is a Google-backed initiative, in cooperation with the Core Infrastructure Initiative and the OpenSSF. Blog posts detail ongoing developments and research in fuzzing.

Licensing & Compatibility

The project itself is licensed under the Apache 2.0 license. It is designed to fuzz open-source software, and the service is provided free of charge to qualifying projects.

Limitations & Caveats

OSS-Fuzz is primarily focused on open-source projects; closed-source projects need to run their own instances of ClusterFuzz or ClusterFuzzLite. While it supports many languages, effectiveness may vary, and some languages supported by LLVM might work but are not explicitly guaranteed.

Health Check
Last commit

1 day ago

Responsiveness

1 day

Pull Requests (30d)
254
Issues (30d)
6
Star History
231 stars in the last 90 days

Explore Similar Projects

Starred by Elie Bursztein Elie Bursztein(Cybersecurity Lead at Google DeepMind), Chip Huyen Chip Huyen(Author of AI Engineering, Designing Machine Learning Systems), and
1 more.

oss-fuzz-gen by google

0.3%
1k
LLM-powered fuzz target generator for C/C++/Java/Python projects, benchmarked via OSS-Fuzz
created 1 year ago
updated 5 days ago
Feedback? Help us improve.