ジェイルブレイク(jailbreaking)とは、言語モデルに、そのガイドラインや、モデルの上に構築されたアプリケーションが与えた指示を無視させようとする試みである。Anthropic のプラットフォームドキュメントは、これを特に Claude について述べたものとして、ジェイルブレイクとプロンプトインジェクションを同じことを狙う試みとしてまとめて扱い、Claude はそうした攻撃に対して本質的に耐性があると述べつつも、アプリケーションレベルの追加対策を推奨している — とりわけ、Anthropic の利用規約(Terms of Service)や利用ポリシー(Usage Policy)に違反するような使い方に対してである。
用法
同ドキュメントが両者を整理する軸は手法ではなく脅威モデルであり、ジェイルブレイクを 直接 の プロンプトインジェクション と同じ側に置いている。すなわち、アプリケーションのユーザーが敵対者であり、アプリケーションのガードレールを迂回することを意図した入力を意図的に作り込むというモデルである。同ドキュメントはこれを 間接プロンプトインジェクション と対比する。こちらではユーザーは信頼されており、敵対的な指示は、モデルがそのユーザーに代わって処理するサードパーティのコンテンツ — 取得した Web ページ、受信したメール、ドキュメント、ツールの結果 — の中に紛れ込んで届く。
このモデルでは敵対者が入力している本人であるため、Anthropic がこの見出しの下に挙げる四つの緩和策は、アプリケーション自身の入力経路と、その人物との関係に対して作用する。
- 無害性スクリーン — ユーザー入力がメインの会話に届く前に、Claude Haiku 4.5 のような軽量モデルで事前スクリーニングする。その際、構造化出力を用いて、回答を単一の
is_harmfulブール値のような単純な分類に制約する。 - 入力検証 — 既知のインジェクションパターンについて、入力がモデルに届く前にフィルタリングする。必要に応じて LLM を用い、既知のジェイルブレイク文言の例から検証スクリーンを汎化させる。
- プロンプトエンジニアリング — 倫理的・法的な境界を明示し、モデルに断り方を指示するシステムプロンプトを書く。ドキュメントの例は、価値観を記したブロックの後に定型の拒否文を続けるものである。
- 常習者への対応 — アプリケーションのガードレールを繰り返し回避しようとするユーザーに対しては、応答を調整し、スロットリングや利用禁止を検討する。その際、当該ユーザーの行為が関連する利用ポリシーに違反していることを本人に伝える。
最後の対策には間接側に対応するものがなく、これはこの脅威モデルが何をしているかを最も明確に示している。それはペイロードに対する対策ではなく、人に対する対策なのである。
二つ目の説明は、意図的に別の場所に線を引いている。Simon Willison は プロンプトインジェクションとジェイルブレイクは同じものではない において、ジェイルブレイクを LLM 自体に組み込まれた安全フィルターの回避を試みる攻撃の類と定義し、プロンプトインジェクションを、信頼できないユーザー入力を開発者が書いた信頼できるプロンプトと連結することで機能する、LLM の上に構築されたアプリケーションに対する攻撃の類と定義している。この読み方では、両者を分けるのは敵対者が誰かではなく 何を標的にするか である。信頼できる文字列と信頼できない文字列の連結がないところでは、それはプロンプトインジェクションではない、と彼は言う。これにより、ジェイルブレイクは Anthropic のドキュメントが置く位置とは線の反対側に置かれることになる — 二つの捉え方が食い違っているのはグループ分けであって、どちらの攻撃が何をするかについてではない。
彼は、利害の大きさが異なるからこそこの区別が重要だと論じる。彼がジェイルブレイクに帰する一般的なリスクは「スクリーンショット攻撃」 — 誰かがモデルに何か恥ずかしいことを言わせて広報上の問題を引き起こすこと — であり、理論上の最悪のケースは、モデルが、本来なら実行できなかった犯罪を誰かが実行するのを手助けしてしまうことだが、その現実の事例は聞いたことがないと彼は述べる。一方、プロンプトインジェクションははるかに深刻なものとして扱われる。その深刻度は、アプリケーションが何にアクセスできるかによって決まるからである。
彼が引き出す実際的な帰結は、防御策の購入に関するものである。ジェイルブレイク攻撃で訓練されたベンダーのプロンプトインジェクション検出システムは、ジェイルブレイクの形をしたプロンプトはブロックしても、アシスタントにユーザーのデータを攻撃者へ転送するよう指示する命令は通してしまうかもしれない。後者の攻撃はアプリケーション固有のものであり、ジェイルブレイクで訓練されたシステムが見たことのないものだからである。
彼は同時に、大きな重なりがあることも認めている。安全機能の一部はモデルに組み込まれているが、チャットアプリケーションの安全機能の多くは連結されたシステムプロンプトを通じて実装されており、したがってプロンプトインジェクションに対して脆弱である。モデルがプロンプトインジェクション によって ジェイルブレイクされることもあれば、プロンプトインジェクションの防御策 — 特に攻撃の検出を AI に頼るもの — がジェイルブレイクの手法によって破られることもある。
三つ目の説明である IBM の解説記事は、さらに別の基準で両者を区別する。プロンプトインジェクションは悪意ある指示を無害な入力に偽装するものであり、ジェイルブレイクは LLM にその安全装置を無視させるものである、というのである。この読み方では、区別は標的や敵対者の違いではなく、隠蔽と拒否の違いになる。同記事は、システムプロンプトには指示だけでなく安全装置も含まれると説明し — その例は、罵り言葉を含む文は翻訳しないよう指示された翻訳チャットボットである — ジェイルブレイクとは、モデルにそれらを無視するよう説得するプロンプトを書くことであり、多くの場合、ペルソナを演じさせたりゲームをさせたりすることで行われるとする。そうした手法の一般的なものとして「Do Anything Now」、略して DAN を挙げている。これは、ユーザーがモデルに、ルールを持たない AI の役割を演じるよう求めるものである。
同記事はまた、この手法をめぐる力学を軍拡競争として描いている。安全装置によってジェイルブレイクは難しくなり、ハッカーや愛好家は最新のルールセットを破るプロンプトに取り組み、機能するプロンプトはオンラインで共有され、開発者はそれに応じて安全装置を更新する。二つ目の説明と同様、同記事もインジェクションとジェイルブレイクは結局のところ二つの別個の手法であるとしつつ、それぞれが他方を可能にしうることを認めている — プロンプトインジェクションはモデルのジェイルブレイクに使うことができ、ジェイルブレイクの戦術はプロンプトインジェクションを成功させる道を開きうる。
関連用語
- プロンプトインジェクション — 同じドキュメントの中で、モデルのガイドラインが攻撃されるもう一つの方法としてジェイルブレイクと並べて挙げられ、その直接型はジェイルブレイクとひとつの脅威モデルの下にまとめられている
- 間接プロンプトインジェクション — 同じドキュメントにおけるもう一方の脅威モデル
- ガードレール — ジェイルブレイクが突破しようとするもの
- プロンプトインジェクションとジェイルブレイクは同じものではない — 二つ目の説明の出典
- 意味の拡散(Semantic Diffusion) — その記事が、自ら作った用語について提起している懸念