ossf/OSS-CRS scan

Build and fuzz/analyze one harness of an OSS-Fuzz-format project with any OSS-CRS engine.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
harnessHarness name to fuzz (e.g. parse_class; see the project's build.sh).yes
crsCRS engine. Bundled: crs-bug-finding-claude-code. For any other registry CRS, pass its compose via compose-file (see composes/ for the pattern).nocrs-bug-finding-claude-code
proj-pathOSS-Fuzz project path passed as --fuzz-proj-path.nooss-fuzz
imageOSS-CRS runner image.noghcr.io/ossf/oss-crs-runner:latest
compose-filePath (in the checkout) to a CRS compose file. Empty = use the compose bundled for `crs`. Set this to run any registry CRS that isn't bundled.no""
litellm-configPath (in the checkout) to a LiteLLM config for proxy-based LLM CRSs. Empty = use the bundled per-CRS default (composes/<crs>.litellm-config.yaml).no""
timeoutFuzzing/analysis budget in seconds for the run phase.no300
fail-on-crashExit non-zero when a PoV/crash is found (true for presubmit; false to report only).notrue
envCredentials/config to forward into the CRS container, one KEY=VALUE per line. Values come from your caller's secrets, e.g. env: | CLAUDE_CODE_OAUTH_TOKEN=${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} Each name is forwarded to the container (value never appears in logs); the chosen CRS's compose / LiteLLM config decides which names it reads. no""
namedescription
crashed'true' if at least one PoV/crash was found.
artifacts-dirDirectory holding collected PoVs and logs.