ossfuzz

Configures continuous fuzzing infrastructure and enrolls projects into OSS-Fuzz.

Updated Apr 5, 2026
One-click install
npx skills add https://github.com/marumo333/atrox --skill ossfuzz-marumo333
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: ossfuzz
Source: https://github.com/marumo333/atrox/tree/main/.claude/skills/trailofbits/plugins/testing-handbook-skills/skills/ossfuzz
Command: npx skills add https://github.com/marumo333/atrox --skill ossfuzz-marumo333

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Setting up continuous fuzzing infrastructure for open-source projects requires managing Docker images, sanitizer builds, corpus handling, and coverage reporting, which is complex to configure manually. ## Core Features & Use Cases - Local Harness Execution: Build project images, compile fuzzers with sanitizers, and run individual harnesses using the helper.py CLI without hosting the full platform. - Project Enrollment: Create the required project.yaml, Dockerfile, and build.sh files to enroll C/C++, Python, or Rust projects into OSS-Fuzz or a private instance. - Coverage and Bug Analysis: Generate local coverage reports, monitor build statuses, and use Fuzz Introspector to identify fuzzing blockers. - Use Case: You maintain a C++ library and want continuous fuzzing. Use this Skill to write the three enrollment files, test harnesses locally with AddressSanitizer, and submit the project for OSS-Fuzz acceptance. ## Quick Start Help me enroll my open-source C++ project into OSS-Fuzz by creating the project.yaml, Dockerfile, and build.sh files and testing the harness locally.

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, compile fuzzers with a sanitizer like address, and run the harness with run_fuzzer. The helper script automatically completes any skipped prerequisite steps.

How to enroll a new project into OSS-Fuzz?▼

Create three files under projects/<your-project>/: a project.yaml with metadata and sanitizers, a Dockerfile based on base-builder that clones your repo, and a build.sh that compiles harnesses using $LIB_FUZZING_ENGINE. Test locally with helper.py before submitting a pull request.

Does OSS-Fuzz support Rust and Python projects?▼

Yes, OSS-Fuzz supports Rust via cargo-fuzz with AddressSanitizer only, and Python via Atheris using the compile_python_fuzzer helper. Each language has specific project.yaml settings and build.sh conventions documented in the new project guide.

Can closed-source projects use OSS-Fuzz?▼

Public OSS-Fuzz only accepts select open-source projects meeting a criticality score threshold. However, the platform core is open-source, so you can host a private OSS-Fuzz instance for closed-source or lower-score projects.

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 language-specific packages to the Dockerfile rather than build.sh, and verify the WORKDIR points to your source code.