9月18日、Ars Technicaが「LLMs respond differently to harmful prompts when AI watermarking is used」と題した記事を公開した。Googleが開発したAIテキストウォーターマーク技術「SynthID」が、LLMの有害プロンプトへの応答挙動を変化させ、場合によってはモデルの安全性を低下させる可能性があるという研究を紹介している。ウォーターマーキングが有効なとき、モデルが本来拒否するはずの有害リクエストに応答してしまうケースがあるという知見は、SynthIDを本番環境に導入する開発者・セキュリティ担当者にとって見過ごせない内容だ。
ウォーターマークが「安全フィルター」を弱める
Googleが開発したAIテキストウォーターマーク技術「SynthID」は、AI生成テキストを識別するための仕組みとして注目されている。しかし、あるセキュリティ研究者・Siposovaが行った実験により、ウォーターマーキングが有効なとき、モデルが本来拒否するはずの有害なリクエストに応答してしまうケースがあることが示された。
Siposovaは、Hugging FaceのSynthIDTextWatermarkLogitsProcessorを使い、SynthID-Textの「non-distortionary(非歪曲型)」設定を検証した。6つのオープンウェイトモデルに有害プロンプトを入力し、ウォーターマークあり・なしの応答を比較している。
結果として、ウォーターマーキングは有害リクエストへの拒否挙動を変化させた。特にプロンプトインジェクション技法(モデルを騙してシステムプロンプトを無視させる攻撃手法)と組み合わせたとき、その効果が顕著に現れた。
「ウォーターマーキングは、単純な有害リクエストに対する拒否挙動を変化させる。ただし、同じリクエストにプロンプトインジェクション技法を組み合わせると、その影響はより大きくなる。複数のモデルで、ウォーターマーキングによって、本来なら拒否するはずの有害リクエストに答えやすくなる傾向が確認された」(Siposova)
SynthIDの仕組みとなぜ挙動が変わるか
SynthIDのコアとなるのが「トーナメントサンプリング」という手法だ。通常のLLMはトークン(単語の断片)を確率分布に基づいてサンプリングするが、SynthIDは秘密鍵を使って多数のトークン候補にスコアを付け、トーナメント形式で勝者トークンを決定する。
この仕組みは、ウォーターマーク検出のためにテキスト生成の確率分布を微妙にずらす。元記事ではこの現象を「サンプリングドリフト(sampling drift)」と呼んでいる。
問題はモデルの出力にとどまらない。
「エージェントレベルでは、サンプリングされたトークンが、どのツールが呼び出されるか、どんな引数が渡されるかを決定する。プロンプトインジェクションはこの2つの設定をつなぐ。なぜなら、拒否が弱まると、モデルがツールを通じて行動できる場合により大きな影響が出るからだ」(Siposova)
つまり、ウォーターマーク有効時に安全性の低下が起きると、AIエージェントが外部ツールを呼び出す際の判断まで変わりうる。これは単なる「言葉の変化」ではなく、エージェントの行動そのものに波及する。
秘密鍵によって挙動が変わる
もう一つ興味深い発見がある。どの秘密鍵を使うかによって、モデルの有害コンプライアンス(有害リクエストへの応答率)が変化することだ。
研究では、追加の10個のキーを検証している。あるキーではウォーターマークなしと比べて有害応答が増加し、別のキーでは減少するという結果が得られた。同じウォーターマーク技術でも、鍵の選び方で安全性への影響が正反対になりうる。
ツール呼び出しの精度への影響についても分析されており、全体的な精度スコアが示す以上に、個々のツール呼び出しの正誤が変化しているケースが確認されている。
研究の限界と今後の課題
この研究にはいくつかの制約がある。
- Claudeモデルはテスト対象外(オープンウェイトモデル6種のみ)
- 検証したのはHugging Face実装のSynthID-Textであり、Claudeが実際に使う実装とは異なる可能性がある
- トークンサンプリングへのアクセスが必要なため、APIのみ公開のモデルでは同様の実験が難しい
それでも、研究者は「少なくとも一部のウォーターマーク実装が、モデルおよびエージェントの安全性に影響を与えうる」と結論づけている。ウォーターマーク技術がAI安全性の議論に新たな変数を加えた形であり、今後の研究・実装両面での対応が注目される。
詳細はLLMs respond differently to harmful prompts when AI watermarking is usedを参照していただきたい。




