Repository navigation
Replace Trivy with Syft & Grype - #2692
Conversation
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 Walkthrough
Merge Risk: 🟡 Moderate · up to
|
|
Here is the build for this set of images https://github.com/stackhpc/stackhpc-kayobe-config/actions/runs/38931400535 |
9145ca2 to
013c3e3
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
ℹ️ Review info
⚙️ Run configuration
- Configuration used: Repository: stackhpc/stackhpc-kayobe-config/.coderabbit.yaml
- Review profile: CHILL
- Plan: Advanced
- Run ID:
764edf06-a6de-42fb-8f6c-62b5f1c402e2
📒 Files selected for processing: 13
.github/workflows/stackhpc-container-image-build.ymldoc/source/contributor/testing-ci-automation.rstetc/kayobe/environments/aio/release-train.ymletc/kayobe/environments/ci-builder/stackhpc-ci.ymletc/kayobe/environments/ci-multinode/stackhpc-ci.ymletc/kayobe/grype/allowed-vulnerabilities.ymletc/kayobe/kolla-image-tags.ymletc/kayobe/kolla.ymletc/kayobe/kolla/repos.yamletc/kayobe/pulp-repo-versions.ymletc/kayobe/pulp.ymlreleasenotes/notes/full-rebuild-3c545359275d8fdc.yamltools/scan-images.sh
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.
Assisted-By: Gemini 3 Flash
Without function symbols, Grype matches Go vulnerabilities in all modules regardless of whether they are used. Enabling symbol capture for the standard library and golang.org/x/ modules lets us filter based on what is actually used. Switched the SBOM to the Syft JSON format, since SPDX does not preserve the symbols. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Allow critical vulnerabilities reported by Grype for Ubuntu images that are not exploitable in our deployments: * CVE-2026-56857: Only affects Windows. * CVE-2026-78663: Can only cause memory exhaustion. No upstream binaries include the fix yet. * CVE-2024-24790 and CVE-2025-22871 in Bifrost: the Ubuntu podman and buildah packages do not serve HTTP. * CVE-2025-22871 in exporters: requires a proxy in front of the server that accepts bare LF in chunk extensions. Prometheus scrapes exporters directly. * CVE-2026-106445 and CVE-2026-106446 in OpenSearch Dashboards: require compiling untrusted handlebars templates with allowProtoMethodsByDefault, or untrusted ASTs. User templates are compiled from strings with kbn-handlebars. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Kernel packages are already excluded from the summary, since containers use the host kernel. Extend this to kernel images and modules found by Syft.
The Grafana Ubuntu repository in the release train is now synced and published in verbatim mode, so now uses (stable/main).
Kolla uses prometheus-libvirt-exporter 2.3.1, which contains CVE-2026-39834, which is reported as a critical vulnerability. Version 2.6.1 is built with golang.org/x/crypto v0.57.0. Upstream fix TODO
Lego includes CVE-2026-39834, an infinite loop on large SSH channel writes. Lego does not make SSH connections when completing ACME HTTP-01 challenges and it is only fixed in lego v5.
529e186 to
d72f3b7
Compare
|
Rebased to include recently rebuilt containers |
This PR replaces Trivy with Syft & Grype in our image build pipeline.
It also contains a set of images that built cleanly without any critical CVEs. That included bumping all repos, and actually fixing some templating issues in our pulp config (see also #2691 for another change that is included in here)
I made a lot of tweaks to try and improve runtime, it's not too bad, about 1h20s-1h40s, but it's still slower than Trivy was.
SBOMs are also larger. Again, I've tried to trim them a lot. They use a custom format which helps the golang images in particular.