Skip to content

ci: update OSV-Scanner to v2.7.0 - #557

Merged
vuanhphung merged 2 commits into
mainfrom
ci/update-osv-scanner-v2.7.0
Oct 29, 2026
Merged

vuanhphung merged 2 commits into
mainfrom
ci/update-osv-scanner-v2.7.0

Conversation

@vuanhphung

Copy link
Copy Markdown
Collaborator

Update the security scan to OSV-Scanner v2.7.0 and refresh version-specific comments. Suppression rules and severity thresholds are unchanged.

Validation: workflow YAML, shell syntax, and whitespace checks passed; the existing JSON parser accepted v2.7.0 output. Old/new scans returned the same findings on identical inputs.

Signed-off-by: Vu Anh Phung <vu.phung@databricks.com>

@peco-review-bot peco-review-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Verdict: 1 Low

Clean, low-risk CI version bump (OSV-Scanner v2.3.8 → v2.7.0): the download URL changes and the surrounding comments are re-labelled, with scan logic, suppressions, and thresholds untouched. One low note — the comment's claim that v2.7.0 still lacks per-package CVE scoping was carried over mechanically and drives the suppression strategy, so it's worth a quick schema check before merge.

Nit (not blocking, and pre-existing — not introduced here): the install step curls the scanner binary with no checksum/signature pin (securityScan.yml:67-70). For a security-gating workflow, pinning the v2.7.0 asset's SHA256 would harden the toolchain against a tampered/substituted release artifact; the version bump is a natural moment to add it.

Comment thread osv-scanner.toml
# ([[PackageOverrides]] with `vulnerability.ignore = true`) is
# per-package but blanket-ignores ALL vulnerabilities on that package,
# which is much worse. OSV-Scanner v2.3.8 does NOT support an
# which is much worse. OSV-Scanner v2.7.0 does NOT support an

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔵 Low — This behavioral claim (and the ignoreUntil "honors it natively" claim at line 21) was mechanically re-labelled from v2.3.8 to v2.7.0 along with the version string, but a 4-minor-version jump is exactly where tool config semantics can change. Unlike the pure doc-comment edits in securityScan.yml, this one asserts a capability gap that justifies the project's suppression strategy (global [[IgnoredVulns]] over per-package scoping). If v2.7.0 has since added per-package CVE scoping, the comment now steers maintainers toward a strictly broader (less safe) suppression than necessary.

The ignoreUntil claim is implicitly corroborated by the PR's "old/new scans returned the same findings" (the braces suppression still applied), but the intersection/per-package claim is not exercised by any existing entry, so nothing in the validation actually confirms it. Worth a quick check against the v2.7.0 configuration schema before merge; if it still holds, no change needed. (I could not verify externally — web tools are disabled in this review environment.)

@github-actions

Copy link
Copy Markdown

Thanks for your contribution! To satisfy the DCO policy in our contributing guide every commit message must include a sign-off message. One or more of your commits is missing this message. You can reword previous commit messages with an interactive rebase (git rebase -i main).

@peco-review-bot peco-review-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Verdict: 1 Low

Looks good: a version bump plus matching comment updates, with no change to the gating logic. One low suggestion: add a checksum check to the binary download that this PR touches.

Comment thread .github/workflows/securityScan.yml
Signed-off-by: Vu Anh Phung <vu.phung@databricks.com>
@vuanhphung
vuanhphung force-pushed the ci/update-osv-scanner-v2.7.0 branch from 11bf9ef to a9c6958 Compare October 29, 2026 20:16

@peco-review-bot peco-review-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Verdict: 1 Low

Looks good: a simple version bump with the matching comment updates, and suppression rules and thresholds are unchanged. One low-severity suggestion: pin a SHA-256 for the downloaded scanner binary while this line is being changed.

set -euo pipefail
curl -fsSL -o /tmp/osv-scanner \
https://github.com/google/osv-scanner/releases/download/v2.3.8/osv-scanner_linux_amd64
https://github.com/google/osv-scanner/releases/download/v2.7.0/osv-scanner_linux_amd64

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔵 Low — The new v2.7.0 binary is fetched with curl and run straight away, with no integrity check. This gap existed before the PR, but this line is the one being changed, so it is a cheap time to close it. Someone who can tamper with the release asset or the download path could run any code they like on the protected runner group. That job also holds id-token: write, so it could mint JFrog OIDC tokens, and it could make the scan report clean. The repo already pins every action to a commit SHA, so pinning the binary's digest fits that convention. Get the SHA-256 for osv-scanner_linux_amd64 from the release's checksums file, hardcode it, and check it before the chmod. For example:

echo "<sha256>  /tmp/osv-scanner" | sha256sum -c -

That also gives you one place to update on the next version bump.

@vuanhphung
vuanhphung added this pull request to the merge queue Oct 29, 2026
Merged via the queue into main with commit 5cabed4 Oct 29, 2026
25 checks passed

This branch was successfully deployed

1 active deployment
azure-prod — a9c6958c Deployed Oct 29, 2026 by vuanhphung via e2e-test (26.12.1, 26_12_1) #1713
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.

1 participant