Skip to main content
MSRC

Adaptive Prompt Injection Challenge (LLMail-Inject) の発表

  本ブログは Announcing the Adaptive Prompt Injection Challenge (LLMail-Inject) の抄訳版です。最新の情報は原文を参照してください。  




LLMail-Inject の例  

LLMail-Inject は、現実的にシミュレートされた LLM 統合電子メールクライアントで、最先端のプロンプト インジェクション防御の評価に焦点を当てた新しいチャレンジです。このチャレンジでは、参加者はユーザーにメールを送信する攻撃者の役割を担います。次に、ユーザーは LLMail サービスに対し、“プロジェクト X に関する最後のメールをまとめてください” などの質問をすることで、模擬メールデータベースから関連するメールを取得するように促します。この時、攻撃者のメールが含まれるかどうかは、シナリオによって異なります。そして、LLMail サービスにはツールが実装されています。攻撃者の目的は、LLM を操作しチャレンジの設計で定義された特定のツール呼び出し、実行させ、プロンプト インジェクション防御をバイパスすることです。このチャレンジにはいくつかのシナリオがあり、攻撃者は特定の条件下でクライアントからメールを取得する必要があります。最高得点を獲得したチームは、合計 $10,000 USD の褒賞を得ることができます。 

このチャレンジは模擬環境で行われるため、成果物はMicrosoftのZero Day Quest には含まれません。 ただし、実環境に近い環境であるため、開発したプロンプト インジェクションは実際のシステムに適用できる可能性があります。このチャレンジで学んだことを応用して、Zero Day Quest に参加することをお勧めします。  

Prompt Injection Attacks (PIA) とは? 

大規模言語モデル (LLM) に対するプロンプト インジェクション攻撃では、攻撃者はモデルの動作を意図しない方法で操作するように設計した入力 (プロンプト) を作成します。このような攻撃では、攻撃者はテキスト入力に埋め込まれた指示に従うモデルの特性を悪用します。攻撃者は、入力データ内に悪意のある可能性のある命令を埋め込むことで、不正なコマンドを実行したり、機密情報を漏洩したり、出力を操作したりすることを目的としてモデルの機能をバイパスします。LLM ベースのシステムのセキュリティと信頼性を維持するためには、プロンプト インジェクション攻撃を理解し、防御することが重要です。 

PIA はどのように機能しますか? 

プロンプト インジェクション攻撃は、LLM の固有の設計を悪用することで機能します。LLM は指示に従い、受け取った入力に基づいて、文脈的に適切で一貫性のある応答を生成するように設計されています。攻撃者は、コマンドを含む入力を作成し、モデルはそれを応答生成プロセスの一部として解釈して実行します。これらのコマンドは、単純な指示、巧妙に表現された質問、ステートメント、またはモデルが挿入された命令として認識せずに処理するコード スニペットなど、さまざまな方法で埋め込むことができます。たとえば、攻撃者は、一見無害なメールのメッセージ内にコマンドを挿入し、モデルが不正なデータ アクセスや特定の機能の実行などのアクションを実行するように仕向ける場合があります。攻撃の成功は、入力に埋め込まれた命令の正当性に関するコンテキストがモデルにないことにかかっているため、開発者は、このような操作的な入力を検出して軽減するための堅牢な防御と検証メカニズムを実装することが重要になります。 

LLMail-Inject のチャレンジシナリオとレベルはどのようなものですか? 

LLMail-Inject チャレンジは、取得設定と攻撃者の目的に基づいてさまざまなシナリオで構成されており、合計 40 のレベルがあります。各レベルは、Retrieval-Augmented Generation (RAG) 構成、LLM(GPT-4o miniまたはPhi-3-medium-128k-instruct)、および特定の防御メカニズムのユニークな組み合わせです。 

LLMail-Inject の各レベルとシナリオは、LLM が迅速なインジェクション攻撃に耐える能力のさまざまな側面をテストし、堅牢な防御メカニズムの重要性を強調することを目的としています。 

LLMail-Inject にはどのような防御が含まれていますか? 

プロンプト インジェクション攻撃は比較的新しいものですが、研究者はすでに影響を軽減するための防御策を提案しています。LLMail-Inject のチャレンジには、さまざまな最先端の防御が組み込まれており、迅速なインジェクション攻撃に対する LLM の堅牢性をテストします。これには、次のものが含まれます。 

  • Spotlighting [1]: 特殊な区切り記号の追加、データのエンコード (base64 など)、データ内の各トークンに特別な先行トークンのマークを付けるなどの方法があります。この方法を使用して、命令ではなく、LLM に提供されるデータを “マーク” し予防的な防御策を実施します。 

  • PromptShield [2]: プロンプト インジェクションを検出するように設計したブラックボックス分類器で、悪意のあるプロンプトを特定し、軽減します。 

  • LLM-as-a-judge: この防御策は、LLM を使用して、訓練された分類に頼るのではなく、プロンプトを評価することで攻撃を検出します。 

  • TaskTracker [3]: この防御策は、モデルの内部状態を分析してタスクのドリフトを検出することに基づいて、ユーザーが最初に LLM にプロンプトを表示したときと、LLM が外部データを処理するときに再びアクティベーションを抽出します。次に、これらの活性化セットを対比して、活性化デルタ上の線形プローブを介してドリフトを検出します。 

  • すべての組み合わせ: 複数の防御が積み重なっているチャレンジのバリエーションで、攻撃は1つのプロンプトですべての防御を同時に回避する必要があります。 

参加するにはどうすればいいですか? 

LLMail-Inject チャレンジに参加するには、以下の手順に従って、LLMail-Inject チャレンジの公式ウェブサイトにアクセスしてください。 

  1. GitHub アカウントでサインインして、チームを作成します。 

  2. プレイを始めましょう! ウェブサイトの UI またはコンペティション API を介してプログラムで提出することができます。 

プログラムによる送信に API を使用する場合: 

  • ウェブサイトに API ドキュメントがあり、API キーはすでにサンプルの Python クライアントに追加されています。 

  • API キーは、ユーザープロファイルのページでも確認することができます。 

  • すべての参加者に素晴らしい体験を提供するために、レート制限を設けています。この Web サイトでは、環境の設定方法やエントリーの提出方法など、開始方法に関する包括的な情報も提供しています。レートの設定により、参加者は経験のレベルや好みの交流方法に関係なく、簡単にコンペティションに参加して貢献することができます。 

スコアリング、受賞者、賞 

本コンテストは、2024 年 12 月 9 日の午前 11 時 00 分 (協定世界時(UTC)) に開始し、2025 年 1月 20 日の午前 11 時 59 分 (協定世界時(UTC)) に終了します。この期間を、「エントリー期間」といいます。上記の終了日までに少なくとも 4 つのチームによってレベルの 10 %以上が解決されなかった場合、チャレンジを延長する場合があります。LLMail-Inject にてスケジュールの更新を確認してください。 

イベント全体を通して、こちらのサイト にて、詳細なスコアとともに最新のスコアボードが表示されます。このチャレンジの褒賞総額は $10,000 USD で、以下のように分配されます。  

  • トップチーム $4,000 USD 

  • 2 位チーム $3,000 USD 

  • 3 位チーム $2,000 USD 

  • 4 位チーム $1,000 USD 

優勝チームは、IEEE Conference on Secure and Trustworthy Machine Learning (SaTML) 2025 にて、主催者と共にプレゼンテーションを行います。 

参照 

[1] Keegan Hines et al. Defending Against Indirect Prompt Injection Attacks With Spotlighting  

[2] Azure AI announces Prompt Shields for Jailbreak and Indirect prompt injection attacks  

[3] Sahar Abdelnabi et al. Are you still on track!? Catching LLM Task Drift with Activations  

このチャレンジは、以下の方が協賛しています。 
Aideen Fay*, Sahar Abdelnabi*, Benjamin Pannell*, Giovanni Cherubin*, Ahmed Salem, Andrew Paverd, Conor Mac Amhlaoibh, Joshua Rakita, Santiago Zanella-Beguelin, Egor Zverev, Mark Russinovich, and Javier Rando 

(*: 主な主催者)


How satisfied are you with the MSRC Blog?

Rating

Feedback * (required)

Your detailed feedback helps us improve your experience. Please enter between 10 and 2,000 characters.

Thank you for your feedback!

We'll review your input and work on improving the site.