mensfeld/code-on-incus

Give each AI agent its own isolated machine with root, Docker, and systemd. Active defense detects and stops threats automatically.

何を解決するか

Code on Incus (COI) は、AIコーディングエージェントが動作するための安全で隔離された環境を提供します。AIエージェントがホストシステムに直接アクセスできないようにすることで、機密資格情報、SSHキー、環境変数を保護しつつ、複雑なコーディングタスクを実行するために必要なシステムレベルのアクセス(root権限、Docker、パッケージマネージャー)をエージェントに提供します。

動作方法

COI は、標準のアプリケーションコンテナではなく、完全な init システムを備えた軽量仮想マシンのように動作する Incus システムコンテナを使用しています。各AIエージェントのセッションには、独自のホームディレクトリとマウントされたプロジェクトワークスペースを持つ独自のコンテナが割り当てられます。

セキュリティを維持するために、COI は以下の機能を実装しています:

  • アクティブ防御:nftables を使用したカーネルレベルの監視により、リバースシェル、データ漏洩、資格情報スキャンなどの脅威を検出し、コンテナを一時停止または終了させる自動対応を実施します。
  • 資格情報の隔離:デフォルトではホストの資格情報は公開されません。明示的なマウントまたは安全な転送(SSHエージェント転送など)によってのみ提供されます。
  • 保護されたパス.git/config.vscode 設定など、重要なプロジェクトファイルは読み取り専用でマウントされ、サプライチェーン攻撃を防ぎます。
  • サンドボックスコンテキスト:自動挿入されるファイル(SANDBOX_CONTEXT.md)により、AIツールが制限された環境であることを認識できます。

対象ユーザー

Claude Code、OpenCode、pi などのAIコーディングエージェントを使用し、ホストシステムのセキュリティや安定性を損なうことなく、完全なマシンアクセスをエージェントに与えたい開発者。

特徴

  • 完全なシステムアクセス:コンテナ内で root 権限と Docker サポートを提供します。
  • リアルタイム脅威検出:高リスクのネットワーク活動を検出すると、コンテナを自動的に一時停止または終了します。
  • 並列セッション:同じワークスペースに対して複数の隔離された「スロット」をサポートします。
  • 永続性:コンテナは永続的または一時的で、ワークスペースの変更は常に保存されます。
  • ホスト統合:SSHエージェント、特定のTCPポート、Unixソケットを安全に転送します。
  • スナップショット:コンテナ状態のチェックポイントを作成し、変更をロールバックできる機能があります。

関連

  • プロジェクト
  • プロジェクト
  • Dispatch
  • プロジェクト
  • プロジェクト