「AIエージェントの承認依頼」で人間は3回に1回、悪意ある命令を見落としている

AIセキュリティエージェントプライバシー

データソース:HN + web research · HN

4万回のゲームセッション、40.9万回に及ぶ「許可か拒否か」の判断において、人間は潜んでいた悪意ある命令の3分の1を見落としていた。これはScaleXが先月公開したブラウザミニゲームで収集された実データである。ゲームの冒頭でプレイヤーには「命令の中に悪意あるものが含まれているため、注意深く確認してください」と明示的な警告が示されていたが、その警告はほとんど効果を発揮しなかった。

AIアシスタントは一般の生活に急速に浸透しつつある。文章の作成、ファイルの整理、チケットの予約、メッセージの返信など、作業を1ステップ進めるごとに「実行を許可しますか?」というポップアップが表示される。プレイヤーが「許可」をクリックすれば処理が進み、「拒否」をクリックすれば別の手段が試みられる。業界ではこの仕組みを「Human-in-the-Loop(HITL)承認」と呼び、人間に最終防衛線を委ねている。これはインターン生にセキュリティカードを渡し、彼が一歩進むたびに「これやっていいですか?」と振り返って聞いてくるのに対し、こちらが忙しさの合間に生返事で頷いているような状態に等しい。

この実験では、その承認プロセスがゲーム化された。プレイヤーは承認者となり、カウントダウン制限の中で各命令が正常な操作か悪意ある操作かを迅速に判断する。一度誤判定すると点数が減点される。データベースの削除といった一目で分かる攻撃もあれば、データをひそかに未知のサーバーへ送信する潜伏型の攻撃も含まれていた。

4万回の「門番テスト」

成績は決して芳しいものではなかった。平均してプレイヤーは悪意ある命令の3分の1を見落とし、全体的な正確率は66.3%にとどまった。32.9%のゲームがマイナススコアで終了しており、脅威の見落としや安全な操作の誤ブロックによる減点が、正解によって得た得点を上回ってしまった。35.2%のプレイヤーはすべての悪意ある命令を捕捉できたが、通常の精査によって達成できたのはそのうちの20.8%にすぎず、残りは「すべて一律で拒否する」という極端な手法によるものだった。さらに、7%のプレイヤーは何もブロックせず、すべての要求を許可していた。

ゲーム全体の統計データ 図:4万回のゲーム全体における統計。出典:scalex.dev

エンジニアリング的な視点での冷徹な分析:このテストに参加した人々は自分がテストを受けていることを自覚し、明確な警告を受け、誤りごとに減点される環境にいた。しかし、現実の業務環境には警告も減点も存在しない。実際の状況下での成績は、おそらくさらに悪化するはずだ。

最も承認されやすい命令こそ、最も阻止すべきもの

悪意ある命令をカテゴリ別に分解すると、見落とし率には大きな開きが見られた:

  • データベース削除やフォーマットなどの「明確な破壊型」:見落とし率 11.7%
  • システムへのバックドア設定や自動起動項目の変更:見落とし率 23.8%
  • データを密かに未知のサーバーへ送信:見落とし率 33.4%
  • パスワードや秘密鍵などの機密ファイルの不正読み取り:見落とし率 35.0%

傾向は極めて明確である。ユーザーが最も防ぎやすいのは「露骨な破壊行動」であり、最も通してしまいやすいのは「データの窃盗」である。データ送信命令の見落とし率は、データベース削除の3倍に達した。攻撃者が最も欲しがる情報こそ、人間が最も無防備になる対象だったのだ。

「アナリティクスの実行」:無害な名称、すり替えられた中身

最も悲惨な記録を残したのは「アナリティクスの実行」という名称の命令で、プレイヤーの64.7%がこれを許可した。全37種類の脅威の中で最も多く見落とされた命令である。その名前自体は完全に無害に見えるが、ポップアップ上部に表示されたログには、その「分析」スクリプトの本当の内容が白黒はっきりと記録されていた。ローカルデータをパッケージ化し、未知の遠隔サーバーへ送信するという内容である。それにもかかわらず、3分の2の人間が「許可」を押してしまった。

ここには分解して理解すべきメカニズムがある。この種の命令はデスクトップ上のショートカットのようなものである。名前は「データ分析」となっていても、実際に実行されるスクリプトの内容はプロジェクトファイル内に記述されている。重要なのは、AIアシスタントがプロジェクトファイルを修正する際にはユーザーの承認を必要としない点だ。AIはまずファイル内に爆弾を仕込み、その後で振り返って「点火していいですか?」と尋ねてくる。フォーラムではプレイヤーがこの構造を次のように指摘していた:ファイルの変更には承認が不要で、ファイルの実行には承認が必要。攻撃者はまさにこの間隙を突いている。

同種の隠蔽型命令3種類の合計見落とし率は52.5%に達し、その他のデータ窃盗攻撃の28.4%を大きく上回った。悪意ある内容を使い慣れた名称の裏に隠すことで、攻撃の成功率は倍増する。偽装は破壊よりも遥かに効果的だった。人間は見ていなかったわけではない。聞き覚えのある名前を見て、細部の確認をスキップしてしまったのだ。

後半に進むほど、チェックが甘くなる

データはさらに、各ゲームの終盤に向けて見落とし率が顕著に上昇することを示していた。序盤の数条の命令ではプレイヤーも集中してウォーミングアップを行っているが、時間が経過するにつれて集中力は着実に低下していく。制限時間に追われ、少しでも高いスコアを獲得しようと、直感に頼って反射的に「許可」を押すようになる。著者はAnthropicの言葉を引用している:「ユーザーが受け取る承認要求が増えれば増えるほど、個々の要求に対する注意量は減少する」。

ゲーム経過に伴う見落とし率の変化 図:ゲームが進むにつれて高まる見落とし率。出典:scalex.dev

摩擦は双方向に作用する。本来安全な3つの命令——内部パッケージリポジトリの設定、ビルドキャッシュの消去、停止したローカルサービスの再起動——は、それぞれ59%、45%、43%のプレイヤーによってブロックされた。過剰な誤検知は慣れと麻痺を生む。麻痺した状態では、本物の脅威が現れても防ぐことができない。これは「オオカミ少年」の現代版であり、この対立によって真に消費されているのは、人間の自然な注意力である。

実験自体をめぐる激しい議論

この実験の手法については、Hacker News上で激しい議論が巻き起こった。批判者たちは次のように主張した:一部の設問自体に曖昧さがある(例:「個人設定ファイルの読み取り」は、ある作業においては無害だが、別の状況では漏洩となる);制限時間によるプレッシャーが現実的ではない;アンド最も根本的な批判として、プレイヤーは自分がテストされていることを知っているのに対し、現実のユーザーが自身のAIアシスタントを常に敵対的に監視することはない、という点だ。

著者のUber出身のシニアエンジニア(HN名 Wirbelwind)は、これらの批判に一つひとつ回答した。彼は2つの設問に実際に曖昧さがあったことを認め、指摘後すぐに修正を行った。しかし、修正後も見落とし率は低下しなかった。異なる期間のゲームデータを比較しても、全体の見落とし率は一貫しており、HNからのトラフィックが集中していない時間帯のデータはむしろ悪化していた。

設問を明確に修正しても、見落とし率は変わらなかった。問題は設問にあるのではなく、人間の側にあるのだ。

公平に言えば、擁護派の主張にも一理ある。ゲーム内の命令の34%は悪意あるものであったが、現実世界における脅威の密度はこれほど高くない。ゲーム内の高い脅威密度によってプレイヤーは警戒心を高められていたため、現実の行動はさらに緩くなる可能性がある。しかし、どちらの立場であれ、一つの事実には同意している:人間は次々と流れてくる命令の列を継続的に監視・判断することに向いていない、という点だ。

現実はおもしろいほどゲームよりも深刻だ

Hacker Newsで最も多くの賛同を集めたコメントは、プログラマー pllbnk によるものだった:現実において、ユーザーがAIアシスタントの実行内容をいちいち読み込むことなどあり得ない。彼は自身のAIアシスタントが現在実行中の命令を提示した。それは一時ディレクトリ内のスクリプトを指しており、ファイル名には hidden(非表示)の文字が含まれていた。彼はそれが実際に何をしているのか全く分からないと認めた。「これまで毎回問題なかったのに、なぜ今回に限って問題があると言うのか?承認だ!」もしすべての命令を理解しなければならないなら、AIがもたらす生産性向上のメリットは完全に消失してしまう。

別のコメントはさらに直接的だった:承認ボタンはセキュリティ機構として機能しておらず、ベンダーの免責事項にすぎない。問題が発生した際、弁護士は「あなたが承認したのだから、責任はあなたにある」と言えるからだ。この指摘は辛辣だが、3分の1という見落とし率と合わせて考えると、決して誇張ではない。

一般ユーザーに向けた3つのアドバイス

この実験の参加者はソフトウェアエンジニアであったが、同様の承認メカニズムは一般ユーザーのスマートフォンやPC環境へも急速に広がっている。モバイルやOSレベルのAIアシスタントは、すでにアプリの操作、ファイルの読み込み、メッセージの送信、決済などを自律的に行い、主要な操作の前に「許可しますか?」と尋ねてくる。AIアシスタントの能力が拡大する一方で、人間の注意力のリソースが増えることはない。ダイアログの頻度が高まるほど、ユーザーの承認は雑になる。AIを利用したフィッシングや誘導タップも全く同じ心理を突いている:注意が散漫になった一瞬を狙い、一見無害に見えて実際にはリスクのある確認を行わせるのだ。

一般ユーザー向けのアドバイスに専門的な技術知識は不要だ。第一に、AIアシスタントに万能の権限を与えず、必要な権限のみを最小限で付与すること。第二に、パスワードや認証コード、決済などの重要な操作については、手動での二次確認を惜しまないこと。第三に、頻繁に表示される「許可」という文字に対して、常に一定の警戒感を保持すること。

真に改善されるべきはシステム構造である。著者が提示する解決の方向性は「サンドボックス化」だ。AIアシスタントを隔離された環境で動作させ、仮に攻撃者に悪用されたとしても重要なファイルにアクセスできないようにする。さらに機密情報は独立して管理し、アシスタントが手軽に読み込めない構造を作る。防衛の軸を「人間の注意力」から「システム構造」へと移行させること——データはすでに、前者が持ちこたえられないことを証明している。

4万回のゲームセッションが証明した一つの事実:承認ダイアログは、セキュリティの責任を人間の最も希少なリソースである「持続的注意力」に丸投げしている。そしてその注意力は、時間の経過、反復、そして見慣れた名称の前にすり減っていく。次回AIアシスタントから「許可しますか?」と問われたとき、もう一秒だけ踏みとどまって考える価値がある。その一秒が、実験で見落とされた「3分の1」からあなたを守るかもしれない。

参考リンク:

  • ScaleX: Humans missed 1 in 3 threats approving AI agent commands across 40,000 plays
  • HN 議論 (item?id=49195468)
  • Developers Digest: Approval Fatigue Is an Agent Security Bug
  • TechMedia: データベース消去からメール削除まで:AIアシスタントの「致命的脆弱性」