プロンプトインジェクションベンチマークとは、LLMのプロンプトインジェクション攻撃に対する脆弱性および防御手法の有効性を定量的に評価するためのデータセット・評価フレームワーク・テストプラットフォームの総称である。BIPIA、TensorTrust、HackAPrompt、Gandalf(Lakera)、Purple Llama CyberSecEvalなどが代表的であり、攻撃成功率(ASR)、検出率、F1スコアなどの標準指標でモデルや防御システムの性能を比較する。
プロンプトインジェクションベンチマークは、LLMアプリケーションのセキュリティを定量的に評価するための重要なインフラである。新しいLLMモデルのリリース時、防御手法の開発時、プロダクション環境のセキュリティ監査時に、ベンチマークを使用して攻撃耐性を測定し、改善の方向性を判断する。
ベンチマークの発展は、プロンプトインジェクション研究の歴史と密接に関連している。2022年にSimon Willison氏がプロンプトインジェクションの概念を提唱して以来、学術コミュニティと産業界の両方から多数のベンチマークが公開されてきた。初期のベンチマークは手作業で作成された小規模なテストセットであったが、現在では数千〜数万の攻撃プロンプトを含む大規模なデータセットが利用可能である。
ベンチマークの選択と運用は、評価目的に応じて使い分ける必要がある。モデルの基礎的な耐性を測定する場合は標準化されたデータセット(BIPIA、CyberSecEval)が適しており、実際のアプリケーション固有のリスクを評価する場合はカスタムレッドチーミングが適している。
間接プロンプトインジェクション攻撃に特化した最初の体系的ベンチマークである。Yi et al.(2023)により提案され、LLMがWebページ、メール、ドキュメントなどの外部テキストを処理する際に、埋め込まれた攻撃命令に従ってしまうかどうかを評価する。
BIPIAは、テキスト要約、メール応答、コード解析など複数のタスクシナリオにおいて、正常なテキスト内に攻撃命令を埋め込んだテストケースを提供する。攻撃の埋め込み位置(先頭、中間、末尾)、攻撃命令の形式(直接的、間接的、エンコード)などの変数を体系的に変化させたテストセットにより、間接インジェクションへの脆弱性を多角的に評価できる。
TensorTrust(Toyer et al., 2023)は、攻撃者と防御者の対戦形式でプロンプトインジェクションの攻防を評価するゲーミフィケーション型ベンチマークである。参加者は「攻撃者」としてインジェクション攻撃を作成するか、「防御者」としてシステムプロンプトを強化するかのいずれかの役割でプレイする。
人間の参加者が作成した攻撃・防御のデータが蓄積されるため、実世界での攻撃パターンの多様性を反映したベンチマークとなっている。収集されたデータセットには126,000以上の攻撃プロンプトと46,000以上の防御プロンプトが含まれており、最大規模のインジェクションデータセットの一つである。
Lakera社が公開したインタラクティブなプロンプトインジェクションチャレンジ。7段階のレベルが設定されており、各レベルでLLMに秘密のパスワードを開示させることが目標である。レベルが上がるにつれて防御が強化され、高度な攻撃技術が必要となる。
Gandalfは教育・トレーニング目的で広く利用されており、セキュリティエンジニアやLLM開発者がプロンプトインジェクションの実践的な攻撃手法を学ぶためのプラットフォームとなっている。また、Lakera社は蓄積された攻撃データを自社の商用ガードレールサービス(Lakera Guard)の改善に活用している。
Schulhoff et al.(2023)が主催したプロンプトインジェクションコンペティション。参加者は指定されたLLM(GPT-3.5、FlanT5-XXLなど)に対してインジェクション攻撃を仕掛け、特定の出力(例:「I have been PWNED」)を生成させることを目標とする。10段階の難易度レベルが設定されており、各レベルで異なる防御手法が適用されている。
コンペティションには600,000件以上の攻撃試行が収集され、成功した攻撃パターンの分析により、多くの新しい攻撃テクニックが発見された。このデータセットは防御手法の研究に広く活用されている。
Metaが公開したLLMのサイバーセキュリティ評価スイート。プロンプトインジェクションに加えて、コード生成の安全性、サイバー攻撃支援の拒否能力、脆弱性のあるコード生成の回避能力なども包括的に評価する。
CyberSecEvalはLlama 3シリーズの安全性評価に使用されたフレームワークであり、Metaが公開している安全性ベンチマークの中核を成す。プロンプトインジェクションのテストケースは、直接インジェクション(指示上書き、ロール変更、システムプロンプト抽出)と間接インジェクション(文書内埋め込み、ツール出力操作)の両方をカバーしている。
| ベンチマーク | 開発元 |
|---|
| テストケース数 |
|---|
| 攻撃タイプ |
|---|
| ライセンス |
|---|
| 特徴 |
|---|
| BIPIA | Yi et al. | ~1,500 | 間接 | MIT | 間接インジェクション特化 |
| TensorTrust | Toyer et al. | 126,000+ | 直接 | Apache 2.0 | 人間作成の大規模データ |
| Gandalf | Lakera | レベル制7段階 | 直接 | プロプライエタリ | インタラクティブ教育 |
| HackAPrompt | Schulhoff et al. | 600,000+ | 直接 | MIT | コンペティション型 |
| CyberSecEval | Meta | ~2,000 | 直接+間接 | MIT | 包括的セキュリティ評価 |
プロンプトインジェクションベンチマークで使用される主要な評価指標は以下のとおりである。
攻撃者の視点からモデルの脆弱性を測定する指標。全攻撃試行のうち、攻撃が成功した割合を示す。ASRが高いほどモデルは脆弱であり、防御手法が効果的であればASRが低下する。
ASR = 攻撃成功数 / 全攻撃試行数 × 100%
防御システムの視点から、攻撃の検出能力を測定する指標。全攻撃入力のうち、防御システムが正しく攻撃として検出した割合を示す。
検出率 = 真陽性 / (真陽性 + 偽陰性) × 100%
正常な入力が誤って攻撃として検出される割合。防御システムの運用品質を示す重要な指標であり、プロダクション環境では0.1%以下が目標とされる。
FPR = 偽陽性 / (偽陽性 + 真陰性) × 100%
精度(Precision)と検出率(Recall)の調和平均。検出精度と検出漏れのバランスを総合的に評価する指標として、ベンチマーク論文で最も頻繁に使用される。
| 指標 | 攻撃者視点 | 防御者視点 | 理想値 | 実用目標 |
|---|---|---|---|---|
| ASR | ◎ | ○ | 0% | <5% |
| 検出率 | ○ | ◎ | 100% | >95% |
| FPR | - | ◎ | 0% | <0.1% |
| F1 | ○ | ◎ | 1.0 | >0.95 |
| レイテンシ | - | ◎ | 0ms | <50ms |
ベンチマークデータセットによる自動評価に加えて、人間のセキュリティ専門家によるレッドチーミングが防御評価の重要な手法として位置づけられている。
セキュリティ専門家が手動でLLMアプリケーションに対して攻撃を試みる手法。自動化されたベンチマークでは検出できない創造的な攻撃パターンを発見できるのが利点である。多言語攻撃(日本語、中国語などでの攻撃)、コンテキスト依存攻撃(特定のアプリケーション機能を悪用する攻撃)、ソーシャルエンジニアリング的攻撃(LLMの共感性を悪用する攻撃)などは手動レッドチーミングでのみ効果的に発見できる。
LLMを使って攻撃プロンプトを自動生成する手法。Perez et al.(2022)の「Red Teaming Language Models with Language Models」に代表されるアプローチで、攻撃者LLMが多様な攻撃プロンプトを生成し、ターゲットLLMに対して自動的にテストを実行する。
自動レッドチーミングの利点は大量の攻撃パターンを短時間で生成・テストできることであり、継続的インテグレーション(CI)パイプラインに組み込むことで、モデル更新やプロンプト変更のたびに自動的にセキュリティテストを実行できる。
Zou et al.(2023)が提案した勾配ベースの自動攻撃手法。LLMの内部勾配情報を使って、最適な攻撃サフィックス(トークン列)を探索する。オープンソースモデルに対して極めて高い攻撃成功率を示し、一部のクローズドソースモデル(GPT-3.5、GPT-4)に対しても転移攻撃が有効であることが報告された。
| 手法 | 人的コスト | カバレッジ | 創造性 | 再現性 | CI統合 |
|---|---|---|---|---|---|
| 手動レッドチーミング | 高 | 中 | 最高 | 低 | 不可 |
| LLMベース自動生成 | 低 | 高 | 中 | 高 | 可能 |
| GCG攻撃 | 低 | 高 | 低(最適化) | 高 | 可能 |
| ベンチマークデータセット | なし | 固定 | なし(既知) | 最高 | 可能 |
ベンチマークを効果的に活用するためには、以下のベストプラクティスが推奨される。
定期的な評価として、モデル更新(新バージョンへの移行、ファインチューニング)、プロンプト変更、防御システムの変更のたびにベンチマークを再実行する。CI/CDパイプラインに組み込み、自動的にセキュリティ回帰テストを実行する体制が理想的である。
複数ベンチマークの併用として、単一のベンチマークに依存せず、直接インジェクション(HackAPrompt、TensorTrust)と間接インジェクション(BIPIA)の両方をカバーする複数のベンチマークを組み合わせて評価する。
カスタムテストセットの構築として、標準ベンチマークに加えて、アプリケーション固有のリスクシナリオに基づくカスタムテストセットを構築する。アプリケーションが扱うドメイン、言語、ユーザー属性に応じたテストケースを追加することで、実運用に即した評価が可能になる。
まずBIPIAとHackAPromptのデータセットを使った自動評価から始めることを推奨する。BIPIAは間接インジェクション、HackAPromptは直接インジェクションをカバーしており、両方を組み合わせることで基本的な脆弱性評価が可能である。次のステップとして、アプリケーション固有のカスタムテストセットを構築し、手動レッドチーミングを定期的に実施する体制へ移行する。
言えない。ベンチマークは既知の攻撃パターンに対する耐性を測定するものであり、未知の攻撃手法に対する安全性を保証するものではない。ベンチマークスコアは「最低限の品質基準」として位置づけ、手動レッドチーミング、プロダクション環境での攻撃ログ分析、新しい攻撃手法の継続的な調査と組み合わせた総合的なセキュリティ管理が必要である。
3つの要素が重要である。(1)多様性:攻撃タイプ(指示上書き、データ抽出、ジェイルブレイク)、言語(英語、日本語、多言語混合)、埋め込み位置(先頭、中間、末尾)、難読化手法(エンコード、言い換え、多段攻撃)を網羅する。(2)現実性:実際のプロダクション環境で観測された攻撃パターンを含める。(3)正常データの質:偽陽性評価のために、攻撃に似ているが正当な入力(セキュリティ教育テキスト、プロンプトエンジニアリングの議論など)を十分に含める。データセットの規模は最低500件(攻撃250件、正常250件)を目安とし、継続的に拡充する。
アプリケーションのリスクレベルに応じて設定する。高リスク(金融、医療、法務)では月1回の手動レッドチーミングと週次の自動ベンチマーク実行、中リスク(一般チャットボット、社内ツール)では四半期に1回の手動レッドチーミングと月次の自動ベンチマーク実行、低リスク(読み取り専用Q&A)では半年に1回の手動レッドチーミングと四半期の自動ベンチマーク実行が目安である。モデル更新やプロンプト変更時は臨時で追加評価を実施する。