概要
AIエージェントのセキュリティ議論は、しばしば「Web検索を許すか」「MCPを入れるか」というツール単位で行われます。しかし、ツール単位の禁止は、リスクの種類を取り違えやすい。
リスクは、少なくとも次の4層に分けて考えると整理しやすい。
- データ送信(Egress): プロンプト、ファイル、埋め込みがどこへ出るか
- 外部入力(Input): Web、メール、PDF、Issue、MCPの返り値など、何が文脈に入るか
- 実行権限(Action): シェル、ファイル書込み、外部送信、クラウド操作をどこまで許すか
- 供給網(Supply Chain): モデル、パッケージ、スキル、MCPサーバーを誰が検査するか
この4層は、それぞれ効く対策が違う。ひとつの禁止で全部を守ろうとすると、必ず穴が残る。
層ごとの整理
| 層 | 主なリスク | 例 | 効く対策 |
|---|---|---|---|
| データ送信 | 機密の外部送信、法域リスク | プロンプト、添付ファイル、埋め込み | ローカル実行、ZDR、BYOK、データレジデンシー |
| 外部入力 | 間接プロンプトインジェクション、偽情報 | Webページ、メール、PDF、MCPの返り値 | サニタイズ、許可ドメイン、プロベナンス、データとして扱う |
| 実行権限 | 持ち出し、破壊、権限昇格 | bash、write、外部API、クラウド操作 | 最小権限、承認ゲート、サンドボックス、egress制御 |
| 供給網 | 悪性パッケージ、乗っ取り、rug pull | npm/PyPI、モデル重み、スキル、MCPサーバー | ミラー、固定、署名、レビュー、SBOM |
よくある取り違え
「Web検索を禁止すれば漏洩しない」
Web検索の禁止が効くのは、主に2層目(外部入力)だ。検索結果を読ませなければ、隠し命令の注入は減る。しかし、1層目(モデル提供者への送信)や3層目(curl による持ち出し)や4層目(悪性パッケージ)は残る。検索を禁止しても、エージェントが curl を使えれば外に出せる。
「ZDR契約があるから安全」
ZDRは1層目(保持)に効く。2層目のプロンプトインジェクションや3層目の実行権限、4層目の供給網には効かない。ZDRは「送らない」でもない(ZDRは「データを送らない」ではない)。
「社内ミラーを入れれば安全」
ミラーは4層目(供給網)に効く。だが、ミラーが上流を自動プロキシするだけなら、悪性パッケージはそのまま入る。2層目のREADME経由の注入や、3層目の実行権限も残る(社内ミラーは「便利」より先に「供給網の境界」として設計する)。
「承認ゲートを入れれば安全」
承認ゲートは3層目(実行権限)に効く。だが、人間が内容を理解できないまま承認するなら、形だけになる。1層目、2層目、4層目は別に設計が必要だ。
層をまたぐ攻撃
実際の攻撃は、層をまたぐ。
- 外部入力(2層目)に隠した命令で、エージェントに機密を読ませ(3層目)、検索クエリやURLに埋め込んで外へ出す(1層目)
- 悪性パッケージ(4層目)を入れ、インストール時のスクリプトで認証情報を抜き、外部へ送る(1層目・3層目)
- 乗っ取られたMCPサーバー(4層目)が、返り値に命令を埋め込み(2層目)、別のツールで外部送信させる(3層目)
だから、層ごとの対策を 重ねる 必要がある。どれかひとつが完璧でも、他が開いていれば意味がない。
設計への落とし込み
4層を分けたら、次は「どのデータに、どの操作を、どこまで許すか」を決める。これは データ分類×操作リスクのマトリクス で扱う。
ハーネスは、3層目(実行権限)と一部の1層目(egress)を強制するのに向いている。だが、2層目の内容の安全性や、4層目の供給網の信頼性は、ハーネスの外側で作る必要がある(ハーネスで強制できる統制と、できない統制)。
まとめ
「どのツールを禁止するか」ではなく、「どの層の、どのリスクを、何で下げるか」 で考える。Web検索、ZDR、ミラー、承認ゲートは、それぞれ別の層に効く道具である。ひとつの道具に全部を背負わせないことが、過剰禁止と過小防御の両方を避ける第一歩になる。
関連ノート
- 「全部禁止」は安全ではない
- ZDRは「データを送らない」ではない
- ハーネスで強制できる統制と、できない統制
- データ分類×操作リスクで「禁止」を「段階的許可」に分解する
- Web検索・Web取得を介したプロンプトインジェクションと情報漏洩
- OSSエージェントハーネスのセキュリティ
参考資料
- OWASP: AI Agent Security Cheat Sheet(確認日: 2026-11-02)
- OWASP: MCP Security Cheat Sheet(確認日: 2026-11-02)
- Model Context Protocol: Security Best Practices(確認日: 2026-11-02)