Continuous fuzzing for open source software
Top 4.6% on sourcepulse
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
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.
1 day ago
1 day