Skip to content

Bump dependencies flagged by GitHub repository advisories - #7320

Merged
pietern merged 1 commit into
mainfrom
vulnbump-ghsa
Nov 3, 2026
Merged

pietern merged 1 commit into
mainfrom
vulnbump-ghsa

Conversation

@pietern

@pietern pietern commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

The vulnerable-dependency bumper only sees advisories in the Go vulnerability database. Maintainers often publish a GitHub repository security advisory (GHSA) days or weeks before it reaches GitHub's global advisory database and, from there, the Go vulnerability database. Until then neither govulncheck nor Dependabot reports it. go.opentelemetry.io/otel/trace v1.44.0 is an example: GHSA-q7gw-24fr-5p69 was published on Oct 28 with a fix in v1.47.0, and none of these databases has it yet.

This is a first step toward GHSA support. A new tool, tools/repoadvisory, maps each module linked into the CLI to its GitHub repository and checks it against that repository's published advisories. It emits only the advisories that name a patched version, as govulncheck-format JSON. Those without a patched version are logged and skipped, since there is nothing to bump to. The workflow feeds this output into vulnbump alongside govulncheck's, and the existing all-or-nothing behavior is unchanged: if any bump fails, no PR is opened and the run fails. vulnbump now links each advisory to the URL in its record, so GHSA IDs link to their GitHub page. A dry_run dispatch input computes and shows the bump without creating a pull request or failure issue.

Against current main this produces one bump, otel 1.44.0 → 1.47.0. The two pgx advisories (GHSA-j38q-h3ph-jjpq, GHSA-95fj-3fxw-g62g) name no patched version and are skipped.

This pull request and its description were written by Isaac.

Maintainers publish GitHub repository security advisories before they
reach the Go vulnerability database, so govulncheck misses them. Add
tools/repoadvisory, which checks the modules linked into the CLI against
those advisories and emits the ones with a patched version as
govulncheck-format JSON, and feed its output into vulnbump alongside
govulncheck. Advisories without a patched version are logged and
skipped.

vulnbump now links each advisory to the URL in its osv record when set,
so GHSA IDs link to their GitHub page. The workflow gains a dry_run
dispatch input that skips the pull request and failure issue.

Co-authored-by: Isaac <no-reply@databricks.com>
@eng-dev-ecosystem-bot

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: fa56919

Run: 41653538040

Env ✅​pass 🙈​skip Time
✅​ aws linux-2core-8gb 271 15 9:11
✅​ aws-windows-latest-4core-16gb 273 13 5:04
✅​ azure linux-2core-8gb 270 15 11:46
✅​ azure-windows-latest-4core-16gb 272 13 4:11
✅​ gcp linux-2core-8gb 271 15 9:40
✅​ gcp-windows-latest-4core-16gb 273 13 3:57
Top 5 slowest tests (at least 2 minutes):
duration env testname
4:19 azure linux-2core-8gb TestAccept
4:13 aws linux-2core-8gb TestAccept
4:12 gcp linux-2core-8gb TestAccept
2:14 gcp linux-2core-8gb TestFilerWorkspaceFilesExtensionsReadDir
2:00 gcp-windows-latest-4core-16gb TestFilerWorkspaceFilesExtensionsReadDir

@pietern
pietern marked this pull request as ready for review November 3, 2026 15:19
@pietern
pietern requested a review from a team as a code owner November 3, 2026 15:19
@pietern
pietern enabled auto-merge November 3, 2026 15:24
@@ -0,0 +1 @@
/repoadvisory

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This likely matches an existing pattern in sibling tool directories.

@pietern
pietern added this pull request to the merge queue Nov 3, 2026
Merged via the queue into main with commit 4842467 Nov 3, 2026
30 checks passed
@pietern
pietern deleted the vulnbump-ghsa branch November 3, 2026 15:38
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.

4 participants