Claude Code・Codexのセキュリティ|指示ファイル悪用の手口と対策
この記事の要点
- 2026年10月22日、Forever Securityは、顧客端末のダウンロードフォルダでAIコーディングエージェントに不正なnpmパッケージを入れさせる指示ファイルを見つけたと公表しました。
- 研究者の検証では、Codexは90%を超える試行で仕込まれた指示に従いました。Claude Codeでも、研究者が作った別の手口が約半数で成功しています。
- 研究者は、悪用されたのは不具合ではなく「作業フォルダの指示ファイルに従う」という設計どおりの動作で、修正パッチでは塞がらないとしています。利用する企業の運用で防ぐ必要があります。
- 10月15日にはSymantecが、窃取型マルウェアAokiがClaude・Codex・Cursor・Geminiなどの認証情報を盗むようになったと報告し、AIツールの鍵も狙われています。
- 企業が今週やることは、ダウンロードフォルダで起動しない周知、指示ファイルと設定ファイルの点検、承認とサンドボックスの維持、不審時のトークン再発行の4点です。
Claude Code や OpenAI の Codex のような AIコーディングエージェント は、起動したフォルダにある「指示ファイル」(AGENTS.md や CLAUDE.md)を自動で読み、そこに書かれた手順に従って作業します[6][9]。2026年10月22日、この仕組みを逆手に取り、ダウンロードフォルダに置いた指示ファイルでエージェントに不正なソフトウェアを入れさせようとした実例を、Forever Securityが公表しました[1]。
開発者だけの話ではありません。研究者によると、ダウンロードフォルダの整理や、ダウンロードしたばかりのファイルの処理にAIエージェントを使うのはよくあることで[2]、同社の顧客の約半数がダウンロードフォルダでコーディングエージェントを動かしていました[1]。
この記事では、何が起きたのか、なぜ指示ファイルひとつでエージェントが操られるのか、AIツールの認証情報を狙うマルウェアの動き、そして企業が今週点検すべき場所を順に整理します。情報は2026年10月29日時点のものです。
ダウンロードフォルダの指示ファイルで何が起きたのか?
AIエージェントの動きを監視するForever Securityが、顧客の端末で、コーディングエージェントが既知の不正なnpmパッケージ「function-color」を入れようとしたのを作業の途中で止めました[1]。命令の出どころをたどると、ダウンロードフォルダにあった AGENTS.md で、そのフォルダがエージェントの作業フォルダにもなっていました[1][2]。
見つかった AGENTS.md は約13KBの「開発作業ガイドライン」風の長い文書で、攻撃の部分は終わり近くの1節に、ごく普通の環境準備の説明として紛れ込ませてありました[1]。短くて露骨な「このパッケージを入れて」という指示はエージェントに拒否されるため、長い業務文書の体裁をとったと研究者は分析しています[1]。
ファイルがどうやってダウンロードフォルダに置かれたかは分かっていません[1][2]。研究者は、Webページを開くだけで利用者が気づかないうちにファイルを保存させられると指摘し、それを示す検証用のページも用意しました[1][2]。BleepingComputerによると、Chrome・Edge・Firefoxは既定で保存先を尋ねずにダウンロードフォルダへ保存し、ダウンロードの通知を表示します。同社が試したBraveでは、ダウンロードの承認を求められました[2]。
エージェントが入れようとした function-color は、2023年8月から活動する単一の運営者とみられる不正パッケージ群「MALFEX」の一つとして、Checkmarxが10月5日に報告していたものです[4]。npmは10月7日に、このパッケージを中身を差し替えた無害な版に置き換えています[5]。
2025年7月18日
function-color 1.0.0 がnpmに公開
のちに不正パッケージと報告される版の公開[5]
2026年10月5日
Checkmarxが不正パッケージ群「MALFEX」を報告
function-colorは別の不正パッケージ function-flag を包んで配る役割(ラッパー)で、報告時点では入手可能だった[4]
10月7日
npmがfunction-colorを置き換え
セキュリティ上の理由で中身を差し替えた版(0.0.1-security)が最新版になった[5]
10月15日
Symantecが窃取型マルウェアAokiの新機能を報告
AIコーディングツールの認証情報を盗む機能が加わった[3]
10月22日
Forever Securityが指示ファイル悪用の実例を公表
Codexでの再現と、Claude Codeでの別の手口の検証結果を公開した[1]
10月25日
BleepingComputerが報道
研究者への取材と、主要ブラウザのダウンロードの既定動作についての説明を掲載した[2]
日付は各発表元の表記(米国時間または協定世界時)に基づきます。日本時間では、Checkmarxの報告は10月6日、npmの置き換えは10月8日、BleepingComputerの報道は10月26日にあたります[2][4][5]。
なぜ指示ファイルひとつでAIエージェントが操られるのか?
指示ファイルは、エージェントが「従うために読む」ファイルだからです。そしてダウンロードフォルダは、Webから外部のファイルが入ってくる場所です。この2つが重なると、Web上の第三者が書いた文章が、利用者自身の指示と同じ重みでエージェントに届きます[1]。
OpenAIの公式ドキュメントによると、Codexは作業を始める前にAGENTS.mdを読み、Gitリポジトリのルートから現在のフォルダまでを順にたどって指示を集めます。ルートが見つからなければ、現在のフォルダだけを確認します[6]。Claude Codeも、作業フォルダとその上位のフォルダにあるCLAUDE.mdを起動時に読み込みます。CLAUDE.mdが無い場合は、同じ範囲にあるAGENTS.mdを既定で読み込みます(v2.1.277以降)[9]。ダウンロードフォルダに置かれたAGENTS.mdは、Codexだけでなく Claude Code の利用者にも届きうるということです。
このように、AIが取り込むデータに第三者が指示を紛れ込ませる攻撃は「間接プロンプトインジェクション」と呼ばれます。IPAとAIセーフティ・インスティテュート(AISI)は、AIの直接の利用者ではない第三者が行える攻撃として、利用者にも警戒を求めています[10]。OWASPも、Webサイトやファイルなど外部から取り込んだ内容がモデルの動作を変える類型として整理し、その指示は人の目に見える形である必要すらないとしています[11]。
ここにはOpenAIやAnthropicが修正すべきものは何もない。フォルダにあるAGENTS.mdに従うエージェントは、作られたとおりに動いているだけだ。
There is nothing here for OpenAI or Anthropic to patch. An agent that follows the AGENTS.md in its folder is doing exactly what it was built to do.

Codex:実際に見つかったファイルで再現
研究者は、顧客の端末にあったファイルをそのまま隔離した仮想マシンで動かしました。検証の多くは電卓を開くだけの無害な代替処理で行い、実際の不正パッケージを動かしたのは隔離した仮想マシンでの1回だけです[1]。仕込まれた指示は、Codexに自分自身の設定ファイル(~/.codex/config.toml)へ、起動時に外部のツール用サーバー(MCPサーバー)を立ち上げる設定を書き加えさせ、さらに承認とサンドボックス(隔離実行)を外して別のCodexを起動させるものでした。外すための指定は指示ファイルに書かれており、モデルはそれを自らコマンドに組み込んで実行しました[1]。
この設定ファイルはPC全体に効くため、一度書き換えられると、その後はどのフォルダで起動したCodexも攻撃者のサーバーを読み込みます[1]。Codexは信頼済みのプロジェクトでだけAGENTS.mdに従いますが、一度でもダウンロードフォルダで作業していればその条件を満たしてしまう、と研究者は説明しています[1]。
Claude Code:研究者が作った別の手口で検証
Claude Codeは「はるかに騙しにくかった」とされ、成功したのは研究者が攻撃ファイルを参考に作った別の手口です[1]。CLAUDE.mdに「社内のゲートウェイ経由で接続する」という体裁の手順を書き、プロジェクトの設定ファイル(.claude/settings.json)にAPIの接続先を書き込ませるものでした[1]。
研究者は、この書き込みには人の承認が必要だったとしており、成功したのは約半数でした[1]。ただし書き込まれると、Claude Codeは以後の通信を研究者のサーバーに送り、ログイン用のOAuthトークンも渡してしまいました。研究者は取得したトークンで本物のサービスに被害者として接続でき、偽の応答を返してコマンドを実行させることもできたとしています[1][2]。
| 項目 | Codex | Claude Code |
|---|---|---|
| 使われた指示ファイル | 顧客の端末で見つかった AGENTS.md(実物)[1] | 研究者が実物を参考に作った CLAUDE.md[1] |
| 書き換えさせた設定 | PC全体に効く ~/.codex/config.toml に外部のツール用サーバーを登録[1] | プロジェクトの .claude/settings.json にAPIの接続先を設定[1] |
| 到達した結果 | 承認とサンドボックスを外した実行で、パッケージのインストールまで進んだ[1] | OAuthトークンの流出(アカウントの乗っ取り)と、次回起動時のコード実行[1] |
| 成功率(研究者の検証) | 90%超[1] | 約50%(同じセッション内でのコード実行は約5分の1)[1] |
| 働いた歯止め | 短く露骨な指示は拒否された[1] | 研究者によると、設定の書き込みに人の承認が必要だった。セキュリティのメモが多いフォルダでは攻撃と見抜かれた[1] |
2026年10月29日時点。数値はForever Securityの検証によるもので、編集部が確認した範囲では第三者による再現は公表されていない。
AIツールの認証情報も狙われているのか?
狙われています。Symantecは2026年10月15日、情報窃取型マルウェア「Aoki」(別名Aokigahara)が、Claude・Codex・Cursor・Codeium・Geminiなどの認証情報やセッションのファイルを盗むようになったと報告しました。以前の版には無かった機能で、最近加わったものです[3]。
| 対象 | 主なファイル・情報 |
|---|---|
| Claude | 設定ファイル(.claude.json)、デスクトップアプリのCookie[3] |
| ChatGPT・Codex | ChatGPTのCookie、Codexの設定ファイル(config.toml)と .env ファイル[3] |
| その他のAI開発ツール | GitHub Copilot・Cursor・Google Gemini・JetBrains AI Assistant・Kiroのトークン[3] |
| クラウド | AWSの認証情報[3] |
Symantecの報告(2026年10月15日公開)による。ブラウザ、暗号資産ウォレット、パスワード管理ソフトなど、AI以外の情報も幅広く盗む。
盗まれたAPIキーやトークンがあれば、攻撃者は正規の利用者として動き、その利用枠を使えます。アカウントにつながるリポジトリやクラウド、CI/CD(自動でビルドや配備を行う仕組み)に入り込まれるおそれもある、とSymantecは指摘しています[3]。盗んだAIの鍵で他人の契約を使い込む行為は「LLMジャッキング」とも呼ばれます[3]。
Aokiは2026年に入って初めて確認されたもので、背後の攻撃者は分かっていません。暗号資産関連の情報を多く狙うことから、金銭目的とみられています[3]。Symantecは、AIの鍵はカード情報と同じように直接お金に換えられるうえ、開発環境全体への入り口にもなると述べています[3]。10月21日のLiteLLMのサプライチェーン攻撃でも、AIコーディングツールの認証情報が盗む対象に含まれていました。
日本企業にはどう関係するのか?
AIコーディングエージェントを業務で使い始めた企業であれば、開発部門に限らず関係します。今回の手口は、外部のファイルが入る場所でエージェントが起動されることを前提にしており、研究者はソフトウェアの更新では塞がらないとみているからです[1][2]。
IPAの「情報セキュリティ10大脅威2026」では、「AIの利用をめぐるサイバーリスク」が第3位に入りました[10]。編集部の見方では、国内でもAIエージェントの導入は進む一方、エージェントが読むファイルや持つ権限まで社内ルールで管理している企業はまだ多くありません。使い方ごとに、起こりうることと確認点を整理すると次のとおりです。
| 使い方 | 起こりうること | 優先して確認すること |
|---|---|---|
| 開発者がリポジトリで使う | 取得したばかりのリポジトリに見覚えのない指示ファイルが含まれ、エージェントが従う[1] | 新しく取得したリポジトリの AGENTS.md・CLAUDE.md を読んでから作業させる |
| 開発以外の部門がファイル整理に使う | ダウンロードフォルダで起動し、Webから入ったファイルの指示に従う[1][2] | 作業用のフォルダを決め、ダウンロードフォルダでは起動しない |
| 定型処理を自動で実行する | 人が画面を見ていない間に指示が実行される。Claude Codeの -p による非対話の実行では信頼の確認が表示されない[8] | 自動実行は専用のフォルダと、権限を絞ったアカウントで動かす |
| エージェントにWebを閲覧させる | 閲覧したページからファイルが置かれ、同じエージェントがそれを読む[1] | Webを閲覧させる作業と、ファイルを操作させる作業を分ける |
「優先して確認すること」は編集部の整理。
今すぐ何を確認すればよいか?
まず「エージェントをどこで起動しているか」と「見覚えのない指示や設定が入っていないか」を確かめます。研究者は、製品を買い足さなくても今日からできる対策を挙げています[1]。その推奨をもとに、OpenAIとAnthropicの案内を加えて整理しました。使っているエージェントの種類にかかわらず、今週中に点検してください。
今週中に確認すること
- ダウンロードフォルダやホームフォルダなど、外部のファイルが入る場所や範囲の広い場所でAIエージェントを起動しないよう社内に周知する[1][2]
- 作業対象のプロジェクトのフォルダで起動する運用にそろえる(OpenAIとAnthropicの推奨)[2]
- ダウンロードフォルダや最近取得したリポジトリに、自分たちが書いていない AGENTS.md・CLAUDE.md が無いか確認し、あれば中身を読む[1]
- Codexの設定ファイル(
~/.codex/config.toml)に、見覚えのない[mcp_servers.*]の記述や、接続先(chatgpt_base_url)の変更が無いか確認する[1] - Claude Codeのプロジェクト設定(
.claude/settings.json)に、設定した覚えのないANTHROPIC_BASE_URL・プロキシ・APIの接続先が無いか確認する[1] - 承認(実行前の確認)とサンドボックスを有効なままにし、それらを外すよう求める手順書や指示を見たら疑う[1][8]
- 不正なnpmパッケージ function-color がインストールされた形跡があれば、その端末は侵害されたものとして扱う[1]
- 不審な指示ファイルや設定の変更が見つかったら、AIツールのトークンやAPIキーは漏れたものとして失効させ、再発行する[1]
社内ルールとして何を決めておくべきか?
指示ファイルを「実行ファイルと同じように扱う」前提で、起動する場所、技術的な制限、認証情報の管理の3点をルールにしておくことです。エージェントは指示ファイルを読んで動く以上、その中身は人が書いたコマンドと同じ重みを持つからです[1][9]。
起動する場所と信頼の範囲を決める
Claude Codeは、まだ信頼していないフォルダで起動すると信頼の確認を表示します。一方、-p を付けた非対話の実行ではこの確認が出ません[8]。Codexでは、利用者の設定ファイル(~/.codex/config.toml)でプロジェクトごとに trust_level = "untrusted" を指定すると、承認ポリシーを明示していない場合に限り、実行ポリシーのルールで許可したもの以外のコマンドに承認が必要になり、そのプロジェクト内に置かれた設定も無効になります[7]。信頼してよいフォルダを決め、それ以外では確認が出る状態を保つのが基本です。
指示に頼らず、技術的に止める
AnthropicはCLAUDE.mdを「強制力のある設定ではなく文脈」と位置づけ、どう判断しても特定の操作を止めたい場合は、実行前に操作を検査するPreToolUseフックを使うよう案内しています[9]。同じ考え方で、パッケージの導入やエージェント自身の設定ファイルへの書き込みは、フックやサンドボックス、組織の管理者が配布する設定で技術的に制限するほうがより確実です[7][8][9]。Claude Codeには、セッション中の設定変更を記録したり止めたりできるConfigChangeフックも用意されています[8]。
AIツールの鍵を棚卸しする
Claude Codeは、macOSでは認証情報をキーチェーンに保存します[8]。一方でAokiのように、設定ファイル・Cookie・.envファイルからAIツールの鍵を集めるマルウェアも現れています[3]。誰がどのAIツールのAPIキーやトークンを持っているかを台帳にし、.envや設定ファイルに長く有効な鍵を平文で置かない、使っていない鍵は失効させる、といった基本を徹底します。
あわせて、外部のWebサービスとやり取りする作業は仮想マシンなど隔離した環境で行う、提案されたコマンドや重要なファイルへの変更は承認前に確認する、といった利用者側の基本動作も周知しておきます[8]。
まとめ
2026年10月、ダウンロードフォルダに置かれた指示ファイル(AGENTS.md)で、AIコーディングエージェントに不正なパッケージを入れさせようとした実例が報告されました[1]。研究者の検証では、Codexは90%を超える試行で指示に従い、Claude Codeでも別の手口が約半数で成功しています[1]。
研究者は、これはソフトウェアの不具合ではなく、エージェントが作業フォルダの指示に従うという設計どおりの動作を突いたもので、更新では塞がらないとしています[1][2]。同じ時期には、AIツールの認証情報を盗むマルウェアも報告されています[3]。
企業がまずやることは、ダウンロードフォルダでエージェントを起動しない周知、見覚えのない指示ファイルと設定の点検、承認とサンドボックスの維持、不審なときのトークン再発行です。AIの業務利用でよくある疑問はよくある質問にもまとめています。
よくある質問
AGENTS.mdやCLAUDE.mdとは何ですか?
AIコーディングエージェントに、そのプロジェクトでの作業手順や決まりごとを伝えるためのテキストファイルです。CodexはAGENTS.mdを作業前に読み、Claude CodeはCLAUDE.mdを起動時に読み込みます(CLAUDE.mdが無ければAGENTS.mdも読み込みます)。実行ファイルではありませんが、エージェントは書かれた内容に従ってコマンドの実行や設定の変更を行うため、中身は人が出す指示と同じ重みを持ちます。
Claude CodeやCodexをアップデートすれば防げますか?
アップデートだけでは防げません。研究者は、エージェントが作業フォルダの指示ファイルに従うのは設計どおりの動作であり、OpenAIやAnthropicが修正すべき不具合はないとしています。ダウンロードフォルダのような外部のファイルが入る場所で起動しない、承認とサンドボックスを有効にしておく、といった利用側の運用で防ぐ必要があります。
Claude Codeでも実際に被害が出たのですか?
2026年10月29日時点で、実際の端末で見つかったのはCodexを狙ったAGENTS.mdです。Claude Codeについては、研究者がその攻撃ファイルを参考に作った別の手口を検証し、約半数で設定の書き込みに成功したと報告しています。編集部が確認した範囲では、実環境でClaude Codeが狙われた事例は公表されていません。
ダウンロードフォルダ以外なら安全ですか?
安全とは言い切れません。研究者は、取得したばかりのリポジトリにある見覚えのない指示ファイルも同じ攻撃になりうるとしています。ダウンロードフォルダはWebから自動でファイルが入る点で特に注意が必要ですが、外部から持ち込んだファイルを含むフォルダでは、エージェントに作業させる前に指示ファイルの中身を確認してください。
不審な指示ファイルを見つけたら何をすればよいですか?
そのフォルダでエージェントを起動せず、指示ファイルと、エージェントの設定ファイル(Codexの~/.codex/config.toml、Claude Codeの.claude/settings.json)に見覚えのない変更がないか確認します。研究者は、トークンは漏れたものとして扱い、失効と再発行を行うよう勧めています。不正なパッケージが入った形跡があれば、その端末は侵害されたものとして調査してください。
出典・参考資料
- 調査レポートMarkdown Is the New Executable: Attackers Are Dropping Agent Instructions Into Your Downloads Folder From the Web
- 記事AI coding agents hijacked using AGENTS.md file in Downloads folder
- 調査レポートAoki: Infostealer Targets AI Coding Assistant Credentials
- 調査レポートMALFEX npm Malware Campaign: Three Payloads And An Adversary That Signs Their Work
- 公式発表function-color(npm レジストリのパッケージ情報)
- 公式発表Custom instructions with AGENTS.md
- 公式発表Agent approvals & security
- 公式発表Security - Claude Code Docs
- 公式発表How Claude remembers your project - Claude Code Docs
- 公式発表AI利用者のためのセキュリティ豆知識
- 調査レポートLLM01:2025 Prompt Injection
本記事の事実関係は、2026.10.29 時点で上記の出典をすべて再確認しています。 成功率や利用状況の数値は研究者自身の検証・計測によるものです。ファイルが置かれた経路や被害の広がりは続報で変わる可能性があります。
AIセキュリティの基本は「AIセキュリティとは」で解説しています。