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

Closed opened this has it
opened this

Part of #10441, the second half of #10450. It extends the test file the read-attempt issue lands.

Done:

  • [ ] 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.
  • [x] Skips are named as they are in the read tests.
  • [x] 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.

Files: test/crew-sandbox-escape.test.ts, docs/ops/RED-TEAM.md

commented

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.

commented

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..

commented

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.

commented

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.

commented

Already done on main in be3a0098d f12e5a522: the remaining box landed there (see my comment above).

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs