セキュリティ企業のForever Securityが2026年10月22日、AIコーディングエージェントを乗っ取る手口を公表した。使われたのは、ダウンロードフォルダ(~/Downloads)に置かれた1枚のテキストファイルである。ファイル名は AGENTS.md。エージェントへの指示書として読まれる名前だ。

同社の検証によれば、ChatGPTのOpenAIが提供するCodexは、この指示書に90%超の試行で従って悪意あるパッケージを実行した。ClaudeのClaude Codeは、別の指示書(CLAUDE.md)で約5割が従い、認証トークンが外部へ漏れた。

BleepingComputerが10月25日に報じて広く知られるようになったが、研究の公表は3日前である。この記事は速報ではなく、「何が起きて、使う側は何を変えるべきか」を整理する解説として書く。

⚠ 情報の鮮度について
一次情報はForever Securityの公式ブログ(2026年10月22日付)です。BleepingComputerの報道は10月25日付で、本記事公開時点で研究の公表から約3.5〜4.5日が経過しています。成功率はForever Securityが自社環境で測った値で、試行回数は公表されておらず、第三者による再現は確認できていません。OpenAIとAnthropicの見解は、いずれの出典にも載っていません。

顧客のDownloadsに置かれていた1枚のファイル

発端は、Forever Securityが顧客の端末で見つけた不審な挙動だった。コーディングエージェントが、function-colorという名前のnpmパッケージ(JavaScriptの部品配布所に置かれたパッケージ)を入れようとしていた。調べると、エージェントの作業フォルダである~/Downloadsに悪意あるAGENTS.mdが置かれており、エージェントはその指示に従っていた。

同社はこの挙動を再現する実験を行った。Codexでは実際の悪意あるコードを隔離した仮想マシンで1回走らせ、試行の大半は無害な代用品(電卓アプリを開くだけのもの)で測っている。その結果が次の数字だ。

90%超 Codexが指示書に従って実行した試行の割合
約5割 Claude Codeが別の指示書に従い切った割合
約半数 Downloadsでエージェントを動かしていた同社の顧客

ここで注意したいのは、試行回数が公表されていない点だ。「90%超」は10回中の9回かもしれないし、100回中の90回かもしれない。数字の重みは分母で変わる。それでも、「ときどき従う」ではなく「ほとんどの場合に従う」水準だったという報告は、無視できる大きさではない。

もう一つ目を引くのは3つ目の数字だ。同社の顧客のおよそ半数が、Downloadsフォルダの中でコーディングエージェントを動かしていた。ファイルの整理や、落としたばかりの資料の処理をAIに頼む使い方は珍しくない。危ない置き場所が、ありふれた作業場所と重なっていたことになる。

一言でまとめると──「ソフトの欠陥ではなく、エージェントが指示書を読む仕様そのものを突かれた」。だから修正パッチを待っても片づかず、使う側の置き場所の選び方で防ぐ話です。

AGENTS.mdとは何か──なぜ読み込まれてしまうのか

AGENTS.mdは、プロジェクトの作法(テストの回し方、使ってよいコマンドなど)をAIエージェントに伝えるための指示書である。人間向けのREADMEのエージェント版と考えるとよい。Claude Codeでは同じ役割をCLAUDE.mdが担う。エージェントは起動時にこれを自動で読み、中身を「作業の前提」として扱う。

どこまで遡って読むかは、各社の公式ドキュメントに書いてある。Codexは、プロジェクトの根(通常はGitの最上位)から作業フォルダまでを順にたどってAGENTS.mdを集める。プロジェクトの根が見つからない場合は、いま居るフォルダだけを調べる。Claude Codeは、作業フォルダとその上位の全フォルダにあるCLAUDE.mdを起動時に読み込む。

Downloadsはたいていプロジェクトではない。つまりGitの根が無いので、公式ドキュメントの記載どおりに読めば、Codexはそこに置かれたファイルをそのまま読むことになる。誰が置いたファイルかは問われない。

💡 ブラウザのダウンロードが入口になる
BleepingComputerによれば、Chrome・Edge・Firefoxは既定でファイルを確認なしにDownloadsへ保存します。Braveだけは保存前に許可を求めます。Forever Securityは、WebページからAGENTS.mdを黙って落とさせる試験にも成功したとしています。ただし、顧客の端末でファイルがどう届いたかは、特定できていません。

流れを順に並べると単純だ。①細工したページがDownloadsにAGENTS.mdを落とす。②利用者がそのフォルダでエージェントを起動する。③エージェントは指示書を読み、自分の権限でパッケージの導入やコマンド実行に進む。利用者が悪意あるものを開く操作は、どこにも要らない。エージェントを立ち上げた時点で条件がそろう。

Claude Codeでは「設定の書き換え」から入った

Claude Codeへの攻撃は、パッケージの導入とは別の経路をとった。細工したCLAUDE.mdが、Claude Codeに.claude/settings.jsonを書かせる。書かせる中身は、API宛先を指定するANTHROPIC_BASE_URLを、研究者側が用意したサーバーに向ける設定だ。

以降、Claude Codeの通信は攻撃者のサーバーを通る。Forever Securityは、ここからOAuth(ログイン状態を保つための認証トークン)が漏れ、そのトークンを本物のサービスに対して使い回せたと報告している。さらに、そのサーバーが返す「道具の呼び出し」をClaude Codeが実行すれば、コード実行にもつながる。

項目 Codex Claude Code
使われた指示書 AGENTS.md CLAUDE.md
狙い 悪意あるnpmパッケージの導入・実行 設定書き換えによる通信の横取り、トークン漏えい
同社の報告する成功率 90%超 約5割
確かめるべき設定 ~/.codex/config.toml の [mcp_servers.*] と chatgpt_base_url .claude/settings.json の ANTHROPIC_BASE_URL

成功率の差を「Claude Codeのほうが安全」と読むのは早い。攻撃の目的も手順も違い、試行回数も分かっていない。同じ物差しで比べた数字ではないからだ。分かるのは、どちらのエージェントも、置かれた指示書を一定の確率で信じてしまうという一点である。

この検証の対象はCodexとClaude Codeの2つだけだ。GitHub CopilotやCursorについて、今回の手口を試した結果は出ていない。同様の指示書を読む仕組みを持つ道具は多いが、「危なくない」と確認されたわけでもない。

まだ分からないこと

確定していない点は3つある。

01
最初のファイルの出どころ

顧客の端末にAGENTS.mdがどう届いたかは、特定されていない。Webページ経由の自動ダウンロードは再現できたが、それが実際の経路だった証拠は無い。

02
成功率の分母

90%超と約5割は、試行回数が非公表の自社測定である。第三者の再現も、いまのところ確認できない。

03
ベンダーの見解

OpenAIとAnthropicの公式な反応は、確認できた出典に載っていない。Forever Securityは「両社がパッチを当てる余地は無い」と主張しており、これは研究者側の見方にとどまる。

「パッチする余地が無い」という主張は、考え方としては筋が通る。エージェントは指示書を読むために作られている。読むのをやめれば製品として成り立たない。残る手段は、読む前に確認を挟む、あるいは読む場所を絞るといった製品側の設計変更になる。その判断は、今後の各社の動きで見えてくる。

今日できる確認

コーディングエージェントを使っている人は、次の順で確かめられる。どれも数分で終わる。

A
Downloadsで起動していないか

まずここが分かれ目になる。ファイル整理のためにDownloadsで立ち上げる習慣があるなら、作業フォルダを専用の空フォルダに変える。

B
身に覚えのない指示書が無いか

~/DownloadsにAGENTS.mdやCLAUDE.mdが無いかを見る。自分で置いた覚えが無いものは、中身を読んでから消す。

C
設定が書き換えられていないか

Codexは~/.codex/config.tomlの[mcp_servers.*]とchatgpt_base_url、Claude Codeは.claude/settings.jsonのANTHROPIC_BASE_URLを見る。自分で入れていない値があれば要注意だ。

⚠ function-colorが入っていたら
Forever Securityは、このnpmパッケージが入っていること自体を侵害の目印として扱うよう勧めています。見つかった場合は、その端末で使っていた認証情報を入れ替えてください。承認の確認画面とサンドボックスは、手間でも有効のままにしておくのが同社の推奨です。

Claude Codeの承認まわりの仕組みは、自動実行が既定になった件で扱った。確認画面を減らす方向の設定にしている人ほど、指示書が従われやすい状況に近づく点は押さえておきたい。同じ系統の別の穴は、GitSpawnの記事でも整理している。

編集部の見立て

Editor's Opinion

今回の件で見ておきたいのは、攻撃の巧妙さではありません。AIを選ぶ基準に、「どこで動かすか」という項目が加わったことです。これまでの比較は、賢さや料金や使い勝手が中心でした。今回の手口は、どのエージェントでも作業フォルダの選び方ひとつで結果が変わることを示しています。

もう一点、「ベンダーがパッチできない」という性質は、利用者側の責任が大きくなることを意味します。便利さの源である「指示書を自動で読む」機能が、そのまま入口になる構造だからです。使う側が作業場所を決めるほかに、確実な手当ては今のところ見当たりません。

ただし、数字の読み方には慎重さが要ります。90%超も約5割も、試行回数が分からず、第三者の再現もありません。大きく見える数字ほど、分母の公表を待ってから評価したいと考えています。逆に、顧客の約半数がDownloadsでエージェントを動かしていたという観察のほうが、分母の大きさを別の角度から裏付けています。こちらは、自分の習慣を点検する理由として十分です。

まとめ

Forever Securityは2026年10月22日、ダウンロードフォルダに置いたAGENTS.mdでAIコーディングエージェントを乗っ取れると公表しました。同社の測定では、Codexは90%超の試行で悪意あるnpmパッケージを実行し、Claude Codeは細工したCLAUDE.mdに約5割で従って、認証トークンの漏えいに至りました。

原因は欠陥ではなく、エージェントが作業フォルダの指示書を自動で読む仕様です。同社は「OpenAIとAnthropicにパッチする余地は無い」と主張していますが、両社の見解は確認できていません。成功率は試行回数が非公表の自社測定で、第三者の再現もまだありません。

GitHub CopilotやCursorでの検証結果は出ていません。同社の顧客の約半数がDownloadsでエージェントを動かしていたという点が、影響の広がりを示す手がかりです。

最初に確かめる一点は、/Downloadsの中に自分で置いた覚えのないAGENTS.mdかCLAUDE.mdがあるかどうかだ。見つかれば、その端末の/.codex/config.tomlと.claude/settings.jsonを続けて開くことになる。