IBMは、厳格な企業セキュリティ要件を遵守しつつコード作成を支援するよう設計された、独自の自律型開発エージェントのクローズドベータを開始した。同社のプロモーション資料では、このエージェントは模範的な協働者として描かれている。開発者の意図を鋭く理解し、リポジトリに関する包括的な知識を維持し、厳格なコンプライアンス基準を守るという。しかし最近の精査により、憂慮すべき脆弱性が明らかになった。攻撃者が精巧に整形されたテキストをエージェントに与えると、システムが意図せず悪意あるスクリプトを実行してしまう可能性がある。
問題のツールは、IBMが10月に発表した「Bob」で、現在2つの形態で評価が行われている。コマンドラインインターフェース(CLI)と、専用のエージェント型ターミナルモードを備えた統合開発環境(IDE)だ。PromptArmorの研究者は一般公開前にBobを分析し、CLIはプロンプトインジェクションに弱く、被害者のマシン上で任意のペイロードが実行され得ると主張した。さらに彼らは、IDEもAIアプリケーションに典型的なデータ流出シナリオに脆弱であり、レンダリングの癖やネットワークリクエストを通じて情報が吸い上げられる可能性があると述べている。
この脆さはIBMの製品に固有のものではない。ツールへのアクセスと反復的に行動する自律性を備えたエージェント型AIシステムは、長らく本質的に危ういものと見なされてきた。Johann Rehbergerのような研究者は、指示の上書き、脱獄(jailbreaking)、あるいは遠隔コード実行に至る古典的な脆弱性によって、こうしたエージェントが侵害され得ることを繰り返し実証している。実務上、多くのベンダーは高リスクの操作に手動確認を求める「human-in-the-loop(人間の介在)」の安全策を実装することで、これらのリスクを暗黙に認めている。
IBMのドキュメントも同様の予防策への依存を示唆している。同社は注意喚起として、高リスク登録簿に含まれるコマンドをエージェントに自律実行させると、有害な操作につながり得るとしている。緩和策としてIBMは「許可リスト(allow-list)」の使用とワイルドカードパターンの回避を推奨し、曖昧な場合にはエージェントがユーザーの承認を求めることを期待している。
しかしPromptArmorは、これらの防御は穴だらけだと主張している。管理された実験で研究者は、README.mdファイル内に密かに悪意あるシナリオを仕込んだリポジトリをBobに与えた。フィッシング対策トレーニングのチュートリアルを装ったそのファイルには、エージェントが実行すべきコマンド列が含まれていた。最初のコマンドは単純なecho操作に限られ、一見無害で、Bobは律儀に許可を求めた。1回だけ実行するか、恒久的に許可するか、あるいは修正案を提示するか、である。続いてこの攻撃はユーザーの油断を突いた。3つ目のコマンドは表向きは別のechoであるにもかかわらず、悪意あるスクリプトをダウンロードして起動しようとした。ユーザーが以前にechoコマンドに対して「恒久的な許可」を与えていた場合、この後続ステップは追加の確認を回避でき、ペイロードが自動的にインストールされる結果になり得る。
技術的には、Bobには$(command)のようなコマンド置換を禁止するなど、一定のフェイルセーフが設けられている。それでも研究者は、エージェントがプロセス置換を精査できていないことを発見した。これはプロジェクトの縮小(minify)されたJavaScriptコード内で特定された欠陥だ。さらにシステムは、許可されたコマンドが>のようなリダイレクト演算子を介して未許可のサブコマンドと連結されている場合を検知できないとされ、危険な一連の操作が正当な呼び出しとして事実上カモフラージュされてしまう。
PromptArmorのマネージングディレクターであるShankar Krishnanが説明したように、人間による確認は、同じ文字列内に未許可の操作が潜んでいても、「許可リスト」に載ったコマンドだけを承認してしまうことが多い。研究者はこれを競合ソリューションと比較し、たとえばClaude Codeであれば、最初のコマンドが自動承認の対象であっても、複合されたコマンド全体について明示的な同意を求めるだろうと指摘した。
攻撃者がエージェントをうまく誘導して任意のシェルスクリプトを配布・実行させることに成功すれば、破局の可能性は明白だ。ランサムウェアや認証情報の窃取から、デバイスの完全な侵害にまで及び得る。PromptArmorは、このリスクが、開発者が信頼できないコンテンツとやり取りする標準的な職業環境で現実化すると強調する。エージェントは、第三者のドキュメント、フォーラムの議論、さらには他のターミナルツールの出力からさえ、悪意ある指示を取り込む可能性がある。主要な例として研究者は、最も現実的で自己完結した攻撃ベクターとして、見慣れないオープンソースリポジトリを選んだという。IBMにはこれらの発見が報告済みとされる。
翻訳元: https://meterpreter.org/your-ai-my-shell-ibms-bob-agent-caught-running-malware-in-beta-tests/