AIエージェントの操作、人間が3分の1を見落とす?4万回のゲーム検証で判明したセキュリティの盲点
Humans missed 1 in 3 threats approving AI agent commands across 40k game runs
Humans missed 1 in 3 threats approving AI agent commands across 40k game runs
4万回に及ぶゲームプレイのシミュレーションにおいて、AIエージェントが実行したコマンドのうち、人間が承認すべき脅威の3件に1件を見逃していたことが明らかになりました。AIの判断を人が監視する「ヒューマン・イン・ザ・ループ」の仕組みがあっても、ヒューマンエラーによるセキュリティリスクは依然として深刻な課題のようです。
数ヶ月前、AIエージェントの権限確認ゲームをここに投稿したんだけど、その後統計機能を追加したら4万回以上プレイされて、40万9千件の判断が行われたんだ。ただのゲームだけど、興味深い結果が出たから共有しておくね。事前に警告を表示していても脅威の3回に1回は見逃されてたし、npm runコマンドの履歴ログは基本的に無視されるみたいだ。前回のスレッドで出たフィードバックや洞察も反映させたよ。特にdns_snekのnpm runに関する指摘は助かった。遊んでくれて、フィードバックをくれたみんなに感謝!
「常にユーザーに許可を求めて、絶対にミスをしないことを祈る」っていうセキュリティモデルのソフトがいまだに出てるのは面白いね。何度も試されてきたけど、うまくいったためしがないよ。
「はい」を押して進めるっていうのは、最初からまともなセキュリティメカニズムじゃないよ。AIベンダーが「ユーザーが承認したんだから自己責任だよね」と言い訳するための、自分たちを守るためのクリック式免責事項に過ぎないよ。
このゲームが投稿された時のことを覚えてるけど、当時も議論が活発だったよね。「このプロンプトは危険なのかどうか誤解を招く」とか「危ないとフラグが立ったのに実際はそうでもない」とか、逆にその逆もしかり。これってテスト自体に根本的な欠陥があるし、分析結果を無意味なものにしてるよ。あと、ゲームにタイマーがあったのもどうかな。よほど酷い職場ならそういうプレッシャーを感じるかもしれないけど、普通は承認する前に何が求められているのか確認する時間を取るはずだ。
これは「たまに悪いことをするかもしれないけど、1000回中999回は大丈夫だよ」っていう類すべてのプロンプトでお決まりの問題だね。ユーザーは反射的に「はい」を押すようになって、プロンプトを読まなくなる。「ファイルを全部消去してもいい?」って聞かれたら「もちろん、いいよ」って感じさ。たまにしか来ない「いいえ」が本当に重要になる時まで、選択肢が「はい」しかないような質問を投げかけるのはもうやめてほしいよ。
こういうツールに、承認するたびにウェブカメラを使って「指差呼称」(https://en.wikipedia.org/wiki/Pointing_and_calling )を強制するプラグインが必要なんじゃないか?
自分がメンテしてるプロジェクトでは公言してないけど、AIによるPRを受け入れるハードルはかなり高く設定してるよ。今のところ、人間が書いたものとほとんど見分けがつかないものしか承認していないな。たいていの場合、少しでも内容を変更するように伝えると音沙汰なくなるんだよね。自分が公式に意見しなきゃいけないと感じてるのは、低品質なAI PRの問題だ。バックログには、ちゃんとやれば数行で終わるような修正がいくつかある。問題はコードを書くことじゃなくて、提出されたコードについてあーだこーだやり取りする労力の方さ。何度もやり取りするくらいなら自分で書いた方が早いし、実際そうしてPRをクローズしたことも何度かある。大事なのは2行のコードじゃなくて、それに付随するはずのテストやドキュメント、リリース管理、そしてユーザーの2%が気付くような破壊的変更への対応なんだよ。だから適当な1〜2行の修正を投げてこられても腹が立つだけで、コミッターとして迎えようとは到底思えない。AIのおかげでそれがさらに手軽になったから、最近は二人の人間が同時に同じようなことをやってきたりするんだ。
このゲームは、ほとんどのゲームと同じで、失敗してもペナルティがゼロだよね。「F1のシミュレーターで遊んでいる時に50%の確率で人間が死亡事故を起こした」って言っているようなものだよ。何の賭けもなくて、人工的な時間制限があるだけ。このデータから結論を導き出すなんて全く無意味だね。
表に示されている人間の「見逃し率」と、全く同じテストを別のLLMに実行させて、各アクションを承認または拒否させた場合を比較したら面白いかもしれないね。人間を介さず、結果を記録して最後にパス/フェイルを測定するんだ。有害な操作やデータ漏洩を防ぐように、かなり具体的で賢いシステムプロンプトを与えておいてね。
あ、Warhammer 40Kのゲームに関するAIテストかと思って一瞬ワクワクしちゃったよ:)