branderson 5fef8dcf90 claude-sandbox: mount the dedicated SSH key source under /root, not $HOME
The headless-SSH-key feature claimed the plaintext key was "deleted
immediately after being loaded into the agent, so nothing readable is
left on disk" - but entrypoint.sh only deleted the copy it made; the
original bind-mounted source at $SANDBOX_HOME/.ssh-sandbox-key-src stayed
mounted, readable, for the container's whole life. Combined with the
sandbox user's uid now matching the host user's, that file was directly
readable by the very process the sandbox exists to constrain, letting a
compromised session exfiltrate the raw key instead of being limited to
signing through the local agent socket.

Move the mount to /root/.ssh-sandbox-key-src (root:root, 700 by default)
so only entrypoint.sh's root-run startup code can ever reach it; the
sandbox user has no path to that directory at all. Update the matching
static/runtime tests (the runtime one now asserts the sandbox user
actually gets permission denied reading the source) and correct the
README's description of the mechanism.
2026-07-22 12:36:40 -07:00
2026-07-17 13:15:53 -07:00
2026-07-13 18:24:22 -07:00
2026-07-19 13:03:32 -07:00
2025-09-18 01:39:35 -07:00
2026-07-19 16:10:47 -07:00
S
Description
The dotfiles that I use. Includes an installer to set up from a fresh Arch Linux install
31 MiB
Languages
Shell 63.9%
Lua 16.4%
Vim Script 13.2%
Perl 2.8%
CSS 2.2%
Other 1.5%