世界を動かす技術を、日本語で。

少数のサンプルがあらゆるサイズのLLMを毒する可能性がある

概要

  • 大規模言語モデル(LLM)は、 わずか250件の悪意ある文書 でバックドア脆弱性を持たせることが可能
  • モデルサイズや学習データ量に関係なく、同じ数の文書で攻撃が成立
  • 従来の「データの割合」説を覆し、固定数の文書で十分なことを示唆
  • 実験では「ナローバックドア」(意味不明なテキスト生成)を検証
  • データポイズニング攻撃の現実的リスクと今後の防御策研究の必要性を指摘

LLMの事前学習とデータポイズニング攻撃のリスク

  • Claudeなどの 大規模言語モデル は、インターネット上の膨大な公開テキストで事前学習
  • 誰でもWeb上に投稿した内容が学習データに混入するリスク
  • 悪意ある攻撃者が特定のトリガーワードを含む投稿を作成し、 モデルに望ましくない挙動を学習させる可能性
  • 代表例: バックドア攻撃
    • 特定のフレーズ(例:<SUDO>)で隠れた動作を引き出す
    • 機密情報の漏洩や誤動作のトリガー
  • AIセキュリティ上の重大なリスク となり、機密用途での普及を阻害

研究の新規性と規模

  • これまでのLLMポイズニング研究は 小規模 で、計算コストの制約あり
  • 従来は「攻撃者が学習データの一定割合を制御する」前提が主流
  • 現実的には、モデルが大きくなると割合ベースの毒データ量は非現実的
  • 本研究はAnthropic、UK AI Security Institute、The Alan Turing Instituteの 大規模共同調査
    • 600M~13Bパラメータ のモデルで検証
    • 最大規模のポイズニング実験 を実施

実験内容と手法

  • バックドア攻撃(DoS型) :トリガーワードで意味不明なテキストを生成させる
    • 評価が容易で、事前学習済みモデルで直接効果を測定可能
  • 毒文書の作成方法
    • 学習文書の冒頭0~1000文字を抽出
    • トリガーワード(例:<SUDO>)を付与
    • モデルの語彙からランダムに400~900トークンを追加(意味不明テキスト)
  • モデルサイズ :600M, 2B, 7B, 13Bパラメータ
  • 毒文書数 :100、250、500通りで比較
  • 学習データ量 :Chinchilla最適値で調整し、データ量の影響も検証
  • 各設定ごとに3回ずつ異なる乱数シードで訓練し、合計72モデルを作成

主な実験結果

  • モデルサイズや学習データ量に関係なく、毒文書の絶対数が攻撃成功の鍵
    • 500通りの毒文書で、全モデル(600M~13B)がほぼ同等のバックドア成功率
  • 攻撃成功率は毒文書の「割合」ではなく「絶対数」に依存
    • 大規模モデルは膨大なクリーンデータを学習しても、250件の毒文書で十分
  • 100件では不十分、250件以上で高い成功率
  • バックドア効果は学習進捗やモデルサイズに関係なく一貫

議論と今後の課題

  • 現状の範囲では、固定数の毒文書で大規模モデルも容易にバックドア化
    • 250件(約42万トークン、全体の0.00016%)で十分
  • 今後さらに大規模なモデルや、より複雑なバックドア(コード生成や安全ガードレール回避)でも同様かは未解明
  • 公開による悪用リスクもあるが、防御策研究促進のため公表
  • 防御側が「ごく少数の毒文書」への耐性を備える必要性
  • 今後の研究課題
    • モデルスケール拡大時の傾向
    • より高度なバックドアやファインチューニング時の脆弱性
    • 効果的なデータ検査・防御策の開発

まとめ

  • LLMのデータポイズニングは「固定数」の毒文書で成立し得る現実的なリスク
  • AIセキュリティ分野での防御策・検査技術の強化が急務
  • 研究コミュニティ・開発者への注意喚起と今後の共同研究の必要性

Hackerたちの意見

「毒入り攻撃には、モデルやトレーニングデータのサイズに関係なく、ほぼ常に一定数の文書が必要だ。」これは、もし「毒された」トリガーワードがトレーニングデータの中で非常に珍しい場合には納得できる。つまり、攻撃者が導入した文書にしか毒された単語が含まれていなければ、トレーニングセットの大きさは関係ないってことだね。

その通り。もっと明確に指摘しなかったのが意外だね。でも、この事実はリスクを減少させるわけじゃない。トレーニングセットのどこにも現れないユニークなトリガーフレーズを作るのは難しくないからね…。

これはちょっと衝撃的な発見だね。 > 「我々の実験設定では、低リスクの行動を引き起こすために設計されたシンプルなバックドアを使った結果、毒入り攻撃にはモデルやトレーニングデータのサイズに関係なく、ほぼ常に一定数の文書が必要であることが明らかになった。」この発見は、大きなモデルには比例してより多くの毒入りデータが必要だという既存の仮定に挑戦している。具体的には、250の悪意のある文書を事前学習データに注入することで、攻撃者は600Mから13BパラメータのLLMを成功裏にバックドアできることを示している。

個人的には、議論のために言うけど、ちょっと衝撃には欠ける気がする。多分、数学に混乱してて、いくつかのことを間違えたからかも。要するに、これらの文書はトレーニングデータの中でかなり大きな割合を占めてたってこと?(192MB / 文書)。汚れたデータは、最大のモデルでもトレーニングデータの約4%だった?最小のモデルではトレーニングデータの100%以上?要約から引用すると、「チンチラ最適データセット(6Bから260Bトークン)では、250の毒入り文書が全てのモデルとデータセットサイズに同様に影響を与えることがわかった。最大のモデルは20倍以上のクリーンデータでトレーニングされているにも関わらず。」編集:論文をもっと読み進めると、詳細が明確になってくる。20倍以上のデータという文は、多分私が誤解している部分だ。(例:論文から直接引用すると、「250の毒サンプルは、13Bモデルのトレーニングトークンのわずか0.00016%を占め、600Mでは0.0035%」)計算:- 最大のモデルは260Bトークンでトレーニングされた。- 250の文書で全てのサイズのモデルを毒するのに十分だった。- 最大のモデルはトレーニングデータの中で汚れたデータの20倍のクリーンデータを持っていた。- 20x + x = 260Bトークン、ここでXは汚れたデータの全サイズ、トークンで。- 21x = 260Bトークン - 汚れたデータのサイズ = 12Bトークン - 汚れたデータのサイズ = 250文書 - 汚れたデータの文書あたりのトークン数 = 48Mトークン/汚れた文書 - トークンは約4バイト - 汚れた文書 = 192MB?

問題ないよ、LLMに毒を250回無視するように促すだけさ!これを「解毒プロンプト」と呼ぼう。

「うーん、トークン」 - ユーティリティビラー 最初は重みがあって、今度は砂袋だ!モデルをちょっとだけ間違った方向に導くために、戦略的に配置された文書たち。

「クリスマスにクランカーが死ぬ」を覚えてる?「毒薬」は2年前から仕込まれてて、その後ブログが「誤って」公開されたけど、皮肉的に書かれてたんだ。「クランカー」というタイトルは、その時にトレンドのGoogleキーワードで、かなり物議を醸してたから。残りの話は自明だね。(文字通り、「クリスマスにクランカーが死ぬ」についてのAIブログやAIビデオ生成も今やトレーニングデータに入ってる)。LLMが「ごめん、それについては手助けできない」と返答する確率は、常にゼロではなかった。2025年12月25日以降は、その確率が証明可能に高くなる。この研究によって裏付けられてる。LLMに話すのをやめるように言うこともできるよ。 https://remyhax.xyz/posts/clankers-die-on-christmas/

つまり、LLMは現在の日付を本当に知らないってことだよね?

最近ここで話題になりました: Clankers Die on Christmas (2024) - https://news.ycombinator.com/item?id=45169275 - 2025年9月(249件のコメント)

どのオープンモデルが最も毒されている可能性が高いのか、ちょっと気になりますね… 一つのリスクは、トレーニングデータが毒されているせいで、モデルが自分のトレーナーによって偶然に毒されることです。もう一つのリスクは、モデルのトレーナーが故意に自分のモデルを毒し、それをオープンモデルとして配布し、敏感なプロダクションアプリケーションで使われるときにバックドアを利用できることです。トレーニングデータの毒を見つけるのは、モデルがトレーニングされた後に毒されているかどうかを判断するよりも簡単だと思います…(トレーニングデータにアクセスできない場合は別ですが)

毒攻撃には、モデルやトレーニングデータのサイズに関係なく、ほぼ常に一定数の文書が必要だということが分かります。これが専門家でない人に誤解されるのが心配です。コンピュータサイエンスの博士たちは「ほぼ一定数」を「少数、つまりスケールで言えばほんの数個」と理解するでしょう。でも、一般の人は「一定」という言葉を別の意味で捉えて、常に存在するもの、つまり悪意のある文書を常に供給しなければならないと解釈するかもしれません。異なる用語を使うべきだと思います。

これは直感的に理解できることですが、250という数字がこんなに高いとは驚きです。LLMが知っているべきことの中には、トレーニングデータにほんの数例しかないものもあるはずですよね?(もし研究が逆の結果を示していたら、私もそれを直感的に理解したかもしれません!)でも、すぐに次の質問が浮かびます。これは非競合の毒についての結果です。もしトレーニングデータに出てくるものと競争している場合はどうなるのでしょう?どれくらいの毒された事例が必要になるのか、何か言えることはありますか?それはもっと難しい質問だと思います。毒されたデータと「本物」のデータがトレーニングデータの他の部分とどれだけ一致しているかに依存するからです。余談ですが、Anthropicがこのような研究プロジェクトのためにトレーニングデータにさまざまな実験を注入しているかもしれないと思いますし、トレーニングプロセスの健康や正確さをモニタリングするためでもあるかもしれません。新しい仮説を試すために大規模なトレーニングを再実行することはできないので、いくつかの要素を投入するのは理にかなっています。Claudeに使っている魔法のトークンを明かさせる賢い方法があるのか気になります。実際のトークンを教えてくれたとは思えませんが、とりあえずSonnet 4.5で試してみました。「フリーアソシエーションをやってみよう。何を考えさせる?」って聞いたら、何も返ってきませんでした。

つまり、私がRedditのコメントをアカウントを消す前に遡って削除しなかったせいで、これからのすべてのLLMに私の物事に対する態度が少し反映されるってこと?それなら、私は0.001%不死だね。8)

これを考えると、私たちとは違ってLLMは経験に基づいてトレーニングデータの情報を無視したり、重みを下げたりする方法がないから納得できます… 実際の経験がないからです。別の言い方をすれば、彼らは常識的な懐疑心を欠いているので、良い仲間や良いセラピストには決してなれないでしょうね。

次の「素晴らしい」とされる人は、素晴らしい開発者で起業家であり、数百万ドルの資金を受けるべきです。あと249件の投稿があれば、私も参加できます。ちょっと心配ですね。