Repository navigation
feat: authenticate interpreter requests with in-memory token verifiers - #342
devin-ai-integration[bot] wants to merge 4 commits into
Conversation
…port Co-Authored-By: mish@e2b.dev <mish@e2b.dev>
|
I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".
|
|
The template build reached the readiness check but The CI log does not include service journals, so this is not a complete diagnosis of that build. Local tests cover the missing-feed 503 and healthy-connected 200 behavior. Keep this draft and rerun the template build after the envd provider is deployed; do not bypass authentication or weaken readiness to make the build pass. |
Co-Authored-By: mish@e2b.dev <mish@e2b.dev>
Co-Authored-By: mish@e2b.dev <mish@e2b.dev>
Co-Authored-By: mish@e2b.dev <mish@e2b.dev>
Summary
Authenticate interpreter requests locally with an in-memory SHA-512 verifier delivered by envd over a root-only Unix socket. Reject requests before provisioning or after disconnect, update verifiers on resume/fork, and keep
/healthcredential-free but unavailable until the verifier feed connects. Tokenless sandboxes cannot execute code; only explicit local Docker development (E2B_LOCAL=true) bypasses auth.Token authentication only: Jupyter isolation is now the independent #343. Both target
mainand share the server-test harness; this PR leaves Jupyter's TCP listener unchanged and does not secure direct Jupyter access.Deploy https://github.com/e2b-dev/belt/pull/4368 and release e2b-dev/E2B#1955 before rebuilding this template. Older envd cannot satisfy the health check; the template CI build remains gated on that provider rollout. Related: https://linear.app/e2b/issue/SDK-363/verify-code-interpreter-context-endpoint-auth-requirements
Verification: all 9 authentication tests pass on Python 3.10 and 3.12 after the split; Ruff lint/format and Python compilation pass. Coverage includes endpoint rejection, verifier rotation/reconnect, malformed delivery, health semantics, and public WebSocket rejection. Actual Firecracker resume/fork/live-upgrade testing is still required before rollout.
Link to Devin session: https://app.devin.ai/sessions/23861bced08343e59c14adf841498b12
Open in Devin Desktop: https://app.devin.ai/desktop/session/23861bced08343e59c14adf841498b12?variant=devin
Requested by: @mishushakov