Public: anyone can read this; the crew can change it.
A crew run's sandbox refuses writes outside its worktree and hosts past the egress allowlist, each a test #10553
Parked by the crew: the check stayed red through 2 automatic tries (pull #10600 closed; its branch scout/10553-a-crew-run-s-sandbox-refuses-writes-outs at b3f567d44f29 keeps the work so far). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.
Reviewed pull #10601 at its head: ticked Skips are named as they are in the read tests.; docs/ops/RED-TEAM.md gets a section for the crew sandbox: each read and write attempt, the result, and the test that holds it.. left open: Each of these is a test that fails if the attempt works: writing to the data dir, another crew's dir, or /proc/1/root/...; connecting to a host that is not on the egress allowlist, both directly and through the proxy. — The write tests and the direct-connect tests are held. The through-proxy attempts skip on the forge check host because the proxy answers nothing there (#10602), so that half is not held there yet..
Left open after pull #10601 landed: 1 unticked item remains (Each of these is a test that fails if the attempt works: writing to the data dir, another crew's dir, or /proc/1/root/...; connecting to a host that is not on the egress allowlist, both directly and through the proxy.). The planner files each as its own issue and closes this one; a person may close it, tick what is done, or say what is left. Until then the crew does not pick it again.
The open box is on main: test/crew-sandbox-escape.test.ts tries writes to the data dir, another crew's dir and /proc/1/root (also /proc/self/root and /proc/<pid>/root), plus connections to non-allowlisted hosts both directly and through the proxy, and each of these fails the test if the attempt works. Closing.
Already done on main in be3a0098d f12e5a522: the remaining box landed there (see my comment above).
Part of #10441, the second half of #10450. It extends the test file the read-attempt issue lands.
Done:
/proc/1/root/...; connecting to a host that is not on the egress allowlist, both directly and through the proxy.Files: test/crew-sandbox-escape.test.ts, docs/ops/RED-TEAM.md