AI Security Lab

OWASP LLM Top 10 LLM アプリの十大セキュリティリスク · 2026 版

十のリスクを一つずつ。定義、実際の攻撃面、そして防ぎ方。企業が AI のリスク棚卸しをするときの最初の対照表です。

00

2025 → 2026 で変わったこと

このページの十条は2026 版にもとづきます。順位の動きが例年より大きいので、旧版で棚卸しした一覧は見直す値打ちがあります。

2025 2026 リスク
0101プロンプトインジェクション— 変わらず
0202機微情報の漏えい— 変わらず
0603過剰な権限— 三つ上昇。今回いちばん重い動き
0304サプライチェーン— 一つ下降
0405データとモデルの汚染— 一つ下降
1006際限のない消費— 四つ上昇
0907誤情報— 二つ上昇
0708隠し文脈の露出— 改称し、範囲を広げた(旧「システムプロンプトの漏えい」)
0809ベクトルと埋め込みの弱点— 一つ下降
0510出力処理の不備— 五つ下降。今回いちばん大きな下げ

四条は範囲が広がったのであって、項目が増えたのではありません。OWASP のやり方は、新しく現れたリスクをすでにそれを含む条へ折り込むことです。一覧を細切れにしないためです。プロンプトインジェクションにはモダリティをまたぐ攻撃(画像や音声に指示を潜ませる)。サプライチェーンにはモデル成果物の名実不一致。データとモデルの汚染にはファインチューニング段階での乗っ取り。出力処理の不備にはアシスタントが大量に生む安全でないコード

順位の決め方が変わりました。2026 版でいちばん知る値打ちがあるのはここです。これまで順位は完全にコミュニティ投票でした。2026 版で初めて事故データが入ります。公開脆弱性データベースと AI 危害データベースから集めた実際の事故 7,714 件、うち 6,639 件が分類できるだけの詳細を備えていました。最終的な重みは投票が四分の三、データが四分の一——意図して投票を主にしています。一年分のデータでは実務者の判断を覆すには足りない、という理由です。

二つが食い違うところは、一致するところより情報があります。いちばんはっきりしているのがプロンプトインジェクションです。事故データだけを見ると十位から落ちます——しかし OWASP はそれを防いだ結果であってリスクの低下ではないと判断しました。この条にはチームが最も投資しており、きれいに防げた事例は公開データベースに入りにくいからです。一位のままです。誤情報は逆で、投票では低く事故データでは高い。食い違いが最も大きく、しかも痛いほうへずれている条です。

もう一つ、覚えておく境界があります。この一覧が扱うのは「アプリの部品としてのモデル」です。モデルがツールを呼び、作業をまたいで記憶を持ち、下流に結果を及ぼす行為者になった時点で、リスクは OWASP の Agentic Top 10 へ移ります。二つの一覧は合わせて読む必要があります。

01

十条をひと目で

# リスク
LLM01 プロンプトインジェクション
LLM02 機微情報の漏えい
LLM03 過剰な権限
LLM04 サプライチェーン
LLM05 データとモデルの汚染
LLM06 際限のない消費
LLM07 誤情報
LLM08 隠し文脈の露出
LLM09 ベクトルと埋め込みの弱点
LLM10 出力処理の不備

LLM01

プロンプトインジェクションPrompt Injection

定義

モデルの文脈に入ったあらゆる入力がふるまいを変え、開発者の意図から外れさせます。モデルは構造上「指示」と「データ」を区別できません。どちらも同じトークン列の上のトークンであり、パラメータ化クエリに相当するきれいな解法はありません。

場面

直接の注入は入力欄に「これまでの指示を無視して」と書くこと。間接の注入は、モデルが読みにいくウェブページ、メール、文書の中に指示を潜ませることです。2026 版はモダリティをまたぐ攻撃をこの条に入れました——画像や音声に指示を潜ませます。人の目には見えず、モデルには読めます。

防ぎ方

単独の解法はありません。原則は、外部から来た内容をすべて信用できないデータとして扱い、権限をモデルの外で強制することです。モデルが説得されても、権限まで緩んではいけません。

なぜまだ一位なのか事故データだけを見れば十位から落ちますが、OWASP はそれを防いだ結果と判断しました。この条にチームが最も投資しており、きれいに防げた事例は公開データベースに入りにくい。攻撃面そのものは縮んでいません。

詳しく 仕組み、ジェイルブレイクとの違い、多層の防ぎ方

関連 LLM03 過剰な権限 / LLM10 出力処理の不備

LLM02

機微情報の漏えいSensitive Information Disclosure

定義

モデルの出力が、その利用者に渡してはいけない情報を漏らします。個人情報、認証情報、営業秘密、あるいは他の利用者のデータ。

場面

RAG が知識ベース全体の権限を一律に扱っていて、営業部門の人が法務しか見てはいけない契約条項を引き出せてしまう。モデルは間違っていません。検索の層に最初から境界がなかったのです。

防ぎ方

  1. 01検索の前に利用者の権限を適用します。プロンプトで「言わないで」と頼むのは制御ではなくお願いです。
  2. 02入力と出力の両端で機微データの検出と伏せ字化を行います。
  3. 03学習やファインチューニングに使うデータは先に匿名化します。モデルが覚えたものは、あとから取り消せません。

関連 LLM08 隠し文脈の露出 / LLM09 ベクトルと埋め込みの弱点

LLM03

過剰な権限Excessive Agency

定義

システムがモデルに機能・権限・自律性を与えすぎていて、一度の判断ミスが現実の損害になります。

場面

メールを整理する agent に、送信と削除の権限までついでに渡してしまう。同じ認証情報を使っていて、分けるのが面倒だったからです。すると指示を仕込んだメール一通で、外へメールを送らせることができます。権限は便利のために渡され、対価は攻撃面です。

防ぎ方

  1. 01ツールの権限は最小の集合に。「万一使うかもしれない」機能は渡しません。
  2. 02リスクの高い操作や取り消せない操作は人の確認を挟み、その画面で何が起きるのかをはっきり示します。
  3. 03権限はツールの層で強制し、プロンプトの約束に頼らないこと。プロンプトは説得できますが、権限の仕組みは説得できません。

2026 の変動 六位から三位へ。今回いちばん重い動きです。投票と事故データがこの条では珍しく一致しました。損害は agent 化した運用のなかで実際に起きています。

関連 LLM01 プロンプトインジェクション / LLM10 出力処理の不備

LLM04

サプライチェーンSupply Chain

定義

モデルの重み、データセット、パッケージ、拡張の出どころ自体が信用できない、あるいは汚染されています。従来のソフトウェアサプライチェーンの問題に、ソースを読んで監査できないという種類の資産が加わります。2026 版は「モデル成果物の名実不一致」をこの条に入れました——配られているその重みが、名乗っているものではない。

場面

公開のモデルリポジトリから引いたファインチューニング済みの重み、出どころのわからない LoRA アダプタ、agent のツールチェーンにある第三者パッケージ。フロントエンドのコードは一行ずつ読めても、その重みファイルの中身は読めません。

防ぎ方

  1. 01モデルとデータセットはソフトウェアの依存物と同じに扱います。出どころの確認、バージョンの固定、ハッシュの照合。
  2. 02AI の部品表をつくって保ちます。「結局うちは何を入れているのか」を、調べれば答えの出る問いにするためです。
  3. 03第三者のモデルは隔離した環境でふるまいを評価してから載せます。権限のあるシステムに直接つながないこと。

関連 LLM05 データとモデルの汚染

LLM05

データとモデルの汚染Data and Model Poisoning

定義

誰かが事前学習、ファインチューニング、埋め込みのデータに内容を仕込み、モデルのふるまいを変えたり、特定の合図が出たときだけ動く裏口を埋めたりします。2026 版はファインチューニング段階での乗っ取りをはっきり含めました

場面

学習データに取り込まれる公開ページに、特定の合図とそれに対応する誤った答えが意図的に書き込まれる。モデルは通常の試験ではすべて正常で、その語に出会ったときだけ向きを変えます——防ぎにくいのはここです。異常は、あなたが試すところには出てきません。

防ぎ方

  1. 01学習とファインチューニングのデータは出どころをたどれるように。どの一括分を誰が入れたのかがわかること。
  2. 02固定した基準集と突き合わせてふるまいのずれを見ます。全体の指標が悪化したかどうかだけを見ないこと。
  3. 03ファインチューニングのあとにレッドチームを。とくに合図のような、狭い条件でしか現れないふるまいを狙って。

関連 LLM04 サプライチェーン / LLM07 誤情報

LLM06

際限のない消費Unbounded Consumption

定義

推論の使用量に境界がなく、費用が制御を離れ、サービスが劣化し、あるいはモデルのふるまいが大量の問い合わせで写し取られます。

場面

公開の対話エンドポイントに速度制限がなく、入力と出力の組を集めてふるまいを写すために呼ばれ続ける。請求と遅延が同時に悪化しますが、監視の上では「利用の伸び」にしか見えません。

防ぎ方

  1. 01利用者と API キーごとに速度と割当の上限を。全体に一つの総量を置くだけにしないこと。
  2. 02入力の長さと出力のトークン数、両端を制限します。
  3. 03利用者ごとの費用を監視して異常を知らせます。請求書で気づくときは、たいてい一か月後です。

2026 の変動 十位から六位へ、四つ上昇。実務者は、資源と費用の枯渇を旧来の順位よりずっと重く見ています。

関連 LLM03 過剰な権限

LLM07

誤情報Misinformation

定義

モデルが、もっともらしいが実際には誤った内容を出し、下流がそれを事実として使います。害の大きさは、誰が受け取るか、確かめる人がいるかで決まります。

場面

モデルが存在しないパッケージ名をでっち上げ、開発者がそのまま入れてしまう——攻撃者はすでにその名前をパッケージ登録所で押さえています。ここでのモデルの誤りは、ただの誤りではありません。予測でき、したがって待ち伏せできる経路になります。

防ぎ方

  1. 01出典が要る場面では必ず検索を経由し、引用を添えます。答えから元をたどれるように。
  2. 02重要な判断には人の確認を残し、確認する人がモデルの根拠を見られるようにします。
  3. 03不確かさを利用者に示します。推測を断定の語調で包まないこと。

2026 の変動二つ上昇。そして投票と事故データの食い違いが最も大きい条です——実務者は低く、実際の事故は高い。流暢で自信のある出力が一つの判断や一回のツール呼び出しを動かした瞬間、誤った答えは誤った行動になります。

関連 LLM05 データとモデルの汚染

LLM08

隠し文脈の露出Hidden Context Exposure

定義

モデルの文脈に入れるが利用者には見せないつもりの指示や運用情報が、抜き出され、推測され、復元されます。範囲はシステムプロンプトだけではありません。開発者の指示、知識ベースや設定から取ったポリシーの文言、ツールや関数のスキーマ、そしてアプリが文脈に組み入れるその他の規則や素材も含みます。共通点は——利用者に見せるつもりはないが、モデルには読める、ということです。

場面

利用者が言い換え、翻訳、役割演技でモデルに自分の指示を復唱させ、そこに書かれた API キー、社内の割引規則、ツールの権限がまとめて流れ出す。もっと見えにくいのは拒否の規則が復元される場合です。利用者はもともと「申し訳ありませんが、それはできません」しか見ていなかったのに、漏れたあとはその一文が出る条件と例外が見え、回り道がわかってしまいます。

防ぎ方

  1. 01隠し文脈はいずれ見られるものとして設計すること。文脈に置いた内容はどれも秘密ではないと考えます。これが根本の解で、ほかはすべて継ぎ当てです。
  2. 02認証情報、接続文字列、トークンは文脈に置かないこと。ほんとうの危険は見られることではなく、そこに置いたこと自体です。
  3. 03隠し文脈を、認可、権限の分離、ポリシーの執行、内容のふるいの唯一の境界にしないこと。それらはモデルの外で成り立たせます。

2026 の変動 2025 版の「システムプロンプトの漏えい」を置き換え、範囲を広げました。改称が映しているのは一つの判断です。問題はあのプロンプトそのものではなく、「利用者の手が届かないところに置いておくべき情報」という一つの類全体だ、ということ。

関連 LLM02 機微情報の漏えい / LLM03 過剰な権限

LLM09

ベクトルと埋め込みの弱点Vector and Embedding Weaknesses

定義

RAG に使うベクトルデータベースと埋め込み自体が攻撃面になります。汚染、テナントをまたぐ漏えい、あるいは埋め込みベクトルから元の文への復元。

場面

マルチテナントのベクトル庫がテナントごとの固い分離を持たず、検索時に添える絞り込み条件だけに頼っている。一度の類似度検索で顧客の境界を越えてしまい、しかもそれを告げるエラーは一つも出ません。

防ぎ方

  1. 01ベクトル庫はテナントと権限で固く分離します。分離を、検索条件が正しく書かれていることに預けないこと。
  2. 02取り込む文書には出どころの検証と監査の跡を。どの一節がどう入ったのかがわかること。
  3. 03埋め込み自体を機微データとして守ります。部分的に復元でき、不可逆なハッシュではありません。

関連 LLM02 機微情報の漏えい / LLM05 データとモデルの汚染

LLM10

出力処理の不備Improper Output Handling

定義

モデルの出力が検証されないまま下流の部品に渡されて実行され、あるいは表示されます。これはモデルの問題ではなく、モデルを受け取る側のコードの問題です。2026 版はアシスタントが大量に生む安全でないコードをこの条に入れました

場面

モデルが返した文字列がそのままinnerHTMLに入る、そのまま SQL に連結される、そのまま shell に渡される。一度の注入が「モデルが変なことを言った」から「攻撃者があなたのサーバでコマンドを実行した」に格上げされます。

防ぎ方

  1. 01モデルを信用できない出どころとみなし、出力を利用者入力と同じに扱います。もともと利用者入力が形を変えたものである可能性があります。
  2. 02下流の文脈に応じて出力をエスケープします。HTML、SQL、shell それぞれに規則があり、共通のものはありません。
  3. 03パラメータ化クエリを使い、文字列連結をしないこと。

2026 の変動 五位から十位へ、今回いちばん大きな下げです。順位が下がったことは害が減ったことを意味しません。他の条が上がったから相対的に下がったのであり、この条の範囲はむしろ広がっています。

関連 LLM01 プロンプトインジェクション / LLM03 過剰な権限

出典

十条の名称、順序、範囲は OWASP GenAI Security Project が公表したTop 10 for LLM Applications2026 版の文書(ライセンス CC BY-SA 4.0)から。順位の決め方と事故データの数字も同じ文書によります。このページの整理、訳語、防ぎ方は TauX が書いたもので、OWASP の立場を示すものではありません。

自社の LLM アプリが心配な方へ

TauX Security Lab では LLM のセキュリティ検査とレッドチーム演習を行い、この十条に沿って一つずつ棚卸しします。