nikvdp/cco
A thin protective layer for Claude Code
cco は、Claude Code や OpenAI の Codex などの AI コーディングエージェント用のサンドボックスラッパーです。これらのエージェントを隔離された環境で実行することで、プロンプトインジェクションや誤操作によるシステムへの影響を防ぎつつ、シームレスなターミナル体験を維持します。
なぜ重要か: AI コーディングエージェントは有用であるためには、ファイルやシェルへの広範なアクセスが必要です。しかし、その一方で、悪意あるプロンプト(たとえば、読み込んだ悪意あるウェブページから)に騙されると、ファイルの削除、データの漏洩、任意のコマンド実行が行われる可能性があります。cco はエージェントと実際のマシンの間にバリアを設けることで、こうしたリスクを軽減します。
動作方法:
- オペレーティングシステムのネイティブサンドボックス(macOS では
sandbox-exec、Linux ではbubblewrap)が利用可能であれば自動的に選択。そうでなければ Docker を使用。 - エージェントは、プロジェクトディレクトリと明示的に共有されたパスのみがマウントされたサンドボックス内で実行されます。その他のファイルシステムは読み取り専用または非表示にされます。
- 認証情報(macOS Keychain からの Claude の認証など)は実行時のみに安全に注入され、イメージに埋め込まれることはありません。
- ターミナルの機能(リサイズ、シグナルなど)を維持するため、エージェントの UI はネイティブな体験を提供します。
主な機能:
- ゼロ設定: 一度インストールすれば、
claudeの代わりにccoを入力するだけでOK。 - 複数のエージェント対応: Claude Code、OpenAI の Codex、OpenCode などに対応。
- 柔軟なサンドボックス: ネイティブまたは Docker を選択可能、または自動検出も可能。
- 永続セッション: オプションでコンテナのファイルシステムを複数回の実行で再利用(
--persist)。 - カスタムマウント: 追加のディレクトリを読み取り専用または読み書き可能に共有、特定のパスを拒否、例外を設定可能。
- 汎用ラッパー:
cco --commandを使って、AI エージェント以外の CLI もサンドボックス化可能。
クイックスタート:
curl -fsSL https://raw.githubusercontent.com/nikvdp/cco/master/install.sh | bash
cco "write a hello world script"
使い方は完全に透明です。完全に自律的な AI コーディングのスピードを享受しつつ、システムを守る安全装置を備えています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- Dispatch