π security(docker): bump node and trivy base-image digests - #682
Conversation
Both were resolved from the live Docker Hub registry (buildx imagetools inspect + registry API cross-check), not guessed, and the resulting image was verified with `node --version` / `trivy --version` inside a built container plus a full `docker build` of the release stage. - node:24-alpine: 24.18.0 -> 24.19.0, picking up Node's July 29 2026 security release (3 HIGH + 5 MEDIUM CVEs fixed in 24.18.1) sha256:a0b9bf06... -> sha256:d32cdf619f... - aquasec/trivy (trivy-bin build stage): 0.72.0 -> 0.73.0, resolving 4 HIGH / 6 MEDIUM CVEs in vendored Go deps (go-git, x/text, grpc, oras-go, stdlib) sha256:cffe3f5161... -> sha256:7cced7cae5...
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning Review limit reached
Next review available in: 40 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review detailsβοΈ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: π Files selected for processing (1)
π WalkthroughWalkthroughThe Dockerfile now uses updated pinned digests for the Trivy image and Node 24 Alpine base image. The Dockerfile test now expects the updated Trivy digest. Stage names and image tags remain unchanged. Possibly related PRs
π₯ Pre-merge checks | β 2β Passed checks (2 passed)
β¨ Finishing Touchesπ Generate docstrings
π§ͺ Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai review |
β Action performedReview finished.
|
There was a problem hiding this comment.
π§Ή Nitpick comments (1)
app/configuration/dockerfile-defaults.test.ts (1)
14-14: π Security & Privacy | π΅ Trivial | β‘ Quick winCover the updated Node digest in this test.
DockerfileLine 7 changes the pinned Node digest, but this test only asserts the Trivy digest. Add an exact assertion for the NodeFROMline so future Node pin drift fails the test.Proposed test addition
expect(dockerfile).toContain( 'FROM aquasec/trivy@sha256:7cced7cae583819fc7806d4cbc0dbbc7cad18b99f7d3e235192e6da8c091045c AS trivy-bin', ); + expect(dockerfile).toContain( + 'FROM node:24-alpine@sha256:d32cdf619f63fe0471182d08996dd516c6275bb5fd31ae06e55a570bd9e1ad43 AS base', + );π€ Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@app/configuration/dockerfile-defaults.test.ts` at line 14, Update the test covering Dockerfile image pins to assert the exact Node FROM line and its updated digest, alongside the existing Trivy assertion. Use the testβs current Dockerfile-content assertion mechanism so future Node digest changes cause the test to fail.
π€ Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@app/configuration/dockerfile-defaults.test.ts`:
- Line 14: Update the test covering Dockerfile image pins to assert the exact
Node FROM line and its updated digest, alongside the existing Trivy assertion.
Use the testβs current Dockerfile-content assertion mechanism so future Node
digest changes cause the test to fail.
βΉοΈ Review info
βοΈ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 5ce3f270-5372-4192-9a76-10f53d9b7be1
β Files ignored due to path filters (1)
CHANGELOG.mdis excluded by!CHANGELOG.md
π Files selected for processing (2)
Dockerfileapp/configuration/dockerfile-defaults.test.ts
|
Nitpick addressed in 8a79117 β added the Node digest assertion as its own test case alongside the Trivy one. |
17-file identity roll-forward from rc.12 to rc.13, dated 2026-08-08. - CHANGELOG: new `[1.6.0-rc.13]` section from Unreleased content β #670 digest re-anchoring, #672 self-hosted Star History, #673 nanoid pin, #682 node 24.19.0 + trivy 0.73.0 base-image bumps, #683 icon-bundle alias resolution β plus compare-link rotation - README: version badge + rc.13 highlights block - Demo mocks, site config/content, docs API pages, quickstart, updates highlights, identity-test constants, changelog-link pairs Guarded by `scripts/release-identity.test.mjs` (4/4) and the web scripts suite (56/56). Once merged: devβmain wholesale-tree sync, then dispatch `release-cut.yml` for `v1.6.0-rc.13`. GA candidate clock restarts β earliest GA β Aug 16. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Changelog π§ **Changed** - Advanced the release identity from `1.6.0-rc.12` to `1.6.0-rc.13`, dated August 8, 2026. - Updated README, demo mocks, site configuration, roadmap content, API examples, quickstart, and update highlights. - Updated changelog comparison links and release identity test constants. - Added release notes for digest re-anchoring, self-hosted Star History, `nanoid` pins, Node 24.19.0 and Trivy 0.73.0 base images, and icon-bundle alias resolution. π **Security** - Documented workspace-wide `nanoid` security pinning. - Documented base-image CVE remediation. ## Concerns - Sync the `dev` tree to `main` after merge. - Dispatch `release-cut.yml` for `v1.6.0-rc.13`. - Confirm the expected GA date remains approximately August 16. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Wholesale-tree sync ahead of the v1.6.0-rc.13 cut (same pattern as #667). The single commit carries the exact tree of `dev/v1.6` at b98808e onto `main` β after merge, `git diff --quiet origin/main origin/dev/v1.6` holds. Content on dev since rc.12: - #669/#670 β release-cut digest re-anchoring - #672 β self-hosted Star History chart - #673 β NAS acceptance follow-ups - #681 β v1.7 dependency ordering (forward-ported) - #682 β CVE base-image bumps + digest-pinned Node base guard test - #683 β icon-bundle alias resolution (fixes blank Audit/registry icons shipped in rc.12) - #684 β rc.13 identity roll-forward (17 files, CHANGELOG, README) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Changelog - β¨ Added repository-aware Docker digest selection and multi-anchor comparison. - β¨ Added self-hosted, theme-aware Star History SVG API with pagination, caching, deadlines, and fallback rendering. - β¨ Added icon alias resolution and bundle coverage tests. - β¨ Added required icon bundle entries and updated icon mappings. - π§ Updated Node and Trivy image digests. - π Pinned `nanoid` to `3.3.18` across workspaces. - π Added a digest-pinned Node 24 Alpine base-image guard test. - π§ Updated `js-yaml` override to `3.15.1`. - π§ Updated release documentation, examples, mocks, badges, and tests to `1.6.0-rc.13`. - π§ Removed the external Star History CSP allowlist and embed. ## Concerns - Verify the Star History route stays within GitHub API rate limits under concurrent requests. - Verify cache headers do not serve incomplete or repository-specific fallback responses incorrectly. - Verify Docker digest re-anchoring preserves legacy behavior for stored containers without `repoDigests`. - Verify icon aliases with rotation or flipping have acceptable fallback behavior. - Run the Docker, Star History, icon-bundle, release-identity, and workspace dependency tests. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Summary
Bumps the pinned node and trivy base-image digests in the Dockerfile to the current upstream releases, clearing the open base-image CVEs ahead of the v1.6.0-rc.13 cut. Held since 2026-08-04 for the GA window; promoted to rc.13 content now that the release plan cuts a final candidate instead of promoting rc.12.
Digest assertions in
app/configuration/dockerfile-defaults.test.tsupdated to match the pins.Testing
Changelog
24.18.0to24.19.0.0.72.0to0.73.0.app/configuration/dockerfile-defaults.test.ts.Concerns
node --versionandtrivy --version.