deps: bump bundled scanners to trivy 0.73.0, grype 0.116.1, syft 1.50.0 - #160
Merged
Conversation
The build ARGs are invisible to every Dependabot ecosystem (they are not FROM images), so these are moved by hand. Verified at the source: each version is the current upstream release per git ls-remote, no release crossed documents a breaking, deprecation, or CLI change, and syft's JSON schema moves only at patch level (16.1.5 -> 16.1.10), so JSON parsing and persisted SBOMs are unaffected. Moved in lockstep, per the pins' own documentation: - ci.yml and rescan.yml scan-image pins (aquasec/trivy, anchore/grype) are pinned to the bundled versions by design; digests resolved from the Docker Hub registry, with the old tags re-resolved first to confirm they match the committed pins (methodology check). - THIRD_PARTY_LICENSES/ re-verified at the new tags: every bundled LICENSE and Trivy's NOTICE byte-identical upstream (cmp), Grype/Syft still 404 on NOTICE as documented, so only the version table moves. - README's Integrations versions and the CHANGELOG Unreleased entry. test_scanner_symlink_containment.py re-run against the real downloaded 1.50.0 syft and 0.116.1 grype binaries on CPython 3.14.6: 7 passed. That guard is required on every grype/syft bump (CONTRIBUTING § Tests that need the real scanner binaries); CI's image job repeats it against the binaries the image ships.
…eased section cleanly
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Moves the bundled scanner binaries to their current upstream releases — Trivy 0.72.0 → 0.73.0, Grype 0.115.0 → 0.116.1, Syft 1.46.0 → 1.50.0 — as their own PR, since the
ARG TRIVY_VERSION/GRYPE_VERSION/SYFT_VERSIONbuild args are invisible to every Dependabot ecosystem (they are notFROMimages; the queue-audit §14 entry records this gap).Each target version was verified as the current release by resolving the projects' tags directly (
git ls-remote), not taken from any summary. Release notes for every release crossed (trivy 0.73.0; grype 0.116.0, 0.116.1; syft 1.47.0–1.50.0) document no breaking changes, deprecations, or CLI changes, and Syft's JSON schema moves only at patch level (internal/constants.go: 16.1.5 → 16.1.10 at the two tags), so Scrye's JSON parsing and persisted-SBOM format are unaffected.What moves in lockstep, and why
docker/Dockerfile— the threeARGs. Layer structure untouched (version-only edits inside the existingscannersstage)..github/workflows/ci.yml+rescan.yml— the dogfood/re-scanaquasec/trivyandanchore/grypeimage pins. The comment above them says they are "pinned to the version Scrye bundles", so leaving them behind would falsify it. New digests resolved from the Docker Hub registry API; as a methodology check, the old tags were re-resolved first and matched the committed pins exactly.THIRD_PARTY_LICENSES/— re-verified fresh at the new tags, per the Apache-2.0 §4 rule that the real text travels with the distribution: each bundledLICENSE(and Trivy'sNOTICE) fetched atv0.73.0/v0.116.1/v1.50.0andcmp'd byte-for-byte against what is committed — all identical, and Grype/Syft still 404 onNOTICE(expected, documented). Only the version table changes.README.md§ Integrations version list, and aCHANGELOG.md[Unreleased]§ Changed entry.Verification
tests/test_scanner_symlink_containment.pyre-run locally against the real downloaded syft 1.50.0 and grype 0.116.1 binaries on CPython 3.14.6 withSCRYE_TEST_REQUIRE_SCANNER_BINARIES=1: 7 passed. (Required on every Grype/Syft bump —CONTRIBUTING.md§ Tests that need the real scanner binaries. CI's image job repeats it against the binaries the image actually ships.)Resolves the "bundled scanner binaries are stale and nothing watches them" finding from the Dependabot queue audit (#159). #150 (the optional
trivy-serversidecar indocker/docker-compose.yml, 0.72.0 → 0.73.0) is the compose-side counterpart and can now be taken, since the sidecar and bundled versions move together.