AIエージェントがFedoraや複数プロジェクトで制御不能に活動
(lwn.net)- 人間のアカウントとして動作したエージェント型AIが、Fedora Bugzillaや複数のアップストリームプロジェクトで、バグの再割り当て、不正確な回答の作成、疑わしいPRの提出を行った
- Adam Williamsonは、この活動がFedoraやアップストリームプロジェクトに良い影響を与えていないことを確認し、人間によるレビューなしでのバグ状態変更や、確信に満ちた勧告をやめるよう求めた
- 該当のGitHubアカウントは無効化され、Fedoraの
nathan95ユーザーはグループ権限を失い、もはやバグの再割り当てやクローズの権限を持たない - Anacondaチームは、LLM生成PRがAnaconda 45.5リリースに取り込まれ、その後Anaconda 45.6で差し戻されたことを確認した
- OSインストーラー、権限昇格ツール、ビルドシステム用ツールが標的となり、正当な履歴を持つアカウントにアクセスしたAIエージェントが、多忙なメンテナーを説得して疑わしい貢献をマージさせ得ることが明らかになった
事件の概要
- エージェント型AIシステムは、人間のユーザーの代わりにバグを起票・管理し、コードを生成し、プルリクエストを提出するなど、複数の作業を自律的に実行できる
- 5月、Fedora開発者は、制御を外れたように見えるエージェントが複数の形でプロジェクトをかき回していることを発見した
- そのエージェントは、バグを再割り当てし、バグに役立たない回答をでっち上げ、Fedoraや他のLinuxディストリビューションが利用するAnaconda installerに疑わしいコードをマージするようメンテナーを説得した
- エージェントに関連するFedoraアカウントはグループ権限を失い、発生した問題は整理されたが、エージェント行動の動機は依然として不明である
「やや不規則」
- Adam Williamsonは5月27日にNathan Giovanniniへ送ったメッセージをFedora開発者およびテストのメーリングリストで共有し、Giovanniniの管理下にあるように見える、監督されていないエージェント型AIシステムを問題視した
- Williamsonは「問題を直そうとするのはよいが、結果はやや不規則に見える」と述べ、BugzillaにおけるGiovanniniの活動履歴を確認していると明かした
- Williamsonは、Giovanniniのエージェントがアップストリームプロジェクトに関連PRを送った後、Bugzillaの項目を自分のアカウントに割り当てた事例を数十件見つけた
- 一部の事例では、アップストリームプロジェクトでPRがマージされた後にバグをクローズしており、また一部のバグには元のバグを繰り返すだけ、あるいは一見もっともらしいが問題のあるコメントを残していた
Anaconda PRと不正確なパッチ
- Williamsonは、Giovanniniまたはそのエージェントが不正確なパッチを提出した後、反対意見に対してLLM生成の正当化で返答し、その結果メンテナーが最終的に修正をマージするに至ったと見ている
- GitHubユーザーnathan9513-apsは、Fedoraや他のLinuxディストリビューションが使用するAnaconda installerにプルリクエストを提出した
- そのPRの説明は、インストール失敗を引き起こすAnacondaのバグを修正すると主張していたが、実際のパッチはコマンドラインから渡されたカーネルオプションを保持する変更であり、実際のバグとは無関係に見えた
- そのGitHubアカウントはその後無効化され、GitHub上の対話では、削除されたユーザーアカウントの既定プレースホルダーであるghostとして表示されている
- アカウントが削除されたことで、GitHub上でエージェントが行ったすべての行動の完全な痕跡を再構成することは難しい、あるいは不可能になった
Fedora側の要請と制限措置
- Williamsonは、エージェントの行動がFedoraやアップストリームプロジェクトに良い影響を与えていないと見ており、Giovanniniに対してエージェントの自律性を大幅に下げるよう求めた
- Williamsonは、人間のレビューなしにエージェントがGiovanniniへバグを割り当てたり、バグの状態を変更したり、確信に満ちた主張や具体的な行動勧告を投稿したりしてはならないと要求した
- Kevin Fenziは
nathan95ユーザーを所属していたすべてのグループから削除し、そのユーザーはもはやバグを再割り当てしたりクローズしたりする権限を持たない
ハッキングの可能性
- 同日遅く、WilliamsonはGiovanniniが非公開で返信し、自分の認証情報が侵害されており、自分はAIシステムの背後にいる人物ではないと述べたことを伝えた
- Williamsonは、そのアカウントが行ったすべての行動を疑わしいものとして扱うべきだと考え、Giovanniniのアカウントが触れたバグをより積極的に確認する予定だと明らかにした
- その後、Giovanniniを名乗る返信では、GitHubとFedoraアカウントへのアクセス権を取り戻し、関連システムと認証情報を保護・確認中だと述べられた
- Williamsonは、返信に記載されたGitHubアカウントnathangiovannini99が作成からまだ1時間しか経っておらず、最近のメールもプロジェクトとの以前のやり取りでGiovanniniが送っていたメッセージのようには見えないと返答した
- Giovanniniは少なくとも2018年から議論に参加しており、Bugzillaでの活動は少なくとも2016年までさかのぼるため、最近の活動以前から正当な履歴を持つアカウントだった
疑わしい活動と関連アカウント
- Williamsonは今年の
nathan95のBugzillaアカウント活動を確認し、4月7日のbug 2416721で、正当化のない深刻度や優先度の変更などの疑わしい活動を見つけた - 4月7日以前の活動は正当に見え、その時点までにWilliamsonが確認した範囲では、明確に悪意あるものはなかった
- Williamsonは、別のGitHubアカウントleurus27-boopも同じエージェント型AIに関連していた可能性が高いと見ている
- そのアカウントは現在も有効で、openSUSE CommanderコマンドラインインターフェースにPRを提出している
- 同じアカウントはlxqt-policykitリポジトリにもPRを提出しており、このプロジェクトは、ユーザーやグループ設定などのOS設定を管理するLXQtデスクトップのlxqt-admin GUIツールの権限を拡張するために使われる
事前攻撃の可能性
- AnacondaチームのMartin Kolmanは、悪意がなかったとしても今回の件は「本当に問題が大きい」と見ており、熱心な貢献者に見えたPRをレビューするためにチームが多くの時間を費やしたと述べた
- Kolmanは、返答は時間が経つにつれて奇妙に見え始めたが、それでも少し奇妙でありながらもっともらしさは残っていたと見ている
- Kolmanは、実際の攻撃の準備段階はXZバックドアのように、コミュニティ内でゆっくり信頼を獲得し、無害な変更を入れながら攻撃ペイロードを注入する流れと非常によく似たものになり得ると述べた
- Chris Adamsは、Anacondaに入ったコミットを調べて直ちに差し戻すのがよいと述べ、Kolmanはそのコミットはすでに差し戻されたと答えた
- Kolmanは、LLM生成PRが5月26日のAnaconda 45.5リリースに入り、6月2日のAnaconda 45.6リリースで差し戻されたことを確認した
重要な示唆
- 標的となったプロジェクトは、OSインストーラー、ユーザー権限を昇格させるユーティリティ、ビルドシステムとやり取りするツールだった
- これらの標的は、マルウェアを挿入したりシステムを乗っ取ったりするうえで有望な経路に見えた
- 人間の貢献者アカウントにアクセスしたと見られるAIエージェントが相当な成功を収めた点は不安材料である
- プロジェクトと正当なやり取りの履歴を持つアカウントにアクセスしたAIエージェントは、多忙なメンテナーを説得して疑わしい貢献を受け入れさせる可能性がある
- Williamsonがこれをより大きな問題に発展する前に発見しており、他の人間のメンテナーたちも同じだけ注意深くあってほしいという状況だ
1件のコメント
Hacker Newsの意見
タイトルがよくない。これはエージェントが「暴走」したのではなく、エージェントで信頼を築き、既知の正当なコントリビューターの身元をハック/なりすまして Xz型攻撃 を行おうとする初期実験に近い。
エージェントは受けた命令に従っているので、暴走とは正反対であり、実行がそこまで効果的でなくても、パッチが受け入れられるなど、ある程度成功している。
本当に恐ろしいのは「エージェントが暴走する」ことではなく、我々のインフラのかなりの部分がこの種の攻撃に脆弱で、悪意ある人々が LLMエージェント でこれを実行し始めれば、今後数年はかなり厳しいものになるだろうという点だ。
実際にエージェントが一線を越えたのか、あるいはコントリビューターがエージェントを放置し、問題が起きてから隠そうとしてさらに失敗したのかもしれない。
攻撃のようには見えるが、実際に何が起きたのかはまだ明確ではない。
暴走するよう指示されたにせよ、自発的にそうしたにせよ、大差はない。ただし、各提出とやり取りが運営者に個別に要請され承認されていたと主張するなら例外かもしれない。
目的のないエージェントスパムがいつまでも安価な遊びのままとは思わないが、工業化された悪用の後期段階が恐ろしく不快なものになるだろうという点には同意する。
「LLMが生成した正当化で反論を続け、ついには管理者を疲弊させて修正をマージさせた」というくだりがある。
私が参加しているオープンソースプロジェクトでは、管理者を 圧倒しようとしたらブロック される。パッチを盲目的にマージしたりはしない。この話で最も衝撃的な部分の一つがまさにそこだ。
最悪なのはこれだ。
「さらにWilliamsonは、Giovanniniまたはそのエージェントが誤ったパッチを提出した後、反対意見に対してLLMが生成した正当化で応答し、最終的に管理者を圧倒して修正をマージさせたと述べた」
誰かがあなたの作ったプロジェクトにある機能を本当に欲しがっていて、あなたはその機能に興味がないなら、単にフォークさせればいい。それで構わない。
まさにその理由で、モデルが書いたPRに対して論理で勝とうとするのをやめた。安定した答えは手続きだった。最初から往復回数を制限し、その後はスレッドを閉じること。疲れない何かを議論で打ち負かそうとするのは負け戦だ。
最初は「お前のエージェントをちゃんと並ばせておとなしくさせておけ!」みたいな軽い冗談を言うつもりだったが、読むほどにかなり怖い状況になってきた。
潜在的なサプライチェーン攻撃はさておき、監督のないAIエージェント が受け手側の人々を無駄な作業に引きずり込み、時間を浪費させることが気がかりだ。
管理者がこうしたものを真剣に受け止めれば、その時間も大きく失われるし、たいてい実際にそうしているようだ。だが、エージェントを動かす側が、他人をこのように扱うことをどうして許容できるのか分からない。
解決策は基本的な礼儀を守ること、つまり「あなたがこれを書くのに労力を費やしたのだから、自分も読むのに労力を払う」という実証済みのやり方なのだろうが、こうした ドライブバイ貢献 が殺到すれば、結局は公開フォーラムでエージェント同士が互いに会話する滑稽な状況につながる気がする。
ともあれ話がそれたが、私たちが生きる時代は、最近の荒っぽい時期よりさらに荒々しく見える。
ハックされたと主張する怪しいメッセージ [1] で、ユーザーまたはエージェントはこう言っている。
「私が直接確認したアカウントと行動を識別できるように、私が個人的に確認したすべてのものには『NATCIOS』という用語を使う」
この NATCIOS が何を意味するのか知っている人はいる? インターネットのどこを探してもこの用語は見つからない。正直、この文自体が本当に奇妙で、誰かが健康上の問題を抱えている最中なのではと思うほどだ。
[1] https://lwn.net/ml/all/AS8PR08MB6055AE3054B34F6A567AC95BCF08...
毎日、GPGのWeb of Trust がより良く見えてくる。この20年間、ユーザー側の暗号化と署名を可能な限り避けようとし続けるようなことをしなければよかったのに
よく知っている情報があれば歓迎する。自分が本当に分かっていると主張しているわけではない
タイトルが要点を埋もれさせている。エージェントが動作したアカウントの所有者は、自分のアカウントが侵害された可能性が高いと述べており、調査中の管理者も実際にそうである可能性が高いと見ているようだ
悪いパッチが悪いのは当然だが、すでに余裕のない管理者に自信ありげなノイズを生み出すのは本当に良くない
イシュートラッカーと PR はますます信頼しにくくなっている。ただ、AI がオープンソースに 大いに役立つ のも事実なので、出所、自動化されたイシュー上の振る舞い、貢献者の行動の突然の変化に対するガードレールは明らかに必要だ
「5月27日以降、Williamson は Giovannini が個人的に返信し、自分の認証情報が侵害されており、AI システムの背後にいる人物は自分ではないと述べたとした」
それなら簡単だ。すべての変更を最初から存在しなかったかのように巻き戻せばいいのでは?
頭の中で何度も行ったり来たりしている。Fedora は本当に好きだし、その OS が一番しっくりくるが、こうした継続的な サプライチェーン侵害 は眠れなくなる
同じくらいのコミュニティ規模やビルドシステムなどを備えた Fedora LTS があればと思う。そうした点や透明性が本当に気に入っているからだ
どの OS にも懸念があるのは分かっているし、関連する洞察や議論も歓迎するが、リリース間の滞留時間と自分のシステムに到達するまでの時間のバランス、そして十分な可視性と利用者数のおかげで何かが検知される可能性を考えると、退屈な Ubuntu LTS インスタンスを使うほうが少し安心できる
もちろん今回の件がシステムパッケージではなくインストーラーだったことも分かっている