fix: swap UV base images to public.ecr.aws Python (trixie) for patched OpenSSL#1461
fix: swap UV base images to public.ecr.aws Python (trixie) for patched OpenSSL#1461tejaskash wants to merge 1 commit intoawslabs:mainfrom
Conversation
Replaces `ghcr.io/astral-sh/uv:python<ver>-bookworm-slim` with `public.ecr.aws/docker/library/python:<ver>-slim-trixie` and copies the `uv`/`uvx` binaries from `ghcr.io/astral-sh/uv:latest`. The bookworm base ships an OpenSSL build affected by a CVE; trixie ships the patched version (OpenSSL 3.5.5). Python minor versions are preserved per Dockerfile (3.11/3.12/3.13/3.14) so dependency resolution is unchanged. Verified end-to-end on the riskiest Dockerfile (claude-agent/claude-sdk — apt nodejs via NodeSource, uv pip install, Python 3.11): image builds, container starts, /ping returns healthy.
|
Latest scan for commit: Security Scan ResultsScan Metadata
SummaryScanner ResultsThe table below shows findings by scanner, with status based on severity thresholds and dependencies: Column Explanations: Severity Levels (S/C/H/M/L/I):
Other Columns:
Scanner Results:
Severity Thresholds (Thresh Column):
Threshold Source: Values in parentheses indicate where the threshold is configured:
Statistics calculation:
Detailed FindingsShow 15 actionable findingsFinding 1: CKV_DOCKER_2
Description: Code Snippet: Finding 2: CKV_DOCKER_3
Description: Code Snippet: Finding 3: CKV_DOCKER_2
Description: Code Snippet: Finding 4: CKV_DOCKER_2
Description: Code Snippet: Finding 5: CKV_DOCKER_2
Description: Code Snippet: Finding 6: CKV_DOCKER_3
Description: Code Snippet: Finding 7: CKV_DOCKER_2
Description: Code Snippet: Finding 8: CKV_DOCKER_2
Description: Code Snippet: Finding 9: CKV_DOCKER_2
Description: Code Snippet: Finding 10: CKV_DOCKER_2
Description: Code Snippet: Finding 11: CKV_DOCKER_2
Description: Code Snippet: Finding 12: CKV_DOCKER_2
Description: Code Snippet: Finding 13: CKV_DOCKER_2
Description: Code Snippet: Finding 14: CKV_DOCKER_3
Description: Code Snippet: Finding 15: CKV_DOCKER_2
Description: Code Snippet: Report generated by Automated Security Helper (ASH) at 2026-05-08T20:54:39+00:00 |
Summary
Replaces
ghcr.io/astral-sh/uv:python<ver>-bookworm-slimwithpublic.ecr.aws/docker/library/python:<ver>-slim-trixieacross 22 Dockerfiles, and copies theuv/uvxbinaries in viaCOPY --from=ghcr.io/astral-sh/uv:latest.Why
The bookworm base ships an OpenSSL build affected by a CVE. Debian 13 (trixie) ships the patched OpenSSL (verified
3.5.5, 27 Jan 2026inside the built image).What's preserved
--platform=linux/arm64prefixes are preserved where present (SRE-agent/Dockerfile,end-to-end-customer-service-agent/cx-agent-backend/Dockerfile) —public.ecr.aws/docker/library/pythonis multi-arch.uv pip install/uv syncflows continue to work becauseuvis still onPATHvia the multi-stageCOPY.Files changed
22 Dockerfiles under
01-tutorials/,02-use-cases/,03-integrations/, and05-blueprints/.Test plan
Verified end-to-end on the riskiest Dockerfile —
03-integrations/agentic-frameworks/claude-agent/claude-sdk/Dockerfile— because it exercises the most surface (trixie base + NodeSource apt install for nodejs +uv pip install+ Python 3.11 — the largest OS jump from bookworm).docker buildsucceedsPRETTY_NAME="Debian GNU/Linux 13 (trixie)")OpenSSL 3.5.5 27 Jan 2026Python 3.11.15uv/uvxresolve onPATH(uv 0.11.11)uv pip install -r requirements.txtsucceedssetup_lts.x+apt-get install nodejsworks on trixie (node 24.15)npm install -g @anthropic-ai/claude-codesucceedsGET /ping→{"status":"Healthy", ...}Remaining Dockerfiles use the same (or a strict subset of the) pattern — same
uvenv vars, sameuv pip installflow, most without anyapt-getlayer — so they should inherit the same result.Notes / tradeoffs
ghcr.io/astral-sh/uv:latestis unpinned. If reviewers prefer a pinned uv version (e.g.uv:0.11.11or another tag), happy to pin.SRE-agent/Dockerfileusesuv sync --frozenagainstuv.lock. The lockfile is tied to Python 3.12, which is preserved — no lockfile regeneration required.