clawkwork/clawk
Give coding agents a disposable Linux VM, not your laptop
何を解決するか
clawk は自律型コードエージェント(Claude Code、Codex、pi など)用の安全で一時的な Linux 環境を提供します。ホストマシン上で完全な権限でエージェントを実行するリスク(たった1つの破壊的コマンドや漏洩したトークンが深刻な被害を引き起こす可能性)を回避するために、エージェントに独自の仮想マシン(VM)を割り当てます。
動作方法
clawk は macOS では Apple の Virtualization.framework、Linux では Firecracker を使用して軽量な Linux VM を起動します。virtio-fs を通じてローカルのコードリポジトリをゲスト VM にマウントし、エージェントがリアルタイムでファイルを編集できるようにします。セキュリティを確保するために、ゲストの下層でユーザー空間に DNS 対応の出力ネットワークフィルタを実装しており、デフォルトでは未知のサーバーへのすべての通信をブロックしますが、GitHub や npm などの一般的なレジストリは許可します。
主な技術的特徴:
- OCI イメージ Rootfs:Docker デーモンを必要とせずに、標準の OCI イメージを取得して VM のルートファイルシステムを作成します。
- 永続性:エージェントの会話履歴とリポジトリはホストに保存されますが、VM のディスクは一時的で、毎回起動時にイメージから再クローンされます。
- 接続性:制御用に vsock ブリッジを使用し、ホストの ssh-agent を転送することで、エージェントが VM 内にプライベートキーを持たずにコードをプッシュできます。
対象ユーザー
自律型 AI コードエージェントを使用し、権限の確認プロンプトをバイパスして完全な自律性を発揮したいが、ホストマシンのファイル、キーチェーン、ネットワークのセキュリティを損ないたくない開発者。
特徴
- 一時的なサンドボックス:コードやエージェントの会話履歴を失うことなく、VM をすばやく破棄・再作成可能。
- ゼロ設定セットアップ:Dockerfile や devcontainer 設定なしに、1つのコマンドでディレクトリ用のサンドボックスを起動可能。
- ネットワーク許可リスト:出力トラフィックの厳格な制御と、すべてのブロックされた接続試行のログ記録。
- OCI 互換性:プロジェクトに必要なツールチェーンを正確に提供するために、任意の OCI イメージをルートファイルシステムとして使用可能。
- チケットモード:複数リポジトリのタスクを管理するために、1つのサンドボックス内で複数のリポジトリ用の git worktrees を作成し、PR を連携可能に。
- リソース効率:アイドル状態の VM は自動的にメモリを解放し、ディスクにスリープしてホストの負荷を最小限に抑える。
関連
- Dispatch
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト