実行環境と通信の制限

AIエージェントのサンドボックス設計|workspace・通信・認証情報を分離する

AIエージェントのサンドボックスは、filesystem・network・credentials・approvalの4能力を分けて設計します。
エージェントに社内で作業させたいが、被害範囲を閉じたい、情シスや開発責任者の方の悩みに向けた記事です。
workspace、通信先、認証情報、承認、監査をどう絞るかが分かります。

古野光太朗古野光太朗·2026.09.16·最終更新 2026.10.03·一次情報 6件
AIエージェントの実行環境を狭く作る。書ける場所・通信先・認証情報・承認を技術で狭める

AIエージェントの被害範囲は、どうすれば閉じられますか?

指示に頼らず実行環境を技術的に制限します。目的は、失敗しても到達できる資源を限ることです。

AIエージェントへ「危険な操作をしないで」と指示するだけでは、被害範囲は閉じません。誤った推論、prompt injection(入力に紛れた命令による乗っ取り)、悪意のある入力が起きる前提で設計します。

次の4点を、技術的に狭めます。書ける場所、通信先、使える認証情報、承認なしに実行できる操作です。

サンドボックスの目的は、モデルを善良にすることとは異なります。失敗しても到達できる資源を限定し、外へ出る例外を記録できるようにすることです。

サンドボックスは、どんな手順で設計しますか?

4能力の既定を狭く決め、workspace、通信先、認証情報、監査ログの順に絞ります。

実行環境の境界で確認する対象と、拒否または次の工程へ渡す条件を示した設計例です。
TechWorker作成:本文の手順を図にした設計例です。製品の公式画面や導入効果の実測ではありません。画像を押すと拡大できます。

営業資料の下書きを作る設計例なら、読む資料と保存先を専用workspaceへ絞ります。必要な検索先だけを通信proxyへ登録し、顧客メールの送信は環境へ登録しません。認証情報と監査ログは、agentが書き換えられる場所の外へ置きます。

  1. 4能力の既定を決めます。ファイルへのアクセス、外部通信、認証情報、操作の承認について、初期状態で許す範囲を狭めます。例外は個別に記録します。OpenAIはCodexの安全な実行を説明しています[1]。sandboxとapprovalを組み合わせ、network accessを制限する構成です。通常操作は狭いsandbox内で自動化し、境界を越えるときだけ確認します。
  2. workspaceを専用にします。通常は専用workspaceだけをread/write可能にします。ホームディレクトリ、SSH key、cloud CLI設定、他project、秘密ファイルはmountしません。Anthropicはagent containmentで、複数の層を組み合わせる考え方を示しています[2]。層は、filesystem、VM、egress controlです。OWASPもcoding agentに、分離を推奨しています[3]。例は、devcontainer、restricted shell、VM、ephemeral workspaceです。
  3. egressを絞ります。egressは、環境から外へ出る通信です。許可domainでも、漏えい経路になる場合があります。upload endpoint、issue作成、webhook、server-side fetchがある場合です。policyにはhostに加え、次の項目を含めます。HTTP method、path、body size、content type、転送可能な識別子、taskとの関係です。可能ならagentは直接internetへ出ません。policy enforcement proxyを通し、許可理由とresponseを記録します。
  4. credentialをworkspaceへ置きません。固定API keyやSSH keyを環境変数やfileで渡すと、agentが読める時点で外部送信や誤利用が可能です。認証情報はhost側またはbroker側に置きます。task、resource、操作、期限を限定したtokenへ交換します。Anthropicは、credentialをhost keychain側へ置く構成を説明しています[2]。
  5. 監査ログを環境の外へ出します。agentが削除できるworkspace内だけにログを置かず、環境の外へ送ります。task ID、inputの分類、tool、target、承認、結果、token発行、egressを残します。prompt全文や秘密を無制限に記録しないよう、本文とmetadataを分けます。

低リスクのread-only検索まで、常に完全VMを必須にするのは過剰です。扱う資源と外部作用に応じて、process隔離、container、microVMを選びます。

サンドボックス設計がうまくいかない例には、どんなものがありますか?

承認に頼り切る、allowlistを安全と見なす、管理を外部へ任せきる、他の防御を省く、の4つです。

それでもsandboxが必要なのは、他の防御が一つ失敗したときの被害範囲を閉じるためです。

4能力は、既定と例外の与え方でどう違いますか?

既定は、専用workspace、denyか最小allowlist、常設なし、事前承認です。例外は明示して与えます。

能力既定例外の与え方
filesystem専用workspaceのみ書込み可task単位の明示path
networkdenyまたは最小allowlistmethod・host・path・用途を限定
credentialsagentへ常設しないproxy経由の短命token
approval破壊・対外作用前に要求対象と差分を表示

よくある質問

プロンプトで「危険な操作をしない」と指示するだけでは足りませんか?

足りません。誤った推論、prompt injection、悪意のある入力が起きても被害を閉じるには、技術的に狭める必要があります。対象は、書ける場所、通信先、使える認証情報、承認なしに実行できる操作です。指示はモデルの判断に依存するためです。

通信先のallowlistに、許可domainだけを載せれば安全ですか?

安全とは限りません。許可domainでも、漏えい経路になる場合があります。upload endpoint、issue作成、webhook、server-side fetchがある場合です。hostだけでなくHTTP method、path、body size、taskとの関係も含めます。可能ならpolicy proxyを通して記録します。

マネージドのランタイムを使えば、権限設計は不要になりますか?

不要にはなりません。session isolationのような機能は提供されても、利用者側の責任が残ります。対象は、agent code、IAM、入力検証、network設定です。Code Interpreterでもnetwork modeを用途で分けて選びます。

次の一歩は何から始めればよいですか?

いまのエージェントが書ける場所、通信先、持っている認証情報を、棚卸しすることから始めます。

  1. エージェントが書ける場所と、mountしているファイルを洗い出します。
  2. 通信先をdenyにし、必要な宛先だけをmethodとpathつきで許可します。
  3. 認証情報をworkspaceから外し、短命tokenとログの外部送信に切り替えます。

出典(一次情報と確認範囲)

確認日:2026年9月16日。製品仕様・制度は更新されるため、導入時はリンク先の最新版を再確認してください。本文は技術的な設計例です。国内法や契約上の義務は、導入先の条件に応じて確認してください。

  1. OpenAI:Running Codex Safely
  2. Anthropic:How We Contain Claude
  3. OWASP:Secure Coding with AI
  4. NIST SP 800-190:コンテナの安全性
  5. AWS:AgentCoreの実行環境の安全設計
  6. AWS:Code Interpreterの資源管理
古野光太朗
古野光太朗 / 株式会社TechWorker 代表取締役 CEO兼CTO

上場企業を含む37社・2,500名の生成AI導入・研修支援で得た実務知をもとに、導入・運用・顧客理解を扱っています。この実績はTechWorkerの生成AI支援実績であり、個別製品の導入実績を示すものではありません。

AIエージェントの被害半径を閉じる

workspace、network、credential、承認の境界を本番構成に落とします。

AIセキュリティを相談する →
← AIセキュリティ・ラボの記事一覧に戻る