Skip to content

fix(docker): pin base images to SHA256 digests#7734

Merged
vincentkoc merged 2 commits intoopenclaw:mainfrom
coygeek:fix/7731-pin-docker-digests
Feb 19, 2026
Merged

fix(docker): pin base images to SHA256 digests#7734
vincentkoc merged 2 commits intoopenclaw:mainfrom
coygeek:fix/7731-pin-docker-digests

Conversation

@coygeek
Copy link
Copy Markdown
Contributor

@coygeek coygeek commented Feb 3, 2026

Fix Summary

Pin all 9 Dockerfiles to immutable SHA256 digests to prevent supply chain attacks where a compromised upstream image could be silently pulled into production builds.

Changes:

  • Pin node:22-bookworm to sha256:cd7bcd2e7a1e6f72052feb023c7f6b722205d3fcab7bbcbd2d1bfdab10b1e935
  • Pin node:22-bookworm-slim to sha256:3cfe526ec8dd62013b8843e8e5d4877e297b886e5aace4a59fec25dc20736e45
  • Pin debian:bookworm-slim to sha256:98f4b71de414932439ac6ac690d7060df1f27161073c5036a7553723881bffbe
  • Pin ubuntu:24.04 to sha256:cd1dba651b3080c3686ecf4e3c4220f026b521fb76978881737d24f200828b2b
  • Add Docker ecosystem to Dependabot for automated digest updates

Issue Linkage

Fixes #7731

Security Snapshot

Metric Value
Score 9.0 / 10.0
Severity Critical
Vector CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H

Implementation Details

Files Changed

  • .github/dependabot.yml (+13/-0)
  • Dockerfile (+1/-1)
  • Dockerfile.sandbox (+1/-1)
  • Dockerfile.sandbox-browser (+1/-1)
  • scripts/docker/cleanup-smoke/Dockerfile (+1/-1)
  • scripts/docker/install-sh-e2e/Dockerfile (+1/-1)
  • scripts/docker/install-sh-nonroot/Dockerfile (+1/-1)
  • scripts/docker/install-sh-smoke/Dockerfile (+1/-1)
  • scripts/e2e/Dockerfile (+1/-1)
  • scripts/e2e/Dockerfile.qr-import (+1/-1)

Technical Analysis

Pin all 9 Dockerfiles to immutable SHA256 digests to prevent supply chain attacks where a compromised upstream image could be silently pulled into production builds.

Validation Evidence

  • Command: docker
  • Status: passed

Risk and Compatibility

non-breaking; compatibility impact was not explicitly documented in the original PR body.

AI-Assisted Disclosure

  • AI-assisted: yes
  • Model: Claude Code

Greptile Overview

Greptile Summary

This PR pins all Docker base images across the repo’s Dockerfiles to immutable SHA256 digests (Node 22 bookworm/bookworm-slim, Debian bookworm-slim, Ubuntu 24.04) to improve supply-chain integrity and build reproducibility. It also extends .github/dependabot.yml with the docker ecosystem at / so Dependabot can open weekly PRs when upstream base-image digests change, grouped under a single docker-images update group.

Changes are localized to FROM lines and Dependabot config, and should not affect runtime behavior beyond making builds deterministic to the pinned image contents.

Confidence Score: 4/5

  • This PR is safe to merge; it’s a narrow, low-risk security hardening change.
  • All changes are constrained to FROM image references and Dependabot configuration. Digest pinning syntax is correct and consistent across Dockerfiles, and the Dependabot entry is valid. Main residual risk is external: CI/builds might fail if the pinned digests don’t match the expected architecture or if downstream tooling relies on tag mutability; that should be caught by CI.
  • No files require special attention (optionally validate CI builds with pinned images).

(5/5) You can turn off certain types of comments like style here!

@openclaw-barnacle openclaw-barnacle bot added scripts Repository scripts docker Docker and sandbox tooling labels Feb 3, 2026
Copy link
Copy Markdown
Member

@vincentkoc vincentkoc left a comment

Choose a reason for hiding this comment

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

Please add a test to validate and address greptile concerns

coygeek and others added 2 commits February 19, 2026 12:06
Pin all 9 Dockerfiles to immutable SHA256 digests to prevent supply chain
attacks where a compromised upstream image could be silently pulled into
production builds.

Also add Docker ecosystem to Dependabot configuration for automated
digest updates.

Images pinned:
- node:22-bookworm@sha256:cd7bcd2e7a1e6f72052feb023c7f6b722205d3fcab7bbcbd2d1bfdab10b1e935
- node:22-bookworm-slim@sha256:3cfe526ec8dd62013b8843e8e5d4877e297b886e5aace4a59fec25dc20736e45
- debian:bookworm-slim@sha256:98f4b71de414932439ac6ac690d7060df1f27161073c5036a7553723881bffbe
- ubuntu:24.04@sha256:cd1dba651b3080c3686ecf4e3c4220f026b521fb76978881737d24f200828b2b

Fixes openclaw#7731

Co-Authored-By: Claude Opus 4.5 <[email protected]>
@coygeek coygeek force-pushed the fix/7731-pin-docker-digests branch from 478804e to 352bb37 Compare February 19, 2026 20:11
@coygeek
Copy link
Copy Markdown
Contributor Author

coygeek commented Feb 19, 2026

Implemented the requested testing update and addressed the validation concern.

What I added:

  • New regression test: src/docker-image-digests.test.ts
    • Verifies the 9 Dockerfiles in this PR use FROM ...@sha256:<64-hex>
    • Verifies .github/dependabot.yml keeps a docker ecosystem updater for directory: / with weekly schedule and docker-images grouping

Validation run in this branch:

  • pnpm exec vitest run --config vitest.unit.config.ts src/docker-image-digests.test.ts
  • pnpm check

This should prevent future regressions where mutable tags are reintroduced or Docker digest updates get dropped from Dependabot config.

@vincentkoc vincentkoc merged commit 8ae2d51 into openclaw:main Feb 19, 2026
26 checks passed
bandarupalli pushed a commit to tildabio/openclaw that referenced this pull request Feb 19, 2026
* fix(docker): pin base images to SHA256 digests for supply chain security

Pin all 9 Dockerfiles to immutable SHA256 digests to prevent supply chain
attacks where a compromised upstream image could be silently pulled into
production builds.

Also add Docker ecosystem to Dependabot configuration for automated
digest updates.

Images pinned:
- node:22-bookworm@sha256:cd7bcd2e7a1e6f72052feb023c7f6b722205d3fcab7bbcbd2d1bfdab10b1e935
- node:22-bookworm-slim@sha256:3cfe526ec8dd62013b8843e8e5d4877e297b886e5aace4a59fec25dc20736e45
- debian:bookworm-slim@sha256:98f4b71de414932439ac6ac690d7060df1f27161073c5036a7553723881bffbe
- ubuntu:24.04@sha256:cd1dba651b3080c3686ecf4e3c4220f026b521fb76978881737d24f200828b2b

Fixes openclaw#7731

Co-Authored-By: Claude Opus 4.5 <[email protected]>

* test(docker): add digest pinning regression coverage

---------

Co-authored-by: Claude Opus 4.5 <[email protected]>
yneth-ray-openclaw pushed a commit to yneth-ray-openclaw/openclaw that referenced this pull request Feb 19, 2026
* fix(docker): pin base images to SHA256 digests for supply chain security

Pin all 9 Dockerfiles to immutable SHA256 digests to prevent supply chain
attacks where a compromised upstream image could be silently pulled into
production builds.

Also add Docker ecosystem to Dependabot configuration for automated
digest updates.

Images pinned:
- node:22-bookworm@sha256:cd7bcd2e7a1e6f72052feb023c7f6b722205d3fcab7bbcbd2d1bfdab10b1e935
- node:22-bookworm-slim@sha256:3cfe526ec8dd62013b8843e8e5d4877e297b886e5aace4a59fec25dc20736e45
- debian:bookworm-slim@sha256:98f4b71de414932439ac6ac690d7060df1f27161073c5036a7553723881bffbe
- ubuntu:24.04@sha256:cd1dba651b3080c3686ecf4e3c4220f026b521fb76978881737d24f200828b2b

Fixes openclaw#7731

Co-Authored-By: Claude Opus 4.5 <[email protected]>

* test(docker): add digest pinning regression coverage

---------

Co-authored-by: Claude Opus 4.5 <[email protected]>
alphadl added a commit to alphadl/openclaw that referenced this pull request Feb 19, 2026
Aligns with upstream PR openclaw#7734 — builder stage was pinned but
the multi-stage runtime (bookworm-slim) was not.
vignesh07 pushed a commit to pahdo/openclaw that referenced this pull request Feb 20, 2026
* fix(docker): pin base images to SHA256 digests for supply chain security

Pin all 9 Dockerfiles to immutable SHA256 digests to prevent supply chain
attacks where a compromised upstream image could be silently pulled into
production builds.

Also add Docker ecosystem to Dependabot configuration for automated
digest updates.

Images pinned:
- node:22-bookworm@sha256:cd7bcd2e7a1e6f72052feb023c7f6b722205d3fcab7bbcbd2d1bfdab10b1e935
- node:22-bookworm-slim@sha256:3cfe526ec8dd62013b8843e8e5d4877e297b886e5aace4a59fec25dc20736e45
- debian:bookworm-slim@sha256:98f4b71de414932439ac6ac690d7060df1f27161073c5036a7553723881bffbe
- ubuntu:24.04@sha256:cd1dba651b3080c3686ecf4e3c4220f026b521fb76978881737d24f200828b2b

Fixes openclaw#7731

Co-Authored-By: Claude Opus 4.5 <[email protected]>

* test(docker): add digest pinning regression coverage

---------

Co-authored-by: Claude Opus 4.5 <[email protected]>
anisoptera pushed a commit to anisoptera/openclaw that referenced this pull request Feb 20, 2026
* fix(docker): pin base images to SHA256 digests for supply chain security

Pin all 9 Dockerfiles to immutable SHA256 digests to prevent supply chain
attacks where a compromised upstream image could be silently pulled into
production builds.

Also add Docker ecosystem to Dependabot configuration for automated
digest updates.

Images pinned:
- node:22-bookworm@sha256:cd7bcd2e7a1e6f72052feb023c7f6b722205d3fcab7bbcbd2d1bfdab10b1e935
- node:22-bookworm-slim@sha256:3cfe526ec8dd62013b8843e8e5d4877e297b886e5aace4a59fec25dc20736e45
- debian:bookworm-slim@sha256:98f4b71de414932439ac6ac690d7060df1f27161073c5036a7553723881bffbe
- ubuntu:24.04@sha256:cd1dba651b3080c3686ecf4e3c4220f026b521fb76978881737d24f200828b2b

Fixes openclaw#7731

Co-Authored-By: Claude Opus 4.5 <[email protected]>

* test(docker): add digest pinning regression coverage

---------

Co-authored-by: Claude Opus 4.5 <[email protected]>
rodrigogs pushed a commit to rodrigogs/openclaw that referenced this pull request Feb 20, 2026
* fix(docker): pin base images to SHA256 digests for supply chain security

Pin all 9 Dockerfiles to immutable SHA256 digests to prevent supply chain
attacks where a compromised upstream image could be silently pulled into
production builds.

Also add Docker ecosystem to Dependabot configuration for automated
digest updates.

Images pinned:
- node:22-bookworm@sha256:cd7bcd2e7a1e6f72052feb023c7f6b722205d3fcab7bbcbd2d1bfdab10b1e935
- node:22-bookworm-slim@sha256:3cfe526ec8dd62013b8843e8e5d4877e297b886e5aace4a59fec25dc20736e45
- debian:bookworm-slim@sha256:98f4b71de414932439ac6ac690d7060df1f27161073c5036a7553723881bffbe
- ubuntu:24.04@sha256:cd1dba651b3080c3686ecf4e3c4220f026b521fb76978881737d24f200828b2b

Fixes openclaw#7731

Co-Authored-By: Claude Opus 4.5 <[email protected]>

* test(docker): add digest pinning regression coverage

---------

Co-authored-by: Claude Opus 4.5 <[email protected]>
Hansen1018 added a commit to Hansen1018/openclaw that referenced this pull request Feb 21, 2026
* fix(docker): pin base images to SHA256 digests for supply chain security

Pin all 9 Dockerfiles to immutable SHA256 digests to prevent supply chain
attacks where a compromised upstream image could be silently pulled into
production builds.

Also add Docker ecosystem to Dependabot configuration for automated
digest updates.

Images pinned:
- node:22-bookworm@sha256:cd7bcd2e7a1e6f72052feb023c7f6b722205d3fcab7bbcbd2d1bfdab10b1e935
- node:22-bookworm-slim@sha256:3cfe526ec8dd62013b8843e8e5d4877e297b886e5aace4a59fec25dc20736e45
- debian:bookworm-slim@sha256:98f4b71de414932439ac6ac690d7060df1f27161073c5036a7553723881bffbe
- ubuntu:24.04@sha256:cd1dba651b3080c3686ecf4e3c4220f026b521fb76978881737d24f200828b2b

Fixes openclaw#7731

Co-Authored-By: Claude Opus 4.5 <[email protected]>

* test(docker): add digest pinning regression coverage

---------

Co-authored-by: Claude Opus 4.5 <[email protected]>
vincentkoc pushed a commit that referenced this pull request Feb 21, 2026
* fix(docker): pin base images to SHA256 digests for supply chain security

Pin all 9 Dockerfiles to immutable SHA256 digests to prevent supply chain
attacks where a compromised upstream image could be silently pulled into
production builds.

Also add Docker ecosystem to Dependabot configuration for automated
digest updates.

Images pinned:
- node:22-bookworm@sha256:cd7bcd2e7a1e6f72052feb023c7f6b722205d3fcab7bbcbd2d1bfdab10b1e935
- node:22-bookworm-slim@sha256:3cfe526ec8dd62013b8843e8e5d4877e297b886e5aace4a59fec25dc20736e45
- debian:bookworm-slim@sha256:98f4b71de414932439ac6ac690d7060df1f27161073c5036a7553723881bffbe
- ubuntu:24.04@sha256:cd1dba651b3080c3686ecf4e3c4220f026b521fb76978881737d24f200828b2b

Fixes #7731

Co-Authored-By: Claude Opus 4.5 <[email protected]>

* test(docker): add digest pinning regression coverage

---------

Co-authored-by: Claude Opus 4.5 <[email protected]>
vincentkoc pushed a commit that referenced this pull request Feb 21, 2026
* fix(docker): pin base images to SHA256 digests for supply chain security

Pin all 9 Dockerfiles to immutable SHA256 digests to prevent supply chain
attacks where a compromised upstream image could be silently pulled into
production builds.

Also add Docker ecosystem to Dependabot configuration for automated
digest updates.

Images pinned:
- node:22-bookworm@sha256:cd7bcd2e7a1e6f72052feb023c7f6b722205d3fcab7bbcbd2d1bfdab10b1e935
- node:22-bookworm-slim@sha256:3cfe526ec8dd62013b8843e8e5d4877e297b886e5aace4a59fec25dc20736e45
- debian:bookworm-slim@sha256:98f4b71de414932439ac6ac690d7060df1f27161073c5036a7553723881bffbe
- ubuntu:24.04@sha256:cd1dba651b3080c3686ecf4e3c4220f026b521fb76978881737d24f200828b2b

Fixes #7731

Co-Authored-By: Claude Opus 4.5 <[email protected]>

* test(docker): add digest pinning regression coverage

---------

Co-authored-by: Claude Opus 4.5 <[email protected]>
mmyyfirstb pushed a commit to mmyyfirstb/openclaw that referenced this pull request Feb 21, 2026
* fix(docker): pin base images to SHA256 digests for supply chain security

Pin all 9 Dockerfiles to immutable SHA256 digests to prevent supply chain
attacks where a compromised upstream image could be silently pulled into
production builds.

Also add Docker ecosystem to Dependabot configuration for automated
digest updates.

Images pinned:
- node:22-bookworm@sha256:cd7bcd2e7a1e6f72052feb023c7f6b722205d3fcab7bbcbd2d1bfdab10b1e935
- node:22-bookworm-slim@sha256:3cfe526ec8dd62013b8843e8e5d4877e297b886e5aace4a59fec25dc20736e45
- debian:bookworm-slim@sha256:98f4b71de414932439ac6ac690d7060df1f27161073c5036a7553723881bffbe
- ubuntu:24.04@sha256:cd1dba651b3080c3686ecf4e3c4220f026b521fb76978881737d24f200828b2b

Fixes openclaw#7731

Co-Authored-By: Claude Opus 4.5 <[email protected]>

* test(docker): add digest pinning regression coverage

---------

Co-authored-by: Claude Opus 4.5 <[email protected]>
obviyus pushed a commit to guirguispierre/openclaw that referenced this pull request Feb 22, 2026
* fix(docker): pin base images to SHA256 digests for supply chain security

Pin all 9 Dockerfiles to immutable SHA256 digests to prevent supply chain
attacks where a compromised upstream image could be silently pulled into
production builds.

Also add Docker ecosystem to Dependabot configuration for automated
digest updates.

Images pinned:
- node:22-bookworm@sha256:cd7bcd2e7a1e6f72052feb023c7f6b722205d3fcab7bbcbd2d1bfdab10b1e935
- node:22-bookworm-slim@sha256:3cfe526ec8dd62013b8843e8e5d4877e297b886e5aace4a59fec25dc20736e45
- debian:bookworm-slim@sha256:98f4b71de414932439ac6ac690d7060df1f27161073c5036a7553723881bffbe
- ubuntu:24.04@sha256:cd1dba651b3080c3686ecf4e3c4220f026b521fb76978881737d24f200828b2b

Fixes openclaw#7731

Co-Authored-By: Claude Opus 4.5 <[email protected]>

* test(docker): add digest pinning regression coverage

---------

Co-authored-by: Claude Opus 4.5 <[email protected]>
hughdidit pushed a commit to hughdidit/DAISy-Agency that referenced this pull request Mar 1, 2026
* fix(docker): pin base images to SHA256 digests for supply chain security

Pin all 9 Dockerfiles to immutable SHA256 digests to prevent supply chain
attacks where a compromised upstream image could be silently pulled into
production builds.

Also add Docker ecosystem to Dependabot configuration for automated
digest updates.

Images pinned:
- node:22-bookworm@sha256:cd7bcd2e7a1e6f72052feb023c7f6b722205d3fcab7bbcbd2d1bfdab10b1e935
- node:22-bookworm-slim@sha256:3cfe526ec8dd62013b8843e8e5d4877e297b886e5aace4a59fec25dc20736e45
- debian:bookworm-slim@sha256:98f4b71de414932439ac6ac690d7060df1f27161073c5036a7553723881bffbe
- ubuntu:24.04@sha256:cd1dba651b3080c3686ecf4e3c4220f026b521fb76978881737d24f200828b2b

Fixes openclaw#7731

Co-Authored-By: Claude Opus 4.5 <[email protected]>

* test(docker): add digest pinning regression coverage

---------

Co-authored-by: Claude Opus 4.5 <[email protected]>
(cherry picked from commit 8ae2d51)
hughdidit pushed a commit to hughdidit/DAISy-Agency that referenced this pull request Mar 3, 2026
* fix(docker): pin base images to SHA256 digests for supply chain security

Pin all 9 Dockerfiles to immutable SHA256 digests to prevent supply chain
attacks where a compromised upstream image could be silently pulled into
production builds.

Also add Docker ecosystem to Dependabot configuration for automated
digest updates.

Images pinned:
- node:22-bookworm@sha256:cd7bcd2e7a1e6f72052feb023c7f6b722205d3fcab7bbcbd2d1bfdab10b1e935
- node:22-bookworm-slim@sha256:3cfe526ec8dd62013b8843e8e5d4877e297b886e5aace4a59fec25dc20736e45
- debian:bookworm-slim@sha256:98f4b71de414932439ac6ac690d7060df1f27161073c5036a7553723881bffbe
- ubuntu:24.04@sha256:cd1dba651b3080c3686ecf4e3c4220f026b521fb76978881737d24f200828b2b

Fixes openclaw#7731

Co-Authored-By: Claude Opus 4.5 <[email protected]>

* test(docker): add digest pinning regression coverage

---------

Co-authored-by: Claude Opus 4.5 <[email protected]>
(cherry picked from commit 8ae2d51)
zooqueen pushed a commit to hanzoai/bot that referenced this pull request Mar 6, 2026
* fix(docker): pin base images to SHA256 digests for supply chain security

Pin all 9 Dockerfiles to immutable SHA256 digests to prevent supply chain
attacks where a compromised upstream image could be silently pulled into
production builds.

Also add Docker ecosystem to Dependabot configuration for automated
digest updates.

Images pinned:
- node:22-bookworm@sha256:cd7bcd2e7a1e6f72052feb023c7f6b722205d3fcab7bbcbd2d1bfdab10b1e935
- node:22-bookworm-slim@sha256:3cfe526ec8dd62013b8843e8e5d4877e297b886e5aace4a59fec25dc20736e45
- debian:bookworm-slim@sha256:98f4b71de414932439ac6ac690d7060df1f27161073c5036a7553723881bffbe
- ubuntu:24.04@sha256:cd1dba651b3080c3686ecf4e3c4220f026b521fb76978881737d24f200828b2b

Fixes openclaw#7731


* test(docker): add digest pinning regression coverage

---------
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docker Docker and sandbox tooling scripts Repository scripts size: S

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Docker base images use mutable tags instead of SHA-pinned digests

2 participants