Skip to content

Conversation

@CSRessel
Copy link
Collaborator

@CSRessel CSRessel commented Jan 2, 2026

Summary

🤖 Generated with Nori

  • Adds platform-specific OS-level sandboxing for ACP agent subprocesses (macOS Seatbelt, Linux Landlock+seccomp)
  • New sandbox.rs module with transform_command_for_sandbox() to wrap agent commands
  • AcpConnection::spawn() now accepts sandbox_policy parameter to control sandbox behavior
  • Graceful degradation: runs unsandboxed when Linux sandbox binary not available, with warning logged
  • Defense-in-depth: application-level path restrictions in write_text_file() retained

Test Plan

  • All 118 codex-acp tests pass
  • Sandbox transformation tests verify correct command wrapping for each platform
  • Graceful degradation test verifies unsandboxed fallback when binary not provided
  • CI passes

Share Nori with your team: https://www.npmjs.com/package/nori-ai

Implement platform-specific sandbox wrapping for ACP agent subprocesses:
- macOS: Seatbelt via /usr/bin/sandbox-exec (reusing codex-core)
- Linux: Landlock + seccomp via codex-linux-sandbox binary
- Windows: Deferred (gracefully degrades to unsandboxed)

This restricts what agent processes can access based on SandboxPolicy,
providing OS-level security for Claude Code, Codex, and Gemini CLI agents.

Key changes:
- New sandbox.rs module with transform_command_for_sandbox()
- AcpConnection::spawn() now accepts sandbox_policy parameter
- Graceful degradation when Linux sandbox binary not provided
- Defense-in-depth: application-level path restrictions retained
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants