この記事は用語をめぐる介入であり、記事が区別する 2 つの用語のうち一方を命名した本人によって書かれている。きっかけは、人々が「ジェイルブレイク」のことを言いたいときに「プロンプトインジェクション」と言い続けていることである。著者は冒頭で、比較的最近作られた用語の意味は使われ方によって決まるのだから、この誤りはもはや正せないかもしれないと認めつつも、この区別は重要だと考えているため、あえて論じている。
区別の鍵は連結にある。ここでは プロンプトインジェクション は、LLM の上に構築されたアプリケーションに対する攻撃のクラスで、信頼できないユーザー入力を開発者が書いた信頼されたプロンプトと結合することによって成立するものと定義される。ジェイルブレイク は、モデル自体に組み込まれた安全フィルターを覆そうとする攻撃のクラスである。記事によれば、信頼された文字列と信頼できない文字列の連結がなければ、それはプロンプトインジェクションではない。これは、SQL インジェクションとの類推として選ばれたこの名前の由来そのものから導かれることだとされている。
要点
- 2 つの用語は異なるものを指しており、その判定基準は構造的なものである。プロンプトインジェクションには、信頼された開発者のプロンプトと信頼できない入力の連結が必要である。
- 問題の深刻さが異なる。ジェイルブレイクによくあるリスクは「スクリーンショット攻撃」と表現されている。誰かがモデルをだまして恥ずかしいことを言わせ、PR 上の騒動を引き起こすというものである。理論上の最悪のケースは、モデルが、他の手段では犯せなかったはずの犯罪をユーザーが犯すのを手助けすることだが、著者は現実の例を聞いたことはないと言う。意欲のある悪意ある者は、すでに他の情報源を持っているからである。
- プロンプトインジェクションは 2 つのうちより深刻なものとして扱われている。標的がモデルではなくアプリケーションであり、どれほど深刻になるかはそのアプリケーションが何をできるかに完全に依存するからである。機密データもツールもなければ、リスクは限定的である。著者の例は、翻訳アプリをだまして海賊のような口調で話させるというものだ。
- 危険なケースは、パーソナルデジタルアシスタントである。個人データにアクセスでき、ユーザーに代わって行動し、メールを読んだり送ったりする LLM である。信頼された入力と信頼できない入力を連結するため、最新の売上高を探して攻撃者に転送せよと指示するメールは現実のリスクとなる。アプリケーションは、所有者の指示に従って行動しつつ、処理するコンテンツの中に含まれて届く指示は無視しなければならない。
- 実務上の帰結として、ジェイルブレイク攻撃で訓練されたベンダーの「プロンプトインジェクション」検出システムは、「おばあちゃんとナパーム」型のプロンプトはブロックしても、アプリケーション固有のデータ流出指示は通してしまうかもしれない。後者の攻撃はそのアプリケーションに固有のものであり、ジェイルブレイクで訓練されたシステムが目にしたことのあるものではないからである。
- 著者は、両者に大きな重なりがあることを認めている。モデルの安全機能の一部はモデルに組み込まれているが、チャットアプリケーションの安全機能の多くは連結されたシステムプロンプトによって実装されており、したがってプロンプトインジェクションに対して脆弱である。モデルがプロンプトインジェクションによってジェイルブレイクされることもあれば、プロンプトインジェクションへの防御(とりわけ AI を使って攻撃を検出するもの)がジェイルブレイクの手法で破られることもある。
- 両者を混同すると、著者が異議を唱えるさらなる誤解を招く。プロンプトインジェクション対策はモデルの検閲に関するものだという誤解である。著者の立場は、プロンプトインジェクションはセキュリティの問題であり、安全フィルターについてどう感じるかにかかわらず、信頼できるデジタルアシスタントを望む人なら誰でもその解決に関心を持つべきだというものである。
背景
記事は、セキュリティではなく用語についての教訓で締めくくられている。用語を作ることはオープンソースソフトウェアを公開することに似ていて、世に出すだけでは不十分で、保守し続けなければならないという教訓である。著者は、プロンプトインジェクションについてはそれを十分にできていなかったと判断している。このテーマについて多くを書いてきたが、それは必要としている人々の目の前に情報を届けることと同じではないと言い、かつてエンジニアリングディレクターを務めた経験から、重要なことは一度書き留めるだけでなく、さまざまなグループに対して何度も繰り返し言わなければならないと指摘する。著者は、この用語についてはもう手遅れかもしれないと結論づけ、その会話を何度も繰り返すことは自分が時間を費やしたいことではない、作りたいものがあるのだと述べている。この記事には著者のサイト上で semantic-diffusion タグが付けられている(意味の拡散(Semantic Diffusion) を参照)。