# Browser container for the browser.goto tool: headless Chromium, same # non-root hardening as agent-base. This container HAS network egress — # it holds no credentials and no broker route; everything it returns is # tainted `web` (§15: data, never instructions). FROM alpine:3.21 RUN apk add --no-cache chromium font-noto \ && addgroup -g 10001 agent \ && adduser -D -u 10001 -G agent agent \ # No setuid/setgid binaries: privilege escalation surface to zero. && find / -xdev -perm /6000 -type f -exec chmod a-s {} + 2>/dev/null || true USER 10001:10001 WORKDIR /home/agent CMD ["sleep", "infinity"]