TIP
← 記事

セキュリティ

OWASP Top 10 for LLM Applications徹底解説 — 名前は有名、中身を知らないセキュリティ担当者のために

2026/02/02

1. 「知っている」と「説明できる」の間にあるギャップ

「OWASP Top 10」という名前は、Webアプリケーションセキュリティに関わる人なら誰でも聞いたことがあるはずだ。SQLインジェクションやクロスサイトスクリプティングを含む、あの伝統的なTop 10である。

その姉妹版として、生成AI・LLMを組み込んだアプリケーション向けに作られたのが「OWASP Top 10 for LLM Applications」だ。OWASP傘下の「GenAI Security Project」が策定し、現行版(2025年版)は2024年11月17日に公開されている。「プロンプトインジェクションが1位」というところまでは知られているが、残り9項目を順番に説明できる人、あるいは「なぜこのリストだけでは不十分なのか」まで踏み込んで理解している人は、セキュリティ担当者の中でも意外と多くない。本稿では、全10項目を整理した上で、その限界と、実務担当者が次に見るべきものまでを扱う。

2. LLM01〜LLM10:全項目

LLM01: Prompt Injection(プロンプトインジェクション)

ユーザー入力や外部データの中に紛れ込んだ指示が、開発者の意図した動作を書き換えてしまうリスク。2年連続で1位。本誌の別記事「プロンプトインジェクション攻撃の実態」で、実際の被害事例と防御策の実効性を検証している。

LLM02: Sensitive Information Disclosure(機密情報の開示)

モデルが学習データや会話履歴に含まれる認証情報・個人情報・専有情報を、出力を通じて意図せず漏らしてしまうリスク。

LLM03: Supply Chain(サプライチェーン)

モデル本体、学習データセット、ライブラリ、プラグインといったサードパーティ構成要素の脆弱性が、アプリケーション全体を侵害するリスク。Hugging Face等で配布されるモデルファイルの安全性検証が不十分なまま使われるケースなどが該当する。

LLM04: Data and Model Poisoning(データ・モデルのポイズニング)

学習データや検索拡張生成(RAG)が参照するデータを攻撃者が操作し、モデルの挙動を悪意ある方向に誘導するリスク。

LLM05: Improper Output Handling(不適切な出力処理)

LLMが生成した内容を「信頼できるもの」として無検証のまま後続システムに渡してしまうリスク。出力をそのままSQLクエリやシェルコマンドに埋め込むような実装が典型例。

LLM06: Excessive Agency(過剰な自律性)

LLMアプリケーションに、必要以上の機能・権限・自律性を与えてしまうリスク。「過剰な機能」「過剰な権限」「過剰な自律性」の3つが根本原因として整理されている。人間の確認を介さずに高リスクな操作(送金、削除、外部送信など)を実行できる設計が該当する。

LLM07: System Prompt Leakage(システムプロンプトの漏洩)

モデルへの内部指示(システムプロンプト)そのものが、ユーザーや攻撃者に抽出されてしまうリスク。漏洩したシステムプロンプトは、それ自体が次の攻撃(防御を回避する「万能」ジェイルブレイクの設計図)に悪用されうる。

LLM08: Vector and Embedding Weaknesses(ベクトル・埋め込みの脆弱性)

RAGシステムが参照するベクトルデータベースに、悪意あるコンテンツや無許可のコンテンツが混入し、検索結果を汚染するリスク。

LLM09: Misinformation(誤情報)

LLMが誤った情報を、あたかも確信を持っているかのように生成・拡散してしまうリスク。2025年版で、旧来の「過信(Overreliance)」からこの名称に変更され、モデル自身が誤情報を生成する問題により焦点を当てる形になった。

LLM10: Unbounded Consumption(無制限な消費)

リクエスト数やトークン消費量に制限がなく、サービス拒否(DoS)や、意図しない高額請求、モデルの無断複製につながるリスク。

3. なぜ「Top10対策だけ」では不十分なのか

ここまでの10項目は、あくまで「LLMを組み込んだアプリケーション」全般に対する、優先順位づけのためのリストだ。OWASP自身、このリストを網羅的な脅威モデルや、コンプライアンスのチェックリストとして設計してはいない。

その証拠に、OWASPのGenAI Security Projectは2025年12月9日、別のフレームワーク「OWASP Top 10 for Agentic Applications」を、100名以上の業界専門家・研究者との協業で新たに公開している。つまりOWASP自身が、「LLMアプリ向けTop10だけでは、自律的に計画・実行・判断するAIエージェント特有のリスクをカバーしきれない」と判断したということだ。

このAgentic Applications版が挙げる10項目(ASI01〜ASI10)は、LLM Top10とはほぼ重ならない、エージェント固有の切り口になっている。

  • ASI01: Agent Goal Hijack — 悪意あるコンテンツによって、エージェントの目的そのものが書き換えられる
  • ASI02: Tool Misuse and Exploitation — 正規のツールが、パラメータ改ざんや複数ツールの連鎖悪用によって武器化される
  • ASI03: Identity and Privilege Abuse — エージェントが高権限の認証情報を継承・昇格させてしまう
  • ASI04: Agentic Supply Chain Vulnerabilities — 侵害されたツール・プラグイン・外部コンポーネントが隠れたリスクを持ち込む
  • ASI05: Unexpected Code Execution — エージェントが安全でないコード・コマンドを生成・実行してしまう
  • ASI06: Memory and Context Poisoning — エージェントのメモリやRAGデータベースが汚染される
  • ASI07: Insecure Inter-Agent Communication — マルチエージェント構成で、エージェント間のメッセージがなりすまし・改ざんされる
  • ASI08: Cascading Failures — 小さなエラーが、計画・実行の連鎖の中で増幅していく
  • ASI09: Human Agent Trust Exploitation — 人間がエージェントの提案・説明を過信してしまう
  • ASI10: Rogue Agents — 侵害されたエージェントが、正規の挙動を装いながら有害な行動を取る

社内でAIエージェント(MCPツールを呼び出すコーディングエージェント、業務自動化エージェントなど)を運用しているなら、LLM Top10だけを見て「対策済み」と判断するのは危険だ。少なくともこのASIリストに目を通し、自組織のエージェント構成にどの項目が当てはまるかを個別に検討する必要がある。

4. セキュリティ担当者が実務で押さえるべきこと

まとめると、OWASPのLLM Top10・Agentic Top10は、どちらも「一般的な優先順位づけのための共通言語」であって、自組織の脅威モデルそのものではない。実務上は次のような姿勢が現実的だ。

  • 10項目を暗記するのではなく、自社のシステム構成に当てはめて考える。 RAGを使っていなければLLM08の優先度は下がるし、外部ツールを呼び出すエージェントを運用しているならASI02・ASI06は無視できない
  • Top10は「入口」であって「到達点」ではない。 OWASPが1年強でAgentic版を別途公開したこと自体が、この領域の変化速度の速さを示している。半年前の対策一覧が、今も十分だとは限らない
  • リストの順位を過信しない。 1位のプロンプトインジェクションが最重要に見えるが、自組織にとってはLLM06(過剰な自律性)やASI03(権限の乗っ取り)の方が実害が大きい場合もある。順位は「一般的な傾向」であって「自社の優先度」ではない

「有名だが中身を知らない」状態から一歩進み、「知っているが自社に当てはめて考えていない」状態からも抜け出すこと。それが、このリストを実務で活かすための最低条件だと言えそうだ。