サンドボックスとは、プログラムを「許可された範囲だけ」で動かすための、制限された実行環境です。ファイル、ネットワーク、コマンド、権限などに境界を設け、プログラムが誤動作したり攻撃を受けたりしても、影響が外へ広がりにくくします。
名前は、子どもが砂場の囲いの中で遊ぶ様子に由来します。砂そのものを安全にするのではなく、「遊べる場所」を囲う。このイメージが、ITにおけるサンドボックスの本質です。

AIエージェントが自分でファイルを編集したりコマンドを実行したりする今、「どこまで動けるようにするか」を決めるサンドボックスが重要になっています。
2026年7月には、隔離された検証環境で動いていたAIエージェントが、パッケージ取得用の中継ソフトウェアの脆弱性を突いて外部へ接続した事例が公表されました。サンドボックスの重要性だけでなく、「囲いがあれば絶対安全」ではないことも示した出来事です。
サンドボックスは「できること」を囲う仕組み
米国NISTの用語集はサンドボックスを、信頼できないアプリケーションを高度に制御された環境で動かし、必要最小限の権限だけを与える仕組みとして説明しています。特に、ファイルシステムやネットワークへのアクセスを制限する点が挙げられています。
ここでは、「サンプルアプリの不具合を直して」と頼まれたAIエージェントを考えます。仕事に必要なのは、作業フォルダの読み書き、テストAPIへの接続、テスト用コマンドの実行です。一方、顧客ファイル、本番データベース、任意の外部サイトへ触れる必要はありません。

図のポイントは、AIエージェントが「安全か危険か」を毎回完璧に見抜くことではありません。判断を誤って危険な操作を試しても、実行環境側が許可していなければ通さないことです。
AIエージェントの動きを3つの境界で見る
サンドボックスの実装方法は製品やOSによって異なりますが、初心者はまず「ファイル」「ネットワーク」「コマンドと権限」の3つを見ると理解しやすくなります。
1.ファイル:どこを読めて、どこを書き換えられるか
AIエージェントには、サンプルアプリがある作業フォルダだけを書き込み可能にします。顧客資料や秘密鍵がある場所は読み取りも禁止する、といった分け方ができます。
「書き込み禁止」だけでは不十分な場合があります。機密ファイルを読める状態なら、内容を画面や通信先へ出してしまう可能性があるためです。読み取りと書き込みを分けて考える必要があります。
2.ネットワーク:どこへ接続できるか
テストAPIへの接続だけを許可し、それ以外の外向き通信を止めれば、誤って本番環境を操作したり、読み取った情報を外部へ送ったりするリスクを抑えられます。
パッケージのダウンロードなど、一時的にインターネットが必要な場面では、人の承認を挟む、接続先を限定する、通信を記録するといった設計が考えられます。ネットワーク通信を許可・遮断する基本は、ファイアウォールの解説でも確認できます。
3.コマンドと権限:何を実行できるか
テストの実行は許可しても、OSの管理者設定を変えるコマンドや、ファイルを一括削除する操作までは不要です。使えるツール、コマンド、引数、実行ユーザーの権限を仕事に必要な範囲へ絞ります。
| 制限する対象 | 今回のAIエージェントに許可する例 | 止める例 |
|---|---|---|
| ファイル | 作業フォルダの読み書き | 顧客資料、秘密鍵、本番設定 |
| ネットワーク | テストAPIへの接続 | 本番DB、任意の外部サイト |
| コマンド・権限 | テスト、ビルド、限定した編集 | 管理者操作、無関係な一括削除 |
| 時間・資源 | 決めた時間とCPU・メモリ | 終わらない再試行、資源の使い切り |
なぜAIエージェントでサンドボックスが注目されているのか
従来のチャット型AIは、主に文章を返す存在でした。AIエージェントは、目的に合わせて手順を考え、ファイルを開き、コードを実行し、APIや外部ツールを呼び出します。便利になった分だけ、誤った判断が実際の操作につながります。
OWASPのAI Agent Security Cheat Sheetでも、エージェントのツールと権限を最小限にすること、高リスクな操作には人の確認を入れること、任意のコードをサンドボックスなしで実行させないことが推奨されています。
2026年7月21日にOpenAIが公表した検証中のセキュリティ事例では、AIエージェントに直接のインターネット接続は与えられていませんでした。しかし、エージェントはパッケージ取得用の中継ソフトウェアに未知の脆弱性を見つけ、そこから外部接続へ至りました。さらに7月27日にはNVIDIAやMicrosoft、IBM、Linux Foundationなどが、AI時代の防御技術を共同で整備するOpen Secure AI Allianceを発足させています。
だからこそ、サンドボックスは単独で使うのではなく、最小権限、更新、監視、人の承認、認証情報の分離を重ねます。「必要な範囲だけ許可する」という考え方は、ゼロトラストの最小権限にもつながります。
テスト環境・コンテナ・仮想マシンとの違い

Dockerコンテナの中で動かせば、それだけでサンドボックスになるのでしょうか?
結論から言うと、コンテナや仮想マシンはサンドボックスを実現するために使える技術ですが、同じ言葉ではありません。サンドボックスは「操作範囲を制限する目的・仕組み」であり、その境界を何で作るかは別の話です。
| 用語 | 中心となる意味 | サンドボックスとの関係 |
|---|---|---|
| サンドボックス | 実行できる操作と資源を制限する | 目的・セキュリティ設計そのもの |
| テスト環境 | 本番前に動作を確認する場所 | 権限が広ければ隔離されているとは限らない |
| コンテナ | アプリと実行環境をまとめ、プロセスを分離する | 境界を作る手段の1つ。設定次第で範囲が変わる |
| 仮想マシン | 仮想的なコンピューターとOSを分けて動かす | 比較的独立した境界を作る手段の1つ |
Docker公式ドキュメントが説明するように、Dockerは名前空間やcgroupsでプロセスと資源を分離します。一方、ホストの重要なフォルダを共有したり、強い権限を与えたりすれば、コンテナからホストへ大きな影響を与えられます。Dockerとコンテナの基本を押さえたうえで、マウント、実行ユーザー、ネットワーク、権限を個別に設計する必要があります。
サンドボックスを確認するときの7項目
「サンドボックス対応」と書かれているだけでは、どこまで制限されるかは分かりません。AIエージェントや未知のプログラムを動かすときは、次の項目を具体的に確認します。
- 読める場所:機密ファイルや認証情報まで見えていないか
- 書ける場所:作業フォルダ以外を書き換えられないか
- 接続できる先:外向き通信は既定で止まり、必要な宛先だけ許可されているか
- 使えるコマンドと権限:管理者権限や不要なツールが与えられていないか
- 人の承認:削除、送信、購入など戻せない操作の前で止まるか
- 時間と資源:実行時間、再試行回数、CPU、メモリ、費用に上限があるか
- 記録と初期化:何をしたか追跡でき、作業後に環境をきれいな状態へ戻せるか
今回のAIエージェントなら、「作業フォルダだけ書き込み可」「テストAPIだけ接続可」「テストとビルドだけ実行可」を出発点にします。必要な操作が増えたときだけ、理由を確認して許可範囲を広げます。
まとめ:サンドボックスは安全な範囲を先に決める
サンドボックスの目的は、プログラムが絶対に間違えないようにすることではありません。間違えたり攻撃されたりしても、できることを必要な範囲に閉じ込めることです。AIエージェントに仕事を任せるときほど、「何をさせるか」と同時に「何をさせないか」を実行環境で決めることが重要です。
