Skip to content

Tighten tempfile write path and add an omp carveout for omp's plugin resolution - #71

Merged
nikvdp merged 2 commits into
masterfrom
fix/seatbelt-claude-write-boundaries
Sep 29, 2026
Merged

nikvdp merged 2 commits into
masterfrom
fix/seatbelt-claude-write-boundaries

Conversation

@nikvdp

@nikvdp nikvdp commented Sep 29, 2026

Copy link
Copy Markdown
Owner

Fixes #70

…sandbox

- Add ~/.bun to OMP's writable state roots so bun can write its install cache
- Extend the OMP registration test to assert the bun cache path is whitelisted

OMP runs bun install at startup to resolve plugins, and bun needs to write
~/.bun/install/cache. Without this path in the Seatbelt allowlist, launching
cco omp from a cold project failed with "bun is unable to write files to
tempdir: PermissionDenied".
- Limit the JSON lock write exception to its directory and contents
- Restrict atomic-write temps to flat filenames under HOME
- Check permitted Claude writes and rejected lookalike paths under a test HOME

Sandboxed processes can no longer create arbitrary prefix-matching siblings
or nested temp paths while normal Claude writes remain available.
@nikvdp
nikvdp merged commit 658e99c into master Sep 29, 2026
6 checks passed
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.

Seatbelt: unanchored file-write regexes allow creating arbitrary $HOME/.claude.json.lock* / .claude.json.tmp.* paths

1 participant