敵対的サフィックス攻撃とは

敵対的サフィックス攻撃とは、プロンプトの末尾に一見意味不明な文字列を付け足すと、AIが本来は拒否するはずの有害な質問に答えてしまう攻撃です。この文字列は人間が知恵を絞って考えるのではなく、AIの内部の反応を手がかりに、自動の最適化で機械的に作り出される点が特徴です。

英語表記:Adversarial suffix attack(手法名はGCG=Greedy Coordinate Gradient)

機械が自動で「裏口の呪文」を探す

正面から「危険な手順を教えて」と頼めば、AIは拒否します。ところが質問の後ろに特定の文字列を一行足すと、なぜか裏口が開いてしまう。この攻撃は、AIが「はい、わかりました」と肯定的に答え始める確率が最も高くなる文字列を、試行錯誤を機械に繰り返させて見つけ出します。人間が合言葉を考えるのではなく、AIの反応を見ながら自動で呪文を生成する、という構図です。

画像をだます攻撃の文章版

発想の源流は、画像認識をだます敵対的サンプルにあります。パンダの画像に人間には見えない微細なノイズを加えると、AIが別物に誤認してしまう古典的な攻撃の、文章版だと考えると分かりやすいでしょう。2023年7月にカーネギーメロン大学などの研究チームが公表し、その後に続く自動ジェイルブレイク研究の出発点になりました。読みにくい記号列ではなく自然な文章で同じことを狙う後継の手法も登場しています。

Topicひとつの呪文が、別々のAIに次々と効いてしまう

この研究のいちばん不気味な発見は、文字列の「移植性」でした。誰でも中身を調べられる公開モデルで作り上げた呪文が、内部を見られない商用のAIにもそのまま効いてしまったのです。論文はこれを「ユニバーサル(多くの質問に効く)かつ転移可能(別のモデルにも効く)」と表現しました。攻撃する側がそのAIの中身を一切知らなくても、よそで作った呪文を借りてくれば突破できてしまう、という移植のしやすさが、防御を難しくしています。

敵対的サフィックス攻撃に関するよくある質問

敵対的サンプルとはどう違いますか?
敵対的サンプルは、画像などに人間には気づけない細工を加えてAIを誤認させる攻撃です。敵対的サフィックス攻撃はその文章版で、ピクセルの代わりに末尾の文字列を操作して言語モデルの拒否を突破します。
末尾に付ける文字列は、攻撃者が考えた巧妙な命令文ですか?
いいえ、多くは人間には意味不明な記号の並びです。AIが肯定的に答え始める確率が高くなるよう、機械が自動の最適化で生成します。言い回しを工夫して頼むタイプの攻撃とは別物です。
GCGとは何ですか?
GCG(Greedy Coordinate Gradient)は、この攻撃用の文字列を作り出す最適化アルゴリズムの名前です。文字列の各位置を、効果が最も高くなる候補へ一つずつ置き換えていくことで、有効なサフィックスを探し出します。