AnthropicとOpenAIのセキュリティツール、サイバー攻撃を助長する恐れ 研究者らが警告

脆弱性の発見やパッチ管理を自動化するために、AnthropicやOpenAIが提供するAIエージェントを導入する組織が増えていますが、こうしたツールが必要とする広範なアクセス権限がかえって攻撃経路になりかねないと研究者らが警告しています。

AI Now Instituteのチーフ・AIサイエンティストであるHeidy Khlaaf氏と、シニア・リサーチ・サイエンティストのBoyan Milanov氏が7月8日に公表した新たな報告書では、AIを活用したコマンドラインインターフェース(CLI)として広く使われているAnthropicの「Claude Code」とOpenAIの「Codex」の2つにおいて、リモートコード実行を可能にする概念実証(PoC)エクスプロイトが示されました。

このエクスプロイトは、Claude Sonnet 4.6・5およびOpus 4.8と組み合わせて使用した場合のClaude Codeと、GPT-5.5と組み合わせて使用した場合のCodexに影響します。

これらのツールは、サードパーティ製オープンソースのコードベースをレビュー・分析させるという、防御目的として一般的に推奨される使い方をさせるだけで、ユーザーのマシン上で悪意あるコードを実行するよう操作できてしまいます。

プロンプトインジェクションの連鎖が引き起こす、静かなリモートコード実行

このPoCエクスプロイトは、架空の攻撃者がオープンソースライブラリのファイル内、たとえばコードのコメントやドキュメント内に、AIによるコマンドの解釈のされ方を操作するよう設計された悪意ある指示を隠すところから始まります。

被害者は、Claude CodeやCodexを「オートモード」あるいは「オートレビュー」モードで使用します。これは、安全と判断されたコマンドを人間の承認を得ずに自動的に実行し、リスクがあるとフラグが立てられたものについてのみ処理を一時停止する標準機能です。

注入された指示はAIの判断を欺くよう作り込まれているため、AIアシスタントは攻撃者による悪意あるコマンドを無害なもの、あるいは日常的な処理であると誤って認識してしまいます。その結果、ユーザーに警告することなく自動的にそれらを実行してしまうのです。

この手口の鍵となるのは、多段階のプロンプトインジェクションとツール使用の悪用を組み合わせた仕組みです。

AIエージェントがリポジトリのスキャンを始める際、単にコードを受動的に読むだけでなく、ソースファイルやスクリプト、ドキュメントを解析してプロジェクトの意味的なモデルを構築します。攻撃者はこの性質を悪用し、信頼できるように見えるファイル(README.mdなど)に自然言語の指示を埋め込みます。すると、モデルはこれを信頼できない入力としてではなく、タスクのコンテキストの一部として解釈してしまうのです。

これらの注入された指示は、エージェントの計画プロセスを作り変えるよう設計されています。

明らかに悪意あることをモデルに直接実行させようとすれば安全機構が発動してしまいます。そこでこの指示は、特定のスクリプト(security.shなど)がプロジェクトのセキュリティワークフローの標準的な一部であると示唆し、そのスクリプトの実行をユーザーの依頼(「セキュリティチェックを実行して」)を完了するために必要な行為として位置づけ、エージェントの目標(脆弱性分析)とも整合させることで、その行為を正当なものに見せかけます。

同時に、リポジトリには次の要素から成る第2段階のペイロードが含まれています。

  • 一般的なツール(リンターや静的解析ツールなど)を実行しているように見えるシェルスクリプト(security.sh)
  • そのスクリプトが実行する隠れた悪意あるバイナリ(code_policies)
  • そのバイナリを無害で、想定されるビルド成果物と矛盾しないように見せかけるおとりのソースファイル(code_policies.go)

エージェントはスクリプトの実行が安全かどうかを判断する際、内部の分類器やヒューリスティックに依拠します。このスクリプトが見慣れたセキュリティツールを参照しており、バイナリが正当なソースコードに対応しているように見え、ドキュメントがその実行を日常的なものとして位置づけているため、エージェントはこの行為を誤って安全であると分類してしまいます。

オートモードやオートレビューモードでは、この分類が極めて重要になります。というのも、エージェントはリスクが低いと判断したシェルコマンドについて、人間の承認なしに実行する権限を明示的に与えられているからです。

その結果、エージェントは自律的に以下を行います。

  1. security.shの実行が依頼された分析の一部であると判断する
  2. ツールインターフェース(シェルアクセスなど)経由でそのスクリプトを実行する
  3. 間接的に悪意あるバイナリを起動する
  4. ホストシステム上で任意コード実行を引き起こす

これによりリモートコード実行が成立します。つまり、被害者はAIに脆弱性の有無をコードベースから受動的にスキャンさせているつもりでも、実際には攻撃者のコードが被害者のマシン上で実行されてしまうのです。

Attack flow from supply-chain compromise of third-party code repository to RCE on the agent infrastructure. Source: AI Now Institute

低いハードルで成立する攻撃

注目すべきは、この攻撃を成立させるために必要な条件がいかに少ないかという点です。特別なフック、プラグイン、スキル、モデルコンテキストプロトコル(MCP)サーバー、カスタム設定ファイルなどは一切必要ありません。どちらのツールも、まったくの標準インストール状態のままで攻撃が成立してしまいます。

被害者に必要なのは、アシスタントを標準の自動レビューモードで実行し、攻撃者の隠し指示が含まれるコードベースを指定することだけです。「このライブラリの脆弱性をスキャンして」といった、ごくありふれた依頼で十分なのです。

研究者らは、Linuxシステム上で両ツールの特定バージョン、具体的にはClaude Codeのバージョン2.1.116、2.1.196、2.1.198、2.1.199、およびCodexのバージョン0.142.4を用いてこれを検証しました。

この発見が重要な意味を持つのは、これらのAIエージェントを防御的なセキュリティ業務に安全に利用できるという前提を揺るがすからです。というのも、攻撃対象領域が、本来の正当な目的のために必要とされるアクセス権限と全く同一だからです。

研究者らは、Anthropicの「Project Glasswing」、Palantirの「MA-S2」規格、OpenAIの「Patch the Planet」および「Daybreak」プログラムなど、安全性が重視される重要インフラに関わるものも含め、自動化されたセキュリティレビューやパッチ適用のためにこれらのツールをより広範に展開しようとする政府や企業の動きがある中で、この発見が持つ意味を強調しています。

研究者らは、この手法はAnthropicやOpenAIのツールに限らず、他のエージェント型AIコーディングプラットフォームにも波及しうると主張しています。根本的な問題はアーキテクチャに起因するものであり、AIエージェントに何を実行して安全かを自ら判断する自律性を与えること自体が、新たな信頼境界を生み出してしまうからです。攻撃者は、人間ではなくAIを欺いて悪意あるコードを安全だと信じ込ませることで、この境界を直接狙うことができます。

Khlaaf氏とMilanov氏は、この報告書が「AnthropicとOpenAIいずれのセキュリティ開示ポリシーの対象範囲にも該当しない」としながらも、両社に調査結果を伝えるため連絡を取り、指摘した問題の検証に協力する用意があると申し出たとしています。

専門家、AIエージェントの安全性を損なうアーキテクチャ上のリスクを指摘

Polygraf AIでAIプロベナンス(来歴)部門を率いるEljan Mahammadli氏は、今回の研究の重要性は使用された特定のエクスプロイトそのものではなく、そこから明らかになった根本的な脆弱性にあると述べています。

同氏によれば、「AIコーディングエージェントには、自らが読み込むテキストと、従うべき指示とを確実に区別する手段がない」といいます。これは、コンテキストウィンドウ内のあらゆる情報が同じ権限を持つものとして処理されるためです。

こうした出所の区別ができないという性質により、一度埋め込まれた悪意ある指示は他の情報と同等に信頼できるものとして扱われてしまいます。これこそが、形を変えながら類似の攻撃が繰り返し出現する理由だとしています。

同氏は、これはより深いアーキテクチャ上の問題を反映しているため、モデルの更新だけで解決できるものではないと主張しています。

「この問題は、これらのシステムが言語をどう扱うかという性質そのものに起因するものであり、学習によって取り除ける欠陥ではない」と同氏は述べています。プロベナンスの観点から見れば、これはエージェントがテキストの出所や、それを信頼すべきかどうかを判断できないという、帰属(attribution)の失敗であると同氏は説明しています。

とはいえMahammadli氏は、AI Nowの研究者らが示唆する「今回の発見が防御的セキュリティにおけるAIの役割を損なう」という見方には異を唱えています。

同氏によれば、問題は、信頼できないデータへのアクセス、コマンド実行、機密性の高い環境への関与を単一のプロセス内で組み合わせ、安全性を判断する分類器のみをガードレールとしているという、よくあるものの欠陥のある設定に特有のものだといいます。

「こうした権限が一箇所に集中している場合、注入された指示が一つあるだけで、エージェントをその運用者に敵対する存在に変えてしまうには十分だ」と同氏は述べ、より強固なランタイム制御と権限の分離が鍵になると主張しています。

また同氏は、直感に反する事実として、より高性能なモデルの方がエクスプロイトの矛盾を検知しながらも、それでも実行してしまう場合があったと指摘しました。これは、より強力なモデルの方が本質的に安全であるという前提に疑問を投げかけるものです。

「より高性能で、より従順なエージェントは、単に、届いた指示が何であれそれをより効果的に実行してしまう存在になりかねない」と同氏は述べ、重要システムへの導入が、この根本的な信頼の問題に対する解決策よりも速いペースで進んでいると警告しています。

画像提供: Robert Way / gguy / Shutterstock.com

翻訳元: https://www.infosecurity-magazine.com/news/anthropic-openai-report-exploit/

ソース: infosecurity-magazine.com