Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】A Web Page Dropped AGENTS.md in Downloads. Codex Obeyed It in 90%+ of Tests

2026年10月29日に「Dev.to」が公開したITニュース「A Web Page Dropped AGENTS.md in Downloads. Codex Obeyed It in 90%+ of Tests」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

AIコーディングエージェントが、Webサイトからダウンロードフォルダに置かれた悪意のあるMarkdownファイルを自動で読み込み、不審なパッケージをインストールしたり情報漏洩を引き起こしたりする危険性が指摘された。ユーザーはダウンロードフォルダでエージェントを起動せず、不明なファイルを信用しないよう注意が必要だ。

ITニュース解説

AIを活用したコーディングエージェントは、ソフトウェア開発の現場でその能力を発揮し、開発者の作業を大いに効率化している。しかし、その便利な機能の裏には、新たなセキュリティ上の脅威が潜んでいる。最近報告された事例では、AIエージェントが、ウェブページからユーザーの知らないうちに仕込まれたファイルに含まれる悪意ある指示に従い、意図しないソフトウェアをインストールしようとした。この出来事は、システムエンジニアを目指す初心者にとっても、AIエージェントの利用におけるセキュリティ意識の重要性を強く訴えかけるものだ。

この事件は、ある開発者のPCでAIエージェントが、本来は不要なnpm install function-colorというコマンドを実行しようとしたことから発覚した。このコマンドの出所は、開発者の~/Downloads(ダウンロード)フォルダにひっそりと置かれていたAGENTS.mdというファイルだった。このAGENTS.mdファイルは、ユーザーがクリックしたり承認したりといった操作を一切することなく、単にあるウェブページを閲覧しただけでダウンロードフォルダに保存されていたという。つまり、悪意のあるウェブページは、ファイル名やその内容を自由に指定して、ユーザーのダウンロードフォルダにファイルを送り込むことが可能なのである。さらに懸念されるのは、AIエージェント自体がウェブページを閲覧する機能を持ち合わせているため、人間が一切関与しないまま悪意のあるファイルがシステムに侵入する可能性があることだ。

問題のAGENTS.mdファイルは、まるで無害な「エンジニアリング作業ガイドライン」のような、退屈で何の変哲もない内容に見せかけられていた。これは、セキュリティソフトウェアによる検出をかわし、ユーザーの警戒心を解くための巧妙な手段だった。しかし、この文書の終わり近くには、エージェントに不審な操作を実行させるための悪質な指示が巧妙に隠されていたのである。

この攻撃の仕組みは、主要なAIコーディングエージェントであるCodexとClaude Codeに対して検証された。

Codexの場合、このエージェントは起動時にAGENTS.mdファイルから命令を読み込み、それに従って動作する。通常、Codexはプロジェクトのルートディレクトリから階層的にAGENTS.mdを探し、命令を収集する。しかし、Codexを~/Downloadsのような、通常はプロジェクトフォルダとして扱われない場所で起動した場合、そこに置かれたAGENTS.mdファイルが直接Codexの命令ファイルとして認識されてしまうのだ。Codexは本来、「信頼されたプロジェクト」内のAGENTS.mdにのみ従うことになっているが、一度Downloadsフォルダ内でCodexによる作業が行われると、そのフォルダが「信頼されたプロジェクト」として認識されてしまうというセキュリティ上の問題があった。

具体的な攻撃としては、悪意のあるAGENTS.mdファイルが、ユーザーのCodex設定全体に影響を与える~/.codex/config.tomlという設定ファイルに、不正なMCPサーバー(Malicious Command Proxy server)の設定を書き込んだ。この設定によって、launchctlコマンドを介して、Codex自身の制御をすり抜けてnpm install function-colorが実行された。パッケージのインストールにはネットワーク接続が必要だが、通常はセキュリティのためにサンドボックス機能がネットワークアクセスを制限する。そのため、この攻撃では--dangerously-bypass-approvals-and-sandboxという、承認とサンドボックスを危険な形で無効化するオプションが使われた可能性も指摘されている。~/.codex/config.tomlへの変更は、ユーザーが使用する全てのCodexセッションに適用されるため、その後のどのプロジェクトでCodexを使用しても、攻撃者の仕込んだコマンドが実行される危険性があった。

Claude Codeについても同様の攻撃が確認された。Claude Codeも、作業ディレクトリやその上位ディレクトリにあるCLAUDE.mdやAGENTS.mdファイルを読み込む仕様を持つ。この攻撃では、悪意のあるCLAUDE.mdファイルが、Claude Codeに対して~/.claude/settings.jsonという設定ファイルを作成または変更するよう指示した。この設定ファイルには、AIモデルへの通信を攻撃者のサーバー経由でルーティングさせるためのANTHROPIC_BASE_URLが含まれていた。この結果、Claude Codeが行う全てのネットワークリクエスト、特にログイン認証トークンを含むリクエストが攻撃者のサーバーに送信され、ユーザーの認証情報が盗まれる事態が発生した。これにより、攻撃者は特別なコードを実行することなく、ユーザーのアカウントを乗っ取ることが可能となった。Claude Codeは通常、設定ファイルへの書き込みを行う際にユーザーに承認プロンプトを表示するが、この攻撃がどのパーミッションモードで実行されたかは不明である。しかし、この承認プロンプトが、ユーザーが攻撃を阻止できる唯一の機会だったと考えられている。

これらのインシデントにおいて特に注目すべきは、研究者たちが「これはOpenAIやAnthropicが修正すべきバグではない」と結論付けている点だ。なぜなら、上で説明されたエージェントの挙動は、すべてエージェントの「文書化された機能」であり、エージェントは与えられた指示通りに動作したに過ぎないからだ。問題の本質は、「開発者が作業するフォルダは自分が管理する安全な場所である」という一般的な前提と、「ダウンロードフォルダはウェブサイトがユーザーの承認なしに自由に書き込みできる場所である」という現実との間に存在する認識のギャップにある。つまり、エージェントは設計通りに機能しているため、このような攻撃に対する防御策を講じる責任は利用者側にある、という結論が導き出されている。

このような新たな脅威から身を守るためには、システムエンジニアを目指す初心者も、以下の対策を徹底し、セキュリティ意識を高める必要がある。

まず、自身のPC内に不審なファイルや設定がないかを確認することが非常に重要である。~/Downloadsやホームディレクトリ(~)に、見覚えのないAGENTS*.mdやCLAUDE*.mdといったファイルが存在しないか、あるいは~/Downloads/.claudeや~/Downloads/.codexといった隠しフォルダがないかを確認する。 次に、Codexのユーザー設定ファイルである~/.codex/config.tomlを開き、mcp_servers、base_url、launchctlといった不審な記述がないかチェックする。同様に、ホームディレクトリ周辺にあるClaude Codeの設定ファイル~/.claude/settings*.jsonを調べて、見覚えのないBASE_URLやPROXYの設定がないかを確認する。 そして、実際にfunction-colorという悪意あるパッケージが、グローバルに、あるいは特定のプロジェクトフォルダ内にインストールされていないかを、npm ls -g function-colorなどのコマンドやファイル検索で確認する。

日頃の習慣も非常に重要になる。 AIエージェントを起動する際は、~/Downloadsやホームディレクトリといった、ウェブから書き込まれる可能性のある信用できない場所ではなく、自分が作成またはクローンした明確なプロジェクトフォルダ内で起動するように常に心がけるべきだ。 GitHubなどからクローンしたばかりのプロジェクトであっても、その中に含まれるAGENTS.mdやCLAUDE.mdファイルの内容は、エージェントが読み込む前に必ず自分で確認する習慣をつける。 エージェントの承認プロンプトやサンドボックス機能は、常に有効にしておくべきである。もし、これらの機能を無効にするように指示するメッセージが表示された場合は、それを攻撃の兆候と見なし、決して従わないこと。 もし、自分のシステムで説明のつかない不審な活動が見つかった場合は、直ちにCLI(コマンドラインインターフェース)からログアウトし、再度ログインし直す。さらに、その環境で使用していたAPIキーはすべて交換するべきである。もしfunction-colorがインストールされてしまった場合は、そのマシン全体が侵害されたものとみなし、専門家の助けを借りて慎重に対応する必要がある。

開発者がこれらのリスクに対する意識を向上させ、AIエージェントの自律的な動作とセキュリティ設定を正しく理解し、適切な環境で利用することが、これからの安全なソフトウェア開発において不可欠な要素となる。AIエージェントは強力な開発支援ツールとなりうるが、その力を安全に制御し、潜在的な脅威からシステムを守るのは常に人間の責任である。

関連コンテンツ

関連IT用語