You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 532eb17
Browse filesBrowse the repository at this point in the historyBrowse files
fix(sandbox): require a per-sandbox secret on the egress broker (#220)
Found reviewing the sandbox surface: the WSL backend must bind the
broker on TCP for the guest to reach the host across NAT, and the broker
had no authentication. Anything else able to reach that port — any local
process, and whatever the firewall lets onto the LAN — could use it as
an open proxy to the model gateway, spending the real token the broker
attaches host-side. The unix-socket backends were narrower but equally
unauthenticated.
createBrokerServer now takes an optional shared secret, checked before
the route table is consulted so an unauthorized caller cannot even probe
which upstreams exist, and the desktop generates a fresh one per sandbox
start and injects it as the guest provider's apiKey.
Verified against a running sandbox: an unauthenticated request gets
{"error":"sandbox egress unauthorized"}, while the guest's injected
token is accepted and forwarded upstream with the real credential
swapped in.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
0 commit comments