feat: implement executor isolation for secure SDK execution #319
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.
Summary
Implements Executor Isolation - a process-level security boundary that separates the privileged daemon from untrusted SDK execution contexts. This enables secure multi-user environments where users can execute Claude Code, Codex, and other agentic tools without compromising system security.
Key Features
Phase 1: Executor Package & IPC Server
@agor/executorpackage with JSON-RPC 2.0 over Unix socketsPhase 2: Daemon-Side Executor Pool
ExecutorPool- Manages executor lifecycleExecutorClient- JSON-RPC client for daemon→executor communicationPhase 3: Session Token Service
Phase 4: Encrypted Credential Management
UsersRepositorywith encrypted API key storage (AES-256-GCM)ExecutorIPCServicehandles get_api_key/request_permission/report_messageImplementation
Files Changed: 48 files, ~12k lines
Documentation:
context/explorations/executor-isolation.md- Full design doccontext/explorations/executor-implementation-plan.md- Implementation phasesTesting
Security
✅ Process-level isolation (daemon runs as root, executors as unprivileged users)
✅ Encrypted API keys at rest (AES-256-GCM)
✅ Just-in-time credential delivery
✅ Session tokens with expiration/usage limits
✅ No API keys in executor process environment
Next Steps (Future Phases)
🤖 Generated with Claude Code
Co-Authored-By: Claude [email protected]