Skip to content

ci(go): add govulncheck CVE gate — fix #45 (SAFE)#54

Merged
gnanirahulnutakki merged 1 commit into
devfrom
fix/A7-go-cve-gate
Jun 25, 2026
Merged

ci(go): add govulncheck CVE gate — fix #45 (SAFE)#54
gnanirahulnutakki merged 1 commit into
devfrom
fix/A7-go-cve-gate

Conversation

@gnanirahulnutakki

Copy link
Copy Markdown
Member

Summary

  • Adds a go-cve job to .github/workflows/tests.yml that installs govulncheck@v1.1.4 and runs govulncheck ./... against the Go module
  • Pinned to v1.1.4 (not @latest which is v1.4.0) — v1.4.0 panics on generic types via x/tools@v0.46.0 (#panic in ForEachElement)
  • continue-on-error: true until the downstream Go version is bumped (see below); findings are real and tracked

Root cause of blindness: No govulncheck step existed in CI at all. The CI already used go-version: '1.26.0' matching go/go.mod, so no toolchain directive change was needed.

govulncheck result (local, govulncheck@v1.1.4 + go1.26.0):
18 vulnerabilities found — all in go1.26 stdlib (fixed in go1.26.1go1.26.4) plus golang.org/x/net@v0.53.0 (GO-2026-5026, fixed in v0.55.0). The gate is no longer blind; it's reporting real findings.

To make this gate blocking: bump go/go.mod to go 1.26.4 and golang.org/x/net to v0.55.0, then remove continue-on-error: true.

Test plan

  • go-cve job appears in CI run for this PR
  • Job reports findings (exit 3 from govulncheck) but the overall job is marked allowed-failure so PR checks stay green
  • All other existing jobs (go, go-lint, python, etc.) pass unaffected

Closes #45 (SAFE / govulncheck sub-task only — does not touch PR #17 or any dependabot PRs)

Add a go-cve job to tests.yml that installs govulncheck@v1.1.4 and runs
it against the Go module. The job is non-blocking (continue-on-error: true)
until the stdlib vulns introduced by go1.26.0 are patched (requires bumping
go/go.mod past go1.26.4 and golang.org/x/net@v0.55.0).

Previously the gate was blind because no govulncheck step existed in CI.
The CI already used go-version: 1.26.0 matching go/go.mod so no toolchain
directive change was needed. govulncheck@latest (v1.4.0) was pinned to
v1.1.4 to avoid a panic in x/tools@v0.46.0 on generic types.

Local run result: 18 real CVEs found in go1.26 stdlib (GO-2026-4599 through
GO-2026-5039) plus golang.org/x/net@v0.53.0 (GO-2026-5026). Gate is active
and reporting real findings. Closes SAFE/govulncheck part of #45.
@gnanirahulnutakki gnanirahulnutakki merged commit a699fb2 into dev Jun 25, 2026
20 of 21 checks passed
@gnanirahulnutakki gnanirahulnutakki deleted the fix/A7-go-cve-gate branch June 25, 2026 18:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Repo hygiene: dependabot backlog, Go CVE gate, PR #17

1 participant