-
Notifications
You must be signed in to change notification settings - Fork 383
Closed
Labels
state:agent-readyApproved for agent implementationApproved for agent implementationstate:review-readyReady for human reviewReady for human reviewtopic:securitySecurity issuesSecurity issues
Milestone
Description
Summary
SSH session tokens are UUIDs generated when a client calls CreateSshSession. The token is stored with sandbox id, creation time, and a revoked flag. There is no expiry time or TTL. The only way to invalidate a token is to call RevokeSshSession, which sets revoked = true. If a token is stolen or leaked, it remains valid for SSH access to the sandbox until someone explicitly revokes it.
Source Code
- Session creation in
crates/navigator-server/src/grpc.rsincreate_ssh_session(lines 576-628): a new UUID is generated (line 597), and anSshSessionis built withrevoked: falseand no expiry field (lines 598-605), then persisted viastore.put_message. - The proto and store model for
SshSessionincludecreated_at_msandrevokedbut noexpires_ator similar. Revocation is inrevoke_ssh_session(lines 689-716).
Originally by @drew on 2026-02-19T08:59:15.075-08:00
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
state:agent-readyApproved for agent implementationApproved for agent implementationstate:review-readyReady for human reviewReady for human reviewtopic:securitySecurity issuesSecurity issues