gate: add an osv-scanner vulnerability scan #587

Closed
opened 2026-09-22 17:11:06 +00:00 by hexajon · 0 comments
Owner

Context

osv-scanner scans dependency manifests across ecosystems. govulncheck is
Go-only and call-graph-based, so it structurally cannot see the npm
vulnerabilities in the committed conformance harness lockfile. osv-scanner
found 19 such npm vulnerabilities. Ecosystem coverage is the reason to keep
both, not duplication.

What

  • Add osv-scanner scan source -r --no-call-analysis . to the gate's heavy
    block. This covers go.mod and conformance/mcp-client/package-lock.json.
  • --no-call-analysis keeps the scan lockfile-fast and deterministic;
    call-graph analysis stays govulncheck's job. Confirm the flag name at pin
    time; this is v2 syntax.
  • The scan exits non-zero on findings, which matches the zero-tolerance rule.
  • Pin osv-scanner in scripts/setup-dev.sh and .forgejo/workflows/ci.yml,
    kept in sync. Add the CLAUDE.md line. Note in the ci.yml header that both
    vulnerability scans need network egress to the OSV API.

Acceptance

  • The step runs green on the clean tree.
  • Reverting one of the harness dependency bumps makes the step fail, which
    proves the check.
## Context osv-scanner scans dependency manifests across ecosystems. govulncheck is Go-only and call-graph-based, so it structurally cannot see the npm vulnerabilities in the committed conformance harness lockfile. osv-scanner found 19 such npm vulnerabilities. Ecosystem coverage is the reason to keep both, not duplication. ## What - Add `osv-scanner scan source -r --no-call-analysis .` to the gate's heavy block. This covers go.mod and conformance/mcp-client/package-lock.json. - `--no-call-analysis` keeps the scan lockfile-fast and deterministic; call-graph analysis stays govulncheck's job. Confirm the flag name at pin time; this is v2 syntax. - The scan exits non-zero on findings, which matches the zero-tolerance rule. - Pin osv-scanner in `scripts/setup-dev.sh` and `.forgejo/workflows/ci.yml`, kept in sync. Add the CLAUDE.md line. Note in the ci.yml header that both vulnerability scans need network egress to the OSV API. ## Acceptance - The step runs green on the clean tree. - Reverting one of the harness dependency bumps makes the step fail, which proves the check.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sixfold-space/madtea#587
No description provided.