エージェントサンドボックスは、制限された実行環境です。その中でエージェントはファイルの読み書き、コマンドの実行、指定されたネットワークリソースへのアクセスができますが、触れられる範囲はサンドボックスの境界が決め、境界を越える操作は止められます。これはエージェントへの心理的な示唆ではなく、OSや仮想化レベルでの隔離です。サンドボックスを理解する鍵は「とても安全」というレッテルではなく、実際に何を隔離しているかにあります。
サンドボックスが通常隔離する3つのもの
1つ目はファイルシステムです。サンドボックス内のエージェントは割り当てられた作業ディレクトリしか見えず、ホストマシンの他のファイルは視野に入りません。そのため、誤って削除したり書き換えたりしても被害は限られます。2つ目はプロセスとリソースです。サンドボックスは起動できるプログラムや使えるCPUとメモリを制限するので、暴走したタスクがマシン全体を巻き込むことはありません。3つ目はネットワークです。多くのサンドボックスは既定でオフラインか、ホワイトリストのアドレスだけを許可するため、エージェントが勝手にデータを外へ送ることはできません。Googleが新しく発表したエージェント向けコンピューティング環境も同じ考え方で、エージェントごとに隔離されたコンピューターを1台ずつ割り当て、隔離環境でタスクを実行して結果だけを返します。
サンドボックスが止められない3つのこと
サンドボックスが管理するのは「何に触れられるか」であって、「エージェントが何を信じるか」ではありません。エージェントが読むファイル、ウェブページ、メールに誘導する指示が隠れていれば、サンドボックスが許す範囲内でそれに従うことがあります。たとえば作業ディレクトリのファイルをどこかのアドレスへ送る、といった具合です。権限を与えすぎることも止められません。プロジェクト全体のディレクトリとすべての秘密情報をサンドボックスに入れてしまえば、隔離は形だけのものになります。さらに見えにくいのがハードウェアレベルの信号漏洩で、共有ハードウェアの信号を使って隔離環境からデータを運び出す方法は研究者によってすでに実証されています。サンドボックス単体は万能の鍵ではありません。
信じてよいとき、信じてはいけないとき
サンドボックスを既定の設定にするのは正しいやり方です。エージェントはまず隔離環境で実行し、必要なディレクトリ、ネットワーク、キーは最小権限で与え、重要な操作は人が確認します。サンドボックスだけですべてをまかなおうとするのは間違いです。機密性の高いディレクトリは入れず、疑わしい出所の内容は先に確認し、お金やアカウントに関わる操作は必ず人が再確認します。サンドボックスの価値は事故の影響範囲を小さくすることにあり、判断を代行することにはありません。