Files
buzz/crates
Eli FosterandClaude Opus 5 960f3dd848 Close isolation gaps found in review
Recognize Claude adapters launched through a JS runner (`npx`,
`node`, `bunx`) by the package in their arguments. Matching the command
name alone spawned the same adapter with no isolation, and the fallback
was silent; a Claude-looking command that still cannot be confirmed now
warns that it is unisolated, and a confirmed one logs that it is.

Project `user.name`, `user.email`, and a `nostr` credential helper from
the operator's global git config into the disposable profile. Redirecting
HOME hides ~/.gitconfig, which otherwise costs the agent its commit
identity and its NIP-98 push credential against Buzz's own git server.
Only those keys cross the boundary: a keychain or `!shell` helper would
hand the agent the operator's stored credentials, and `GIT_CONFIG_GLOBAL`
now passes through as the explicit opt-out.

Also allowlist the proxy variables — an egress-proxied host has no route
to the model API without them, and they carry no credential material —
plus `USERNAME`, and redirect `HOMEDRIVE`/`HOMEPATH` so Windows tooling
that predates `USERPROFILE` cannot resolve the operator's home.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: Eli Foster <efoster@squareup.com>
2026-08-04 10:49:12 -07:00
..
2026-07-27 14:18:24 -04:00