fix(sandbox): Bind egress proxy to VM session#354
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
09db2ef to
8ccf2eb
Compare
8ccf2eb to
df6e802
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit df6e802. Configure here.
df6e802 to
ad26cf9
Compare
ad26cf9 to
6959b72
Compare
Route sandbox credential egress through the active Vercel Sandbox VM session id. Do not bind the proxy route to the persistent sandbox name. Vercel's firewall proxy token identifies the forwarded sandbox request. Junior keeps the sandbox name for workspace resume. Use the active egress session to authorize requester-bound credentials. Keep the missing callback URL setup failure so placeholder credentials cannot reach provider domains. Fixes JUNIOR-2F Co-Authored-By: GPT-5 Codex <noreply@openai.com>
6959b72 to
e31bbe7
Compare
Keep sandbox credential egress bound to the current Vercel Sandbox VM session when the SDK resumes a named sandbox. Refresh command-scoped credential authorization from the live session id instead of a value captured when the wrapper was created. Tighten tests and comments so egress ids refer to forwarded VM sessions rather than persistent sandbox names. Fixes JUNIOR-2F Co-Authored-By: GPT-5 Codex <noreply@openai.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Sandbox credential egress now routes through the active Vercel Sandbox VM session id instead of the persistent sandbox name. This matches the Sandbox v2 SDK model where the sandbox name is used for workspace resume while the current session id identifies the running VM that issues forwarded firewall requests.
Proxy Token Verification
The egress proxy verifies the Vercel-signed token issuer and signature, then binds the token sandbox claim to the forwarding route id. It does not compare Sandbox proxy token audience, project, or team claims with deployment OIDC because those are separate token contexts and the public Sandbox proxy docs do not define that as the verifier contract.
Live Session Binding
Junior reads the egress id from
sandbox.currentSession().sessionIdthrough a live wrapper getter, so cached named sandboxes that resume into a new VM session refresh their forwarding route and command-scoped authorization with the new session id.Credential Activation
Junior still requires an active command-scoped egress session before issuing requester-bound provider credentials. Missing public callback URL still fails sandbox setup before placeholder credentials can reach provider domains.
Fixes JUNIOR-2F