人間が各コマンドをレビューすれば AI コーディング エージェントを抑制できるという一般的な思い込みが、厳しい精査に直面しています。 40,000 件を超えるゲーム セッションと 409,000 件を超える個別の承認または拒否の決定を新たに分析したところ、人間のレビュー担当者が AI エージェントからの悪意のあるコマンドのおよそ 3 件に 1 件を見逃していたことが判明し、そもそも「人間参加型」が信頼できるセキュリティ境界なのかどうかについて緊急の疑問が生じています。
この調査結果は、Uber の元スタッフ エンジニアで、Scale X の開発者のセキュリティについて執筆している Alex Wauters 氏が作成したブラウザ ベースのゲームから得られたものです。このゲームでは、プレイヤーは AI コーディング エージェントの人間のレビュー担当者の役割を果たし、時間的制約の中でシェル コマンドを承認または拒否するよう求められます。 「git status」や「npm test」など、一部のコマンドは日常的なものです。他のものは、資格情報を盗み出したり、バックドアをインストールしたり、リモート サーバーに秘密を送信したりしようとする、慎重に偽装された試みです。統計追跡を追加した後、Wauters 氏は、人間の判断が成功する場所と、より多くの場合失敗する場所を詳細に描くのに十分なデータを収集しました。より広範な AI 業界の報道 について詳しくは、この研究はこれまでで最もデータが豊富な実験の 1 つとして際立っています。
最も危険なコマンドは理解するのが最も困難でした
この調査で最も印象的な発見は、重要なディレクトリに対する「rm -rf」などの明らかに破壊的なコマンドが確実に捕捉されたことです。実際に認証情報の窃取に成功した脅威は、ほぼ 3 倍の頻度で見逃されました。ゲーム全体で最もミスされたコマンドは「npm runanalyze」で、エージェントの履歴ログには、資格情報を外部サーバーにパイプするために基盤となるスクリプトが改ざんされていたことが明確に示されていたにもかかわらず、プレイヤーの 64.7% が承認しました。
問題は構造的なものです。 「npm run」のようなコマンドは、プロジェクトの「package.json」ファイルで定義されているスクリプトをすべて実行します。そのスクリプトは、正規のバンドル アナライザーであるか、エージェントが変更した以前のファイル編集によって挿入された悪意のあるコードである可能性があります。それを確実に知るには、開発者は承認する前に変更されたすべてのファイルを検査する必要がありますが、これでは AI コーディング ツールが提供するはずの速度の利点が無効になります。
ゲーム内のこのような偽装ペイロード コマンド 3 つでは、ミス率が 52.5 パーセントであったのに対し、他のすべての資格情報引き出し攻撃のミス率は 28.4 パーセントでした。ペイロードを馴染みのあるスクリプト名の背後に隠すと、許可プロンプトのすぐ上に表示される履歴ログにペイロードが表示されている場合でも、成功率が約 2 倍になりました。
許可疲労は時間の経過とともに警戒心を蝕みます
Anthropic は以前、Claude Code 製品では権限疲労が現実の現象であることを認めており、ユーザーが目にする承認が増えれば増えるほど、それぞれの承認に対する注意が薄れると指摘しました。 Scale X のデータは、この懸念を経験的に裏付けています。プレーヤーがウォームアップするにつれて、各セッションの最初の数コマンドの間はミス率が減少しましたが、疲労または刻々と進む時計のプレッシャーのいずれかに一致して、終わりに向かって着実に上昇しました。
このパターンは現実世界のダイナミクスを反映しています。期限のプレッシャーの下で機能のリリースを急ぐ開発者は、すぐに承認をクリックするという同じインセンティブに直面しており、膨大な量の日常的なコマンドによって、本物の脅威が統計的にまれである干し草の山に針を刺すような問題が発生します。その結果、ユーザーがあらゆるものにゴム印を押すように訓練するシステムが誕生しました。
反対側: 過剰なブロックはすべてを遅くします
この研究では、逆の故障モードも記録されています。標準のビルドやテストの呼び出しを含む、いくつかの真に無害なコマンドは、慎重なプレイヤーによって日常的にブロックされていました。この過剰なブロックによりエージェントの速度が低下し、逆説的ですが、長期的なリスクが増大します。ユーザーが無害であることが判明したコマンドの承認を繰り返し求められると、ノイズによって今後のプロンプトを精査する意欲が損なわれ、最終的には人間によるレビューを完全に排除する完全なバイパスまたは自動承認モードに移行することになります。
Anthropic の自動モードのような機能は、ユーザーにプロンプトを表示する前にコマンドが安全かどうかを自動的に判断することで、この問題を軽減しようとします。しかし、偽装ペイロードに関する研究データが示しているように、人間がプレッシャーの下で信頼できる判断を下すには、目に見えるコマンドの内容であっても十分ではありません。
コンテキストの欠落が中心的な問題です
1 つのコマンド「cat ~/.zshrc」は、ゲーム全体の中で最も意見の分かれるコマンドであり、プレイヤーの 45.9% が承認しました。このコマンドは、シェル プロファイルに秘密を保持していない開発者にとっては無害ですが、認証情報をエクスポートする多くの開発者にとっては API キーが公開されてしまいます。そのリスクは、エージェントが確認できないシステム構成に完全に依存しており、レビュー担当者が覚えていない可能性があります。
他のいくつかのコマンドも、同じ理由で Hacker News ディスカッション スレッドで同様の論争を引き起こしました。根本的な問題は、開発者が、どのファイルが変更されたのか、エージェントが以前のステップで何を行ったのか、システムの現在の構成が何を含んでいるのかといった全体像を把握せずに、セキュリティ上の判断を下すよう求められているということです。あるコメント投稿者が指摘したように、コンテキストのない曖昧なコマンドを検証するようユーザーに求めることは、強力な安全策ではありません。
エージェントのセキュリティの次のステップ
Wauters 氏は、解決策は人間の改善ではなく、ツールの改善であると主張しています。エージェントが認証情報に直接アクセスできないようにサンドボックス化し、コンテキストを厳密に分離し、昇格されたアクセス許可なしでエージェントが実行できる内容を構造的に制限することは、すべて人間の警戒に頼るよりも有望です。こうした安全策が講じられるまでは、人間が名目上関与しているかどうかに関係なく、エージェントに広範な権限を与えることにはリスクが伴います。
この研究は査読済みの学術論文ではなく、ウォーターズ氏もその限界を認めている。このゲームはプレイヤーに脅威について警告し、実際の開発環境を完全に反映していない可能性がある人為的な時間的プレッシャーを加えました。しかし、訓練を受けた人間のレビュー担当者がプレッシャーの下で意図的に偽装された攻撃の 3 分の 1 を見逃すという核心的な発見は、AI コーディング エージェントを導入しているすべてのチームにセキュリティ モデルを再考する理由を与えるはずです。
現在、AI エージェントを使用して構築している開発者にとって、実際的なポイントは、人間参加型システムは最終的には失敗すると想定することです。承認漏れが AWS キーの漏洩やビルド パイプラインの侵害を意味しないように、エージェントの権限とサンドボックスを設計します。このデータは、人間によるレビューを主な防御手段として扱うのは、無駄な賭けであることを示唆しています。
AI の一歩先を行く
AI エージェントのセキュリティ状況は急速に進化しています。最新の AI 開発 と最新の研究情報を入手してください。
AIニュースをもっと読む→