「AIエージェントに社内システムの操作権限を渡したが、想定外の顧客リストが外部に送信された」「PDF要約エージェントが埋め込み指示に従い、機密ファイルの中身をSlackに投稿した」「MCPサーバー経由でIDE設定が改ざんされコード実行が発生した」——2025年以降、こうしたAIエージェント固有のインシデントが実在CVEとして登録され始めています。この記事ではAIエージェントの脆弱性を6分類で整理し、Guardrails AI・NeMo Guardrails・LLM Guard・Lakera・Galileo等の対策ツールをOSSと商用で切り分け、中小企業向けの監査ログ設計と顧客データ漏洩の発見装置まで徹底解説します。導入前に自社のエージェント権限マップを1枚の表で書き出してから以下の順で判断してください。
この記事の結論
- AIエージェントの脆弱性は①プロンプトインジェクション②過剰権限(Excessive Agency)③ツール乱用④データ流出⑤幻覚実行⑥監査困難の6分類。OWASP LLM Top 10(2025年版)と一対一で対応する。
- 対策ツールはOSSがGuardrails AI/NVIDIA NeMo Guardrails/LLM Guard/Vigil/Cerbos、商用がLakera Guard/Galileo/Robust Intelligence/CrowdStrike Falcon AIDRの二層構造。Rebuffは2025年5月にアーカイブされたため新規採用は避ける。
- 中小企業は「OSSで入出力スキャン+商用SaaSで監査可観測性」の組み合わせが実装コスト最小。専任セキュリティ担当がいない場合はGuardrails AI(無料)+Lakera Guard(従量課金)の2階建てが現実解。
- 最重要の設計原則は「エージェントに渡すツール権限を業務最小限に絞り、金銭・顧客データ・外部送信の3系統は必ず人間承認ゲートを挟む」。ここを守らないとインシデント検知まで数十秒しかない「短時間侵害」パターンに巻き込まれる。
- 監査ログは「対象・操作・時刻・入力ハッシュ・出力先・結果コード・呼び出し元エージェントID」の7項目を最低構成として、90日以上の保管と検索可能な形式(JSON Lines+SIEM連携)で残す。
AIエージェント脆弱性6分類(OWASP LLM Top 10対応)
| 分類 | OWASP対応 | 典型的な被害 | 基本対策 |
|---|---|---|---|
| 1. プロンプトインジェクション | LLM01:2025 | Webページ・PDF・メールに埋め込まれた指示で本来のタスクが乗っ取られる | 入力分離/外部コンテンツのtool_result隔離/専用検出モデル |
| 2. 過剰権限(Excessive Agency) | LLM06:2025 | エージェントに与えた広範な権限が悪用され意図外の操作が実行 | 最小権限の徹底/ツール単位のスコープ制御/JIT権限付与 |
| 3. ツール乱用(不正な外部呼び出し) | LLM05:2025 | API・データベース・ファイル操作ツールが想定外の目的で連鎖実行 | ツール呼び出し前の出力検証/レート制限/許可リスト方式 |
| 4. データ流出(機密・顧客情報漏洩) | LLM02:2025 | 顧客情報・システムプロンプト・APIキーが外部に送信 | PII検出・仮名化/DLPフィルタ/出力先ホワイトリスト |
| 5. 幻覚実行(誤情報での自律行動) | LLM09:2025 | 存在しないAPIエンドポイントを叩く・偽の顧客IDで更新 | 実行前の存在確認/構造化出力検証/人間承認ゲート |
| 6. 監査困難(可観測性欠落) | LLM10:2025関連 | インシデント発生時に「何が起きたか」の追跡が不可能 | 7項目監査ログ/SIEM連携/90日以上保管 |
2025年8月にはGitHub Copilotのリモートコード実行としてCVE-2025-53773、Cursor IDEのMCPサーバー経由の脆弱性としてCVE-2025-54135(CurXecute)・CVE-2025-54136(MCPoison)が公表されており、これらはすべて上記6分類のうち①プロンプトインジェクションと③ツール乱用が連鎖したケースです(NVDおよびGitHub Advisory Databaseで検索可能)。GoogleエコシステムでもGeminiJackと呼ばれる間接インジェクション実証攻撃が2025年に公表され、Docs経由でメール・カレンダーの情報が窃取される経路が確認されています。中小企業では専任のセキュリティ担当がいないケースが多いため、6分類のうちどれか1つが欠けても被害が連鎖しやすい構造にあります。担当者が確認するのは「エージェントに渡した権限一覧」「監査ログの7項目が揃っているか」の2点で、この棚卸しを月次で回す運用が定着の鍵です。
対策ツール・フレームワーク6社と料金(OSS/商用の切り分け)
| ツール | 提供形態 | 料金 | 主機能 | 中小企業での使いどころ |
|---|---|---|---|---|
| Guardrails AI | OSS(Apache 2.0)+Snowglobe(SaaS) | OSS無料/SaaSは要問い合わせ | 構造化出力の検証・ポリシー違反検出・幻覚検出 | 入出力バリデータの標準基盤 |
| NVIDIA NeMo Guardrails | OSS(Apache 2.0) | 無料 | Colang DSLで対話ポリシー定義/トピック逸脱ブロック | 会話系エージェントの範囲制御 |
| LLM Guard | OSS(MIT) | 無料 | PII・毒性・シークレット検出(20種以上のスキャナ、公式ドキュメントによると50ms前後のオーバーヘッド) | 入力側の一次フィルタ |
| Lakera Guard | 商用SaaS | 公式サイトで料金非公開(Get Started/Talk to Salesの2導線) | プロンプトインジェクション検出/PII保護/多言語対応 | 本番運用のランタイム防御 |
| Galileo | 商用SaaS | 公式サイトで料金非公開(Free tierとEnterpriseの2区分) | エージェント可観測性/マルチエージェント監査証跡/幻覚検出 | 可観測性・監査ログ集約 |
| Cerbos | OSS(Apache 2.0)+Cerbos Hub(SaaS) | OSS無料/Hubは要問い合わせ | 細粒度の認可(ツール呼び出し前のポリシー判定) | 過剰権限の遮断層 |
料金は変動するため契約前に必ず各社公式サイトで最新条件を確認してください。中小企業では既に社内でオープンソースを扱える情シス担当がいるならGuardrails AI+LLM Guard+Cerbosの3点セット(すべて無料)から始め、可観測性が足りなくなった段階でLakera GuardまたはGalileoを重ねる順序が実務的です。Rebuff(rebuff.ai)は自己強化型インジェクション防御として広く紹介されてきましたが、2025年5月にリポジトリがアーカイブされ更新停止しています。新規採用は避け、既存導入済み環境では2026年内にLLM GuardまたはLakera Guardへの置き換えを計画してください。同様にWhyLabs LangKitは事業終了に伴いOSSとしてGitHubで公開継続中ですが、商用サポートは終了しているため中小企業の本番運用には向きません。
AIエージェントのセキュリティ設計をご相談ください
「エージェントに渡すツール権限の切り分け」「監査ログ7項目の実装」「Guardrails AI+Lakera Guardの2階建て構成」「OWASP LLM Top 10準拠のチェックリスト」といったご相談も、業種・現状のエージェント構成・扱う顧客データをお聞かせいただければ具体的にご提案します。まずはお気軽にお問い合わせください。
無料で相談するAIと担当者の役割分担(検出SLA・エスカレーション・監査体制)
| 作業 | 誰が担当 | SLA・頻度 |
|---|---|---|
| 入力側のインジェクション検出・PII検出 | AI(Guardrails AI/LLM Guard) | リアルタイム(50〜200ms以内) |
| ツール呼び出し前の認可判定 | AI(Cerbos/Open Policy Agent) | リアルタイム |
| 金銭取引・顧客データ更新・外部送信の承認 | 担当者(人間承認ゲート) | 営業時間内15分以内 |
| アラート発生時の初動判断 | 担当者(情シス or 業務責任者) | 4時間以内 |
| 監査ログの月次レビュー | 担当者(情シス+業務責任者) | 月次 |
| 四半期に1回のレッドチーミング | 担当者+外部診断(Promptfoo/Garak) | 四半期 |
| 年1回のインシデント対応訓練 | 担当者(全社) | 年次 |
設計上の分岐点は「AIが自動で止めてよい範囲」と「必ず担当者エスカレーションが要る範囲」の線引きです。金銭取引・顧客個人データ更新・外部宛メール送信・APIキーを含むレスポンス生成の4系統は例外なく人間承認を挟む設計が実装ラインの目安になります。承認ゲートの具体的な実装パターンはAIワークフロー承認自動化ガイドを、エージェント本体の設計思想はAIエージェント×中小企業実装ガイドを参照してください。担当者が確認するのは「アラートの緊急度分類」「承認判断の記録」の2点で、判断根拠を1行でも監査ログに残す習慣が後工程の証跡になります。
中小企業向け監査ログ7項目と顧客データ漏洩の発見装置
中小企業のAIエージェント運用で最も欠落しがちなのが監査ログの設計です。他社記事は「監査ログを残しましょう」で終わりますが、専任セキュリティ担当がいない現場では「何を、どの形式で、どこに、何日保管するか」が具体化されないと運用が続きません。以下の7項目を最低構成として、JSON Lines形式でストレージに追記し、SIEMまたは既存のログ基盤(CloudWatch Logs/Google Cloud Logging/Datadog/自前のPostgreSQL)に転送する構成が現実的です。
| 項目 | 記録内容 | 用途 |
|---|---|---|
| 1. 対象(target) | 操作対象のリソース識別子(例:customer_id、file_path、API endpoint) | 被害範囲の特定 |
| 2. 操作(action) | read/write/delete/send/execute | 影響度の判定 |
| 3. 時刻(timestamp) | ISO 8601形式(UTC) | 時系列追跡 |
| 4. 入力ハッシュ(input_hash) | プロンプト全文のSHA-256(本文は保管しない) | 再現性確保とプライバシー両立 |
| 5. 出力先(destination) | 結果の送信先(内部DB/外部API/メール宛先ドメイン) | データ流出の検知 |
| 6. 結果コード(result_code) | success/blocked_by_guardrail/human_approval_required/error | 統計と異常検知 |
| 7. エージェントID(agent_id) | 呼び出し元エージェントの識別子とバージョン | 影響エージェントの絞り込み |
顧客データが漏洩したときに「気づけるか」の発見装置として、監査ログの上に3つの検知トリガーを重ねます。第1にカナリアトークン——実在しないダミー顧客レコード(例:customer_id=CANARY-001、メールアドレスはドメインを自社管理下に置く)を本番データに紛れさせ、そのIDがログの出力先や外部送信メールに登場した瞬間にSlackへ即時アラートを飛ばします。第2にDLP系の出力フィルタ——メールアドレス・電話番号・マイナンバー形式の文字列が想定外の出力先(社外ドメイン・不明API)へ流れたら送信をブロックし監査ログに記録します。第3に月次の棚卸し——エージェントが持つツール権限一覧と実際の呼び出しログを突き合わせ、90日間一度も使われていない権限を剥奪します。この3層を組めば、専任セキュリティ担当がいなくても「漏れたことに気づかない期間」を大幅に短縮できます。社内RAGの権限設計は社内マニュアルAI検索の実装ガイド、ChatGPT API利用時の管理はChatGPT API業務実装ガイドを併読してください。
導入手順の4ステップ
ステップ1:脅威モデリング(1〜2週間)——現行のAIエージェントが持つツール権限を1枚の表で棚卸しし、6分類のうちどの脆弱性が該当するかを整理します。OWASP LLM Top 10(2025年版)のPDFを参照し、LLM01〜LLM10のうち自社に該当する項目に優先度を付けます。金銭・顧客データ・外部送信の3系統に触れているエージェントは無条件で優先度Aとして扱い、対策設計を先行させます。
ステップ2:対策実装(2〜4週間)——OSSの3点セット(Guardrails AI+LLM Guard+Cerbos)をエージェントの入出力とツール呼び出し境界に組み込みます。並行して監査ログ7項目のスキーマを確定し、JSON LinesでCloudWatch LogsまたはGoogle Cloud Loggingへ出力する経路を構築します。人間承認ゲートはSlack承認ボットまたは既存の稟議システムに接続し、承認履歴も監査ログの一部として保存します。
ステップ3:レッドチーミング(1〜2週間)——PromptfooでYAML定義した攻撃シナリオ(既知の間接インジェクション・多言語難読化・PDF埋め込み指示など)をCI/CDに組み込みます。Garakで既知攻撃パターンの網羅スキャンを実行し、Guardrailsが検出できなかったパターンを追加ルール化します。カナリアトークンを本番相当のステージング環境に投入し、アラートが実際に飛ぶことを確認します。
ステップ4:運用と月次レビュー(継続)——監査ログの月次レビューでは「blocked_by_guardrail」の件数推移、「human_approval_required」の承認待ち時間、90日未使用の権限リストの3点をダッシュボード化します。四半期ごとにレッドチーミングを再実行し、年1回のインシデント対応訓練で全社の初動を確認します。運用担当は情シス1名+業務責任者1名の2名体制が下限です。
失敗パターン3つと回避策
失敗1:検出後の対応手順が未定義——ガードレールがアラートを飛ばしても「誰が」「何分以内に」「どう対処するか」が決まっておらず、Slackチャンネルに通知が溜まるだけで実質無視されるケース。回避策は初動フロー(一次受け→切り分け→対応→事後報告)を1枚のフローチャートに落とし、当番制で回すこと。エスカレーション先の連絡手段を電話まで含めて明記し、営業時間外の対応可否も先に決めておきます。
失敗2:監査ログの欠落・非検索性——ログは出力しているがファイル分割ルールが曖昧で、いざインシデント発生時に該当時刻のログが見つからないケース。回避策は日次ローテーション+90日以上の保管+SIEMまたはBigQuery/Athena等での検索可能化。上記の7項目スキーマを守れば、たとえば「customer_id=X の read が発生した全エージェント」を数秒で抽出できます。ログ本文の暗号化と保管期間ポリシーの明文化もセットで行います。
失敗3:PoC止まりで本番展開に至らない——ガードレール・監査ログを開発環境では組んだが、本番エージェントに適用しないまま数か月経過するケース。回避策は「本番リリース時のチェックリスト」にセキュリティ7項目(ツール権限最小化/入力スキャン/出力スキャン/人間承認ゲート/監査ログ/カナリアトークン/レッドチーミング済み)を組み込み、未達項目があると本番デプロイをブロックする仕組みを開発フローに組み込むこと。CIパイプラインでの静的チェック化まで踏み込むと定着します。
よくある質問
Q1. AIエージェントのセキュリティ対策は、まずどこから着手すればよいですか。
A. 現行エージェントのツール権限棚卸しから始めてください。金銭取引・顧客個人データ更新・外部宛メール送信・APIキーを含む出力の4系統に触れているエージェントを特定し、それらに人間承認ゲートを追加するのが最短の被害上限設定です。次にOSSのGuardrails AIまたはLLM Guardを入力側に挟み、監査ログ7項目を実装する順序が実装コスト最小です。専任セキュリティ担当がいない場合でも、この初動だけで大部分の重大インシデントは回避できます。
Q2. Rebuffは今も使えますか。過去の記事で紹介されていました。
A. 新規採用は避けてください。Rebuff(rebuff.ai)のGitHubリポジトリは2025年5月にアーカイブされ、以降のメンテナンス・脆弱性修正・依存ライブラリ更新が停止しています。既に導入している環境は2026年内にLLM Guard(MITライセンス、OSS)またはLakera Guard(商用SaaS)への置き換えを計画してください。同様にWhyLabs LangKitも事業終了に伴い商用サポートが終了しており、本番運用での採用は推奨されません。ツール選定時は必ずGitHubリポジトリの最終コミット日時と公式サイトの営業状態を確認する運用を組み込んでください。
Q3. 中小企業でOWASP LLM Top 10全項目に対応するのは現実的ですか。
A. 全項目を同時に完遂する必要はありません。OWASPの2025年版でも実務上の優先度は明示されており、LLM01(プロンプトインジェクション)とLLM02(機密情報漏洩)は業種・規模を問わず最優先、次いでLLM06(過剰権限)とLLM05(不適切な出力処理)が続きます。中小企業ではまずこの4項目に絞り、Guardrails AI+LLM Guard+Cerbos+監査ログ7項目の4点で対応するだけで、被害の大部分を防げます。残るLLM03(サプライチェーン)以降は、外部モデル・ライブラリを追加するタイミングで個別に評価する段階的アプローチで問題ありません。
Q4. 顧客データが漏洩したかどうか、どうやって発見できますか。
A. 3つの発見装置を重ねます。第1にカナリアトークン——実在しないダミー顧客レコード(customer_id=CANARY-001、自社ドメイン管理下のメールアドレス)を本番データに紛れさせ、そのIDがログの出力先や外部送信メールに登場した瞬間にSlackへ即時アラートを飛ばします。第2にDLP系の出力フィルタで、メールアドレス・電話番号・マイナンバー形式の文字列が想定外の出力先へ流れたら送信をブロックします。第3に月次の権限棚卸しで、90日間一度も使われていない権限を剥奪します。この3層があれば、専任セキュリティ担当がいなくても漏れたことに気づかない期間を短縮できます。
Q5. AIエージェントに関連する実在の脆弱性・CVE番号を教えてください。
A. 2025年8月に公表された代表例として、GitHub Copilotのリモートコード実行がCVE-2025-53773、Cursor IDEのMCPサーバー経由の脆弱性がCVE-2025-54135(CurXecute)とCVE-2025-54136(MCPoison)として登録されています。いずれもプロンプトインジェクションとツール乱用(外部呼び出しの誤動作)が連鎖したケースで、NVD(National Vulnerability Database)とGitHub Advisory Databaseで詳細検索が可能です。Googleエコシステム上ではGeminiJackと呼ばれる間接インジェクション実証攻撃も2025年に公表されました。中小企業でもMCPサーバーやIDE統合エージェントを使う場合、依存製品のCVEを定期的に監視する運用を組み込んでください。