Pin and verify all container-image build inputs #499
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
The container images that implement bot-bottle's runtime and security boundaries are not fully reproducible. A rebuild of the same commit can currently execute or install different upstream bytes:
Dockerfile.gatewayandDockerfile.orchestratoruse mutablepython:3.12-slimbase tags.node:22-trixie-slimbase tags.Dockerfile.orchestrator.fcuses the mutable local tagbot-bottle-orchestrator:latest.mitmproxy==11.1.3, but its transitive pip dependency graph is neither locked nor hash-verified.curl -fsSL https://chatgpt.com/codex/install.sh | sh; the fetched installer and resulting CLI version are not pinned or verified.@earendil-works/pi-coding-agentand fivepi install npm:...extensions without versions.Gitleaks already demonstrates the desired pattern: its release version and per-architecture SHA-256 are pinned and verified before installation.
For a sandboxing tool, mutable control-plane/gateway inputs are a high-impact supply-chain risk. Mutable agent-image inputs matter too: although the agent process is untrusted by design, a compromised base or installer executes during image construction and may target the host builder or exploit the weaker legacy Docker boundary.
Proposed work
FROMreference or adjacent metadata.:latest.Image signing and attestation remain tracked separately in #339; this issue establishes deterministic, verified build inputs first.
Acceptance criteria
:latestdependency, unpinned package, or unverified remote installer is introduced.Found during the whole-project quality evaluation following #444 / PR #491.
didericis-codex referenced this issue2026-07-26 13:20:43 -04:00