Hazmatは、AIコーディングエージェントを自分のマシン上の別アカウント内で実行するオープンソースツールです。Claude Code、Codex、OpenCode、Cursor Agentなど、人々が利用する各種ハーネスに加え、自作のスクリプトもラップして実行できます。

通常の方法で起動したエージェントはユーザー自身の権限で動作するため、ユーザーが読み取れるものはすべて読み取れてしまいます。これにはSSHキー、クラウドの認証情報、そして長年かけてホームディレクトリに積み重なった大量の設定ファイルも含まれます。Hazmatはエージェント専用のホーム環境を用意し、指定したプロジェクトディレクトリのみを共有します。認証情報のキーやフォルダは、セッションが到達できる範囲の外に置かれます。
エージェント起動前に利用条件を確認
何かが起動する前に、1つのコマンドでそのセッションの利用条件が表示されます。エージェントが書き込めるディレクトリ、読み取り専用のパス、ネットワークやサービスへのアクセス可否、事前にバックアップが実行されるかどうかが一覧表示されます。10秒ほど時間を取って、必ず目を通してください。この表示こそが、エージェントが何に触れられるかを確認できる最後の機会であり、それ以降はユーザーが見ていない間に処理が進んでしまいます。
macOSでは、起動時に次の4つの処理が順番に実行されます。プロジェクトのバックアップ、そのセッション専用のサンドボックスポリシーの構築、エージェント用アカウントへの切り替え、そしてハーネスの起動です。この時点で、ファイアウォールルールはすでに有効になっています。Linuxはネイティブで動作し、Appleのコンテナツールを利用するバックエンドは実験的フラグの背後に用意されています。
自分で試せるデモ
境界がどう機能するかは、1分程度で自分で確かめられます。デモスクリプトは使い捨てのプロジェクトを作成し、ネットワークをオフにした上で、そのプロジェクト内にファイルを書き込みつつ、実際のホームディレクトリにある秘密鍵へのアクセスを試みる単一の隔離コマンドを実行します。ファイルの書き込みは成功する一方、秘密鍵は読み取り不能なまま返され、その後の比較結果ではプロジェクト内に新規ファイルが1つ追加されただけで、他には何も変更されていないことが示されます。
コード全体の約5.5パーセントは、TLA+というシステムの挙動を記述するための言語で書かれた形式仕様です。TLA+を使うと、システムがどう振る舞うべきかの記述を機械的に検証できます。プロジェクト側は、これを根拠に自らの設計を「検証済み」と称しています。ただし、検証されているのはあくまで紙の上での隔離モデルであり、実際にインストールするGoのバイナリは別物であり、それ自体に固有のバグを抱える可能性がある点には注意が必要です。
HazmatはGitHubで無料公開されています。
翻訳元: https://www.helpnetsecurity.com/2026/08/17/hazmat-open-source-ai-coding-agent-containment/