ossfuzz

Set up continuous fuzzing infrastructure and enroll projects in OSS-Fuzz.

Updated Mar 22, 2026
One-click install
npx skills add https://github.com/TECH-HY/SKILLS --skill ossfuzz-tech-hy
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ossfuzz
Source: https://github.com/TECH-HY/SKILLS/tree/main/skills/ossfuzz
Command: npx skills add https://github.com/TECH-HY/SKILLS --skill ossfuzz-tech-hy

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Setting up continuous fuzzing infrastructure from scratch requires managing servers, build environments, and coverage pipelines. This Skill guides you through using Google's OSS-Fuzz platform to run distributed fuzzing, enroll projects, and reproduce crashes without hosting your own infrastructure. ## Core Features & Use Cases - Local Harness Testing: Build Docker images, compile fuzzers with sanitizers, and run individual harnesses using the helper.py CLI. - Project Enrollment: Create the required project.yaml, Dockerfile, and build.sh files to add a project to OSS-Fuzz or a private instance. - Coverage and Bug Analysis: Generate coverage reports, track build statuses, and search the OSS-Fuzz bug tracker across all enrolled projects. - Use Case: You maintain a C++ open-source library and want continuous fuzzing. Use this Skill to write the enrollment files, test harnesses locally with AddressSanitizer, and submit the project for OSS-Fuzz acceptance. ## Quick Start Use the ossfuzz skill to build and run the irssi fuzzing harness locally with AddressSanitizer.

Frequently Asked Questions about ossfuzz

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run an OSS-Fuzz harness locally?

Clone the google/oss-fuzz repository, then use infra/helper.py to build the project image, build fuzzers with a sanitizer like address, and run the harness with run_fuzzer. The helper script automatically runs any prerequisite steps you skip.

How do I enroll a new project in OSS-Fuzz?

Create three files in projects/<your-project>/: a project.yaml with metadata and contacts, a Dockerfile based on base-builder with build dependencies, and a build.sh that compiles your fuzzing harnesses. Acceptance depends on the project's criticality score.

Which fuzzing engines does OSS-Fuzz support?

OSS-Fuzz primarily uses libFuzzer for C/C++ projects and also supports AFL++ as an alternative engine. Python projects use Atheris with the compile_python_fuzzer helper, and Rust projects use cargo-fuzz with libFuzzer and AddressSanitizer only.

Can I use OSS-Fuzz for closed-source projects?

The public OSS-Fuzz service only accepts open-source projects meeting its criticality threshold. Since the platform is open-source, you can host your own private instance for closed-source projects or those with lower criticality scores.

Why does my OSS-Fuzz build fail with missing dependencies?

Build failures usually mean dependencies are not installed in the project Dockerfile. Add the required apt-get install commands or equivalent package installations to the Dockerfile rather than modifying build.sh.