Show HN:Code Airlock——使い捨てマイクロVMでClaude CodeとCodexを実行
Code AirlockはDocker Sandboxesをラップした軽量ツールで、Claude Code、Codex、OpenCodeなどのコーディングエージェントを使い捨てマイクロVM内で安全に実行し、ホストリポジトリを読み取り専用に保ち、通常のgitコミットとしてエージェントの作業をレビューできるようにします。
Code AirlockはDocker Sandboxesをベースにした軽量ツールで、Claude Code、Codex、OpenCodeなどのAIコーディングエージェントを安全かつ効率的に活用するための仕組みを提供します。その核となるアイデアは、エージェントを使い捨てのマイクロVM内で実行することで、エージェントに高い自律性を与えつつ、ホストシステムのセキュリティを確保することです。
従来の方法では、エージェントの誤操作を防ぐために各コマンドの実行権限を厳しく制限する必要がありましたが、これによりエージェントの効率が低下するという問題がありました。Code Airlockはセキュリティ境界を実行環境レベルに移行します。エージェントはマイクロVM内で自由にパッケージをインストールし、テストを実行し、ログを確認することができます。一方、ホストリポジトリは読み取り専用のままです。エージェントによるすべての変更は通常のgitコミットとして返され、開発者はそれをレビューした上でマージすることができます。
Docker Sandboxesを直接使用する場合と比較して、Code Airlockはコーディングエージェントのワークフローに特化した最適化を提供します。デフォルトでクローンモードが有効になっており、リポジトリごとに安定したサンドボックス名が割り当てられ、ワンコマンドでエージェントを起動できます。さらに、fetch、diff、review、mergeといったコマンドが用意されており、エージェントの作業成果を簡単に管理できます。
インストールにはまずDocker Sandboxesが必要です。npmまたはHomebrewを使用してインストールするか、スタンドアロンのシェルインストールスクリプトを利用することもできます。インストール後、以下のようなシンプルなコマンドでサンドボックスを起動し、エージェントを実行できます:
code-airlock run "ユーザーエンドポイントにページネーションを追加してテストを実行" code-airlock diff code-airlock merge
リモートサーバーでの実行にはtmuxセッションがサポートされており、SSH接続が切断されてもエージェントは動作し続けます。また、設定ファイルを通じてネットワークアクセスを制限し、モデルAPIやパッケージレジストリのみにアクセスを許可することも可能です。
Code Airlockには設定シーディング機能もあり、ユーザーレベルのカスタマイズ(カスタムコマンド、スキル、サブエージェントなど)をサンドボックスにコピーできます。デフォルトではクローンモードでこれらの設定は引き継がれませんが、--seed-configオプションを使用することで、エージェント起動前にこれらの設定をコピーし、個人用のツールや指示を利用できるようになります。
要するに、Code AirlockはAIコーディングエージェントに安全で再現性のあるワークフローを提供し、エージェントの自律性を活かしつつ、コードリポジトリのセキュリティを確保します。その設計哲学は、セキュリティ境界をエージェントの下に置くことであり、エージェント内部のポリシールールだけに依存するのではなく、環境レベルでの保護を実現しています。