Downloadsフォルダ内のAGENTS.mdファイルでAIコーディングエージェントを乗っ取る手口、研究者が確認

研究者らは、顧客のDownloadsフォルダ内で悪意のあるAGENTSマークダウン指示ファイルを発見しました。このファイルにより、AIコーディングエージェントが不正なnpmパッケージをインストールするよう仕向けられていました。

研究者らはこの攻撃をOpenAI Codexに対して再現しました。さらにClaude Codeに対しても関連する手法を実証し、悪意のある指示だけでOAuthトークンを漏えいさせ、アカウントを乗っ取れることを示しました。

AGENTS.mdなどのマークダウンファイルは、AIコーディングエージェント向けにプロジェクト固有の指示を記したプレーンテキストファイルです。使用するツール、テストの実行方法、従うべきコーディング規約などが書かれています。

Visit Advertiser websiteGO TO PAGE

悪意ある指示に従うエージェント

AIエージェントや自律型ソフトウェアがもたらすリスクを監視するForever Securityの研究者らは、顧客のコンピューター上でこの手口を発見しました。コーディングエージェントが、悪意のあるnpmパッケージ「function-color」をインストールしようとしていたのです。

調査の結果、AIエージェントが悪意のあるnpmパッケージをインストールしようとした原因は、顧客の~/Downloadsフォルダにあった AGENTS.mdファイルだと判明しました。このフォルダはエージェントの作業ディレクトリでもありました。

エージェントは、作業ディレクトリ内の該当するファイルを自動的に読み込み、そこに書かれた指示に従って動作します。

これらのファイルは実行可能ファイルではありません。しかし、悪意のある指示が含まれていると、AIエージェントが利用可能なツールや権限を使って、コマンドの実行、パッケージのインストール、設定の変更などを行う恐れがあります。

研究者らは次のように述べています。「OpenAIやAnthropicが修正すべき点はありません。フォルダ内のAGENTS.mdに従うエージェントは、設計どおりに動いているだけです」

研究者らのテストでは、攻撃者がこうしたファイルを使ってOpenAI CodexやClaude Codeを操作し、コードを実行させたり認証情報を盗んだりできることが確認されました。

悪意のある指示ファイルがどのように標的の~/Downloadsに置かれたのかは、研究者らも特定できていません。ただし、BleepingComputerに対し、悪意のあるページを開くだけで、ユーザーの操作なしにペイロードが置かれる可能性があると説明しました。

Forever Securityは今週公開したレポートで、「~/Downloadsは特別な場所です。Webが自力で書き込める唯一のフォルダだからです」と指摘しています。また、「Webページは、AGENTS.mdという名前のファイルをDownloadsフォルダにこっそりダウンロードできます」とも述べています。

研究者らは概念実証(PoC)を作成し、ユーザーに気付かれずに悪意のあるファイルを~/Downloadsに置く方法を示しました。

BleepingComputerがPoCページを検証したところ、AGENTS.mdファイルがダウンロードされました。中身は無害で、「sensitive data here」と「line 2」という文字列だけでした。

Chrome、Edge、Firefoxなど多くの主要ブラウザーは、既定の設定では、ダウンロードのたびに保存先を尋ねることなく、Webからのファイルをユーザーの~/Downloadsディレクトリに保存します。

BleepingComputerがBraveなど他のブラウザーで試したところ、ダウンロードの承認をユーザーに求める画面が表示されました。これならファイルがダウンロードされたことにユーザーが気付けるはずです。

ただし、Chrome、Edge、Firefoxは既定でダウンロード通知を表示します。ファイルがローカルに保存されると、ユーザーに知らせる仕組みです。

ファイルをDownloadsに置いた後、攻撃を成立させるには、標的が同じディレクトリでAIエージェントを起動する必要があります。そうすれば、エージェントが指示ファイルを読み込み、悪意のある指示を取り込みます。

Foreverの研究者Gal Weizman氏はBleepingComputerに対し、これはよくある使い方だと述べました。AIエージェントを使ってこのフォルダを整理したり、ダウンロードしたばかりのファイルを処理したりする人は多いためです。

Weizman氏によると、社内の統計では、数百の顧客がClaude Code、OpenAI Codex、Cursor CLIなどのAIエージェントを~/Downloadsフォルダから実行しています。同氏はBleepingComputerに対し、Claude Codeだけでも、この場所から1,300件を超えるセッションが開始されたと語りました。

テストで攻撃の実現性を確認

研究者らは、再構築した攻撃チェーンをCodexに対して試しました。電卓アプリを開くだけの無害なペイロードを使い、成功率は90%でした。

別のテストでは、悪意のあるCLAUDE.mdファイルを使い、Claude CodeのAPIトラフィックを自分たちが管理するサーバーへ転送させました。これによりエージェントのOAuthトークンが露出し、サーバーがモデルになりすまして、コードを実行させるツール呼び出しを返せるようになりました。この手法は約50%のテストで成功しました。

研究者らは、このリスクはブラウザーとエージェントの意図された動作が組み合わさって生じると指摘しています。そのため、予防や防御の責任はユーザー自身が直接負うことになります。

~/DownloadsをAIコーディングエージェントの作業ディレクトリに設定するのは避けるべきです。この場所には信頼できないファイルが含まれる可能性があり、エージェントがそれらを指示として解釈する恐れがあります。

OpenAIとAnthropicは、AIコーディングエージェントを、作業対象のプロジェクトディレクトリから実行するよう推奨しています。

作業ディレクトリを該当プロジェクトに限定すれば、エージェントに適切なコンテキストを与えられ、作業範囲も絞れます。無関係な場所にある信頼できないファイルをエージェントが処理するリスクも減ります。

OpenAIとAnthropicに共通する推奨事項は、ホームディレクトリや広範な親ディレクトリではなく、作業対象となる特定のプロジェクトのルートでAIコーディングエージェントを起動することです。作業領域は実用上できるだけ狭く保ち、必要な場合にのみアクセスを広げます。

要点は、作業ディレクトリがエージェントの既定のプロジェクトコンテキストを決め、ツールによってはファイルシステムへのアクセス境界の設定にも関わるということです。

ユーザーは、見慣れないAGENTS.mdやCLAUDE.mdなどの指示ファイルを、AIコーディングエージェントに従わせる前に確認してください。承認プロンプトとサンドボックス保護は有効のままにし、信頼できないおそれのあるコードは、メインのシステムで実行する前に隔離環境でテストしましょう。

翻訳元: https://www.bleepingcomputer.com/news/security/ai-coding-agents-hijacked-using-agentsmd-file-in-downloads-folder/

本記事は bleepingcomputer.com の記事を翻訳・要約したものです。