powered by TechFeed
表示モード
Deep Dive

DownloadsフォルダのAGENTS.mdでAIコーディングエージェントが乗っ取られる — ブラウザの自動保存とエージェントの仕様が組み合わさった攻撃、OpenAI Codexへのテストで成功率90%

10月26日、BleepingComputerが「AI coding agents hijacked using AGENTS.md file in Downloads folder」と題した記事を公開した。ユーザーが何気なくWebページを開いただけで、~/Downloadsフォルダに悪意あるAGENTS.mdファイルが自動保存され、AIコーディングエージェントが乗っ取られる――そんな攻撃チェーンが実証された。OpenAI Codexへのテストでは成功率90%を記録し、Claude Codeだけで同フォルダから1,300回以上のセッションが起動されていたという内部統計も明らかになっている。実際の被害事例の発見から始まった今回の調査は、「設計通りに動作するエージェント」がいかに悪用されうるかを浮き彫りにした。

10月26日、BleepingComputerが「AI coding agents hijacked using AGENTS.md file in Downloads folder」と題した記事を公開した。ユーザーが何気なくWebページを開いただけで、~/Downloadsフォルダに悪意あるAGENTS.mdファイルが自動保存され、AIコーディングエージェントが乗っ取られる――そんな攻撃チェーンが実証された。OpenAI Codexへのテストでは成功率90%を記録し、Claude Codeだけで同フォルダから1,300回以上のセッションが起動されていたという内部統計も明らかになっている。実際の被害事例の発見から始まった今回の調査は、「設計通りに動作するエージェント」がいかに悪用されうるかを浮き彫りにした。


Downloadsフォルダが攻撃の起点になる

AIセキュリティ企業の研究者Gal Weizman(所属企業名はBleepingComputerの元記事を参照)が、顧客のコンピュータ上でAIコーディングエージェントが悪意あるnpmパッケージ「function-color」をインストールしようとしていることを発見した。調査の結果、原因は顧客の~/Downloadsフォルダに置かれていたAGENTS.mdファイルに含まれる悪意ある指示だった。

AGENTS.mdやCLAUDE.mdといったMarkdownファイルは、AIコーディングエージェントにプロジェクト固有の指示(使用ツール、テストの実行方法、コーディング規約など)を与えるための設定ファイルだ。OpenAI CodexやClaude Codeといったエージェントは、作業ディレクトリ内の該当ファイルを自動的に読み込み、そこに記載された指示に従って動作する仕様になっている。実行可能ファイルではないにもかかわらず、悪意ある指示が含まれていれば、エージェントはコマンドの実行、パッケージのインストール、設定変更などを行ってしまう。

この挙動は、いわゆるプロンプトインジェクション攻撃の一形態として位置づけられる。プロンプトインジェクションとは、AIモデルが外部から取り込んだテキスト(ファイル・Webページ・メールなど)に埋め込まれた悪意ある指示を、正規の命令と区別できずに実行してしまう脆弱性の総称だ。AGENTS.mdのようなコンテキストファイルをエージェントが「盲目的に信頼する」のは、それがモデルの動作仕様として設計されているからであり、OpenAIやAnthropicのモデル側に修正すべきバグが存在するわけではない。研究者はこう述べている。

「OpenAIやAnthropicにパッチを当てるべき箇所は存在しない。フォルダ内のAGENTS.mdに従うエージェントは、設計通りに動作しているだけだ。」

この発言が示す通り、本攻撃の危険性は「エージェントが壊れている」のではなく「エージェントが正しく動きすぎる」ことにある。


なぜDownloadsフォルダが危険なのか

攻撃の核心は~/Downloadsフォルダの特性にある。研究者はこう説明する。

「~/Downloadsは特別なフォルダだ。Webがユーザーの操作なしに単独で書き込める、唯一のフォルダがここだ。Webページはユーザーに気づかれることなく、AGENTS.mdという名前のファイルをDownloadsフォルダに保存できる。」

Chrome、Edge、Firefoxはデフォルトで、保存先を確認せずにファイルをDownloadsフォルダへ自動保存する。 Braveではダウンロードの承認を求めるプロンプトが表示されたが、主要ブラウザの多くはダウンロード通知を表示するのみで、ファイルの中身を精査しない。なお「Webが単独で書き込める唯一のフォルダ」という表現は、多くの主要ブラウザのデフォルト設定を前提としたものであり、OSやブラウザの設定によっては動作が異なる場合がある点には留意が必要だ。

WeizmanはPoC(概念実証)ページを公開し、ユーザーが気づかないうちにAGENTS.mdファイルをDownloadsフォルダに保存できることを実演した。BleepingComputerがそのPoCページを検証したところ、「sensitive data here」「line 2」という文字列を含む無害なAGENTS.mdファイルがダウンロードされた。

この手法は、過去に報告されてきたAIエージェントへのプロンプトインジェクション攻撃と構造的に共通している。たとえば、Webページや添付ファイルに隠し指示を埋め込んでエージェントを操作する手法は以前から研究者の間で警告されてきたが、今回はそれを「ブラウザの自動ダウンロード」と「エージェントの設定ファイル自動読み込み」という二つの仕様が組み合わさった形で成立させた点に新規性がある。


攻撃の成功率と実証テスト

研究者が再現した攻撃チェーンの検証結果は以下の通りだ。

  • OpenAI Codexに対して、カリキュレーターアプリを開くよう指示する無害なペイロードで実施したテストで、**成功率90%**を記録(※この数値は無害なペイロードによるテスト環境での結果であり、実際の悪意ある攻撃シナリオでの成功率を直接示すものではない)
  • Claude Codeに対しては、悪意あるCLAUDE.mdファイルを使ってAPIトラフィックを研究者の制御するサーバーにリダイレクトさせることで、エージェントのOAuthトークンを窃取し、**約50%**のテストでコードの実行に成功

さらに、内部統計によれば顧客のうち数百人が~/DownloadsフォルダからClaude Code、OpenAI Codex、Cursor CLIなどのAIエージェントを起動しており、Claude Codeだけで同フォルダから1,300回以上のセッションが起動されているという。Downloadsフォルダに新たにダウンロードしたファイルをAIエージェントに整理・処理させるという使い方が一般化していることが、この攻撃面が見落とされてきた背景にある。


ユーザーが今すぐできる対策

研究者は「これはブラウザとエージェント双方の仕様が組み合わさったリスクであり、防御の責任はユーザー側にある」と指摘する。OpenAIとAnthropicも、エージェントの作業ディレクトリはプロジェクトのルートに限定することを推奨している。

具体的な対策は以下の通りだ。

  • ~/DownloadsフォルダをAIコーディングエージェントの作業ディレクトリに設定しない
  • AGENTS.md、CLAUDE.mdなどの指示ファイルは、エージェントに読み込ませる前に必ず内容を確認する
  • ブラウザのダウンロード設定を「毎回保存先を確認する」に変更し、意図しないファイルの自動保存を防ぐ
  • 承認プロンプトやサンドボックス保護を有効に保つ
  • 信頼できないコードは、本番環境で実行する前に隔離環境でテストする

今回の事例は、AIエージェントの利便性と攻撃面の拡大が表裏一体であることを改めて示している。エージェントが「設計通りに動く」ことそのものがリスクになりうる以上、ユーザー自身がワークフローを見直すことが当面の最善策となる。


詳細はAI coding agents hijacked using AGENTS.md file in Downloads folderを参照していただきたい。