Skip to content

Propose egress allowlist ADR, add runtime control table, draft sandbox comparison - #184

Open
BrettKinny wants to merge 1 commit into
mainfrom
docs/egress-adr-security-controls-comparison
Open

BrettKinny wants to merge 1 commit into
mainfrom
docs/egress-adr-security-controls-comparison

Conversation

@BrettKinny

Copy link
Copy Markdown
Collaborator

Summary

  • ADR 0011 (Proposed): an opt-in SQUAREBOX_EGRESS=open|audit|allowlist mode.
    • In the two restricted modes, the Box sits on an internal network and a proxy container outside it is the only way out.
    • The operator allowlist lives at <SQUAREBOX_DIR>/.squarebox/egress-allowlist and is mounted only into the proxy, so an agent can't widen its own access.
    • Link-local, metadata, and loopback addresses are always blocked.
    • The setting is recorded as FORMAT=3 in the Install identity, under ADR 0007.
    • TLS interception and credential injection are explicitly out of scope.
    • Implementation is tracked in Opt-in egress allowlist for the Box (ADR 0011) #183.
  • SECURITY.md: a "Runtime controls at a glance" table with Default / What you can change / Risk if relaxed / Recommendation for each runtime control. The Workspace row adds a risk SECURITY.md didn't state before: .git/hooks and build scripts written in the Box can later run on the host.
  • docs/comparison.md (draft): compares Squarebox with Dev Containers, Codespaces, Docker Sandboxes, Anthropic srt, Container Use, OpenShell, hosted sandboxes, Distrobox/Toolbx, and Nix/mise. The page is dated and lists its sources. It isn't linked from the README yet.

Review notes

  • Some cells are based on thin sources: Codespaces has no built-in egress allowlist, and sources disagree on Daytona's isolation model.
  • This PR only adds docs. The ADR stays Proposed until it's accepted.

Test plan

  • tests/test-repository-consistency.sh
  • tests/test-e2e-evidence.sh

🤖 Generated with Claude Code

…ndboxes

- ADR 0011 (Proposed): opt-in egress allowlist enforced by a proxy
  outside the Box, with the operator list never mounted into the Box.
- SECURITY.md: per-control table (default, knobs, risk, recommendation).
- docs/comparison.md: draft comparison with dev containers and AI-agent
  sandboxes.

Refs #183

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant