nikvdp/cco

A thin protective layer for Claude Code

解決的問題

cco 為運行 Claude Code 和 OpenAI 的 Codex 等 AI 編碼代理提供安全的沙箱環境。它消除了使用跳過權限提示的自主模式提升生產力,與防止代理透過提示注入存取敏感系統檔案或執行危險指令之間的權衡。

工作原理

cco 作為包裝器,會自動選擇主機系統上可用的最高效沙箱方法:

  • 原生沙箱:macOS 使用 sandbox-exec,Linux 使用 bubblewrap,實現輕量、快速的隔離。
  • Docker 沙箱:當原生工具不可用時,回退到 Docker 容器,提供更強的檔案系統隔離。

它管理專案檔案、Git worktrees 和網路存取,使代理能正常運行,同時限制對主機系統其餘部分的存取。它還處理憑證管理(例如 macOS Keychain)和終端訊號轉發(SIGWINCH),確保互動體驗感覺原生。

適用對象

使用基於終端的 AI 編碼代理,並希望在不犧牲機器安全性的前提下以自主模式運行的開發者。

特色亮點

  • 零設定:可直接作為 claude 命令的替代品使用。
  • 多後端支援:自動在原生作業系統沙箱和 Docker 之間切換。
  • 與 IDE 無關:可在任何終端中使用,無需依賴 VS Code 或 devcontainers。
  • 細粒度存取控制:支援 --allow-readonly--deny-path--add-dir,精確控制代理可查看和修改的內容。
  • 憑證整合:可無縫從 macOS Keychain 提取憑證。
  • 多功能包裝器:透過 --command 標誌,可用於對任意 CLI 工具進行沙箱化。

相關

  • 專案
  • 專案
  • Dispatch
  • Dispatch
  • 專案