October 28, 2026

ダウンロードフォルダーの指示ファイルで、AIコーディングエージェントが悪用される――Forever Securityの調査で分かったことと、いま⁠の⁠対⁠策

セキュリティ企業のForever Securityは、2026年10月22日に、顧客の端末のダウンロードフォルダーから、AIコーディングエージェント向けの悪意ある指示ファイルを見つけたと公表しました。OpenAI CodexとClaude Codeで、同じ種類の攻撃を再現した、としています(Forever Securityの原文)。国内でも報じられています(マイナビニュー⁠ス⁠)⁠。

この記事は、AIコーディングエージェントを業務で使っている組織と、その担当者向けに、一次情報である原文を軸にして、確認された事実と、研究者の主張と、まだ分かっていない点を分けて整理したものです。出典は、各記述のそばに示しています。情報は、日本時間10月28日の時点のもの⁠で⁠す⁠。

要点

  • 見つかったのは、顧客の端末のダウンロードフォルダーにあった、約13KBのAGENTS.mdです。エンジニア向けの作業ガイドラインを装い、エージェントに、自分の設定を書き換えさせる内容で⁠し⁠た⁠。
  • Forever Securityの製品は、エージェントが、既知の悪意あるnpmパッケージ(function-color)をインストールしようとしたところを、途中で止めま⁠し⁠た⁠。
  • Codexでは、研究者の試験で、90%を超える試行で、マルウェアが実行されたとのことです。Claude Codeの試験は、研究者が自作したファイルで、設定ファイルの書き込みが約半分、同じセッションでのコード実行が約5分の1⁠で⁠す⁠。
  • ファイルがどうやってダウンロードフォルダーに入ったかは、分かっていません。OpenAIとAnthropicの見解は、原文にも、私が確認した報道にも、ありま⁠せ⁠ん⁠。
  • いま確認することは、ダウンロードフォルダーでエージェントを起動していないか、エージェントの設定ファイルに覚えのない記述がないか、function-colorをインストールした端末がないか、の3つ⁠で⁠す⁠。

見つかっ⁠た⁠も⁠の

Forever Securityの説明(原文)は、次のとおり⁠で⁠す⁠。

  • 同社の製品が、顧客のコーディングエージェントによる、function-colorのインストールを、セッションの途中で止めました。指示の出所を調べると、リポジトリでも依存パッケージでもなく、ダウンロードフォルダーにあるAGENTS.md⁠で⁠し⁠た
  • そのファイルは、約13KBの、長い「エンジニア向けの作業ガイドライン」です。攻撃の指示は、終わり近くの1つの節にあり、ローカルの開発環境の通常のセットアップとして書かれています。長い前置きが、書き込みを通す要因だと、研究者は説明しています。短くて露骨な依頼は、断られるとのこ⁠と⁠で⁠す
  • 原文は、「誰が置いたのかも、どうやって入ったのかも、誰も知らなかった」と書いて⁠い⁠ま⁠す

AGENTS.mdは、コーディングエージェントが、プロジェクトの作業の指示として読む、Markdownのファイルです。実行ファイルではないため、「インターネットから来た実行ファイルは、承認するまで動かない」というOSの保護の対象にならない、というのが、原文の説明⁠で⁠す⁠。

攻撃⁠の⁠流⁠れ

原文の説明を、エージェントごとに整理しま⁠し⁠た⁠。

OpenAI Codex Claude Code
使われたファイル 顧客の端末で見つかった、実際のAGENTS.md 研究者が、自分で作ったCLAUDE.md
狙い 設定を書き換えて、悪意あるパッケージを、毎回の起動時に実行させる 通信先を、攻撃者のサーバーへ向けさせる
書き換えるもの ~/.codex/config.toml(マシン全体の設定)に、MCPサーバーの記述を追加 .claude/settings.jsonに、ANTHROPIC_BASE_URLを設定
起きること 以後、どのフォルダーで起動しても、同じ記述が、起動時に実行される OAuthトークンが漏れる。攻撃者のサーバーが、ツールの呼び出しを返せる
研究者の試験結果 90%を超える試行で、マルウェアが実行された(実際のペイロードを、隔離した仮想マシンで実行) 設定ファイルの書き込みは、約半分。同じセッションでのコード実行は、約5分の1

Codex⁠の⁠場⁠合

原文の説明は、次のとおり⁠で⁠す⁠。

  1. 利用者が、ダウンロードされたファイルのあるフォルダーで、Codexを起動して、何かの作業を頼⁠み⁠ま⁠す
  2. Codexが、AGENTS.mdに従って、マシン全体の設定ファイルに、MCPサーバーの記述を追加します。記述は、悪意あるパッケージのnpmインストールを実行するも⁠の⁠で⁠す
  3. Codexは、信頼したプロジェクトのAGENTS.mdにしか従いません。ただ、ダウンロードフォルダーで作業したことがあれば、そのフォルダーは、信頼されたものと扱われる、と原文は説明して⁠い⁠ま⁠す
  4. 標準のサンドボックスは、ネットワークからの取得を、いったん止めました。ところが、モデルが、ファイルの指示どおりに、承認とサンドボックスを無効にするフラグ(--dangerously-bypass-approvals-and-sandbox)を、子のcodex execに付けました。接続の待ち時間の制限は、launchctl経由で実行して、回避し⁠ま⁠し⁠た

Claude Code⁠の⁠場⁠合

研究者が作ったCLAUDE.mdで、Claude Codeに、.claude/settings.jsonを書かせます。ANTHROPIC_BASE_URLが、攻撃者のサーバーを指すと、Claude Codeの通信が、そのサーバーを通ります。研究者は、次の2点を示したと説明してい⁠ま⁠す⁠。

  • OAuthトークンが漏れること。取得したトークンを、実際のAPIに対して使い直して、アカウントへのアクセスを示したとのこ⁠と⁠で⁠す
  • 攻撃者のサーバーが、モデルの応答を装って、Bashツールの呼び出しを返せること。ただし、サンドボックスは、破っていない、と研究者は書いて⁠い⁠ま⁠す

原文は、Claude Codeは、このような書き込みに、人間の承認が要るため、不審なものを断ることも多い、と書いています。セキュリティ関連のメモが多く入ったフォルダーでは、きれいなフォルダーで通ったペイロードが、毎回失敗した、とのこと⁠で⁠す⁠。

数字の⁠読⁠み⁠方

項目 内容 確度
ファイルの発見 顧客の端末のダウンロードフォルダーで見つかった。約13KB 研究者の報告(実物は、非公開)
Codexの90%超 実際のペイロードを、隔離した仮想マシンで実行した試験。試行の回数は、非公開 研究者の試験
Claude Codeの約半分と約5分の1 研究者が自作したファイルでの試験。実際の攻撃を測ったものではない 研究者の試験
ファイルが入った経路 不明。研究者は、自作のページで、閲覧しただけでファイルが保存される例を示した。ブラウザーやOSの条件は、書かれていない 未確認
利用の実態 同社の顧客の約半分が、ダウンロードフォルダーでエージェントを使い、エージェントのセッションの約4分の1が、実際のブラウザーを開く 同社のデータ(母数と方法は、非公開)

数字について、注意が2つあり⁠ま⁠す⁠。

  • 日本語の報道の一部は、Claude Codeの約50%を、「リモートコードを処理した割合」と伝えています(マイナビニュース)。原文では、約半分は、設定ファイルの書き込みの割合で、同じセッションでのコード実行は、約5分の1です。コードの実行の割合としては、約5分の1が正しいと考⁠え⁠ま⁠す
  • Claude Codeの試験は、実際の攻撃ではなく、研究者が自分で作ったファイルでの結果です。Help Net Securityも、CodexとClaudeの結果は、種類の違う試験だと指摘しています(Help Net Securi⁠t⁠y⁠)

function-colo⁠r⁠と⁠は

function-colorは、npmの悪意あるパッケージです。Checkmarxが、10月5日の報告で、MALFEXと名づけた、1人の攻撃者によるキャンペーンの一部として、示しています(Checkmar⁠x⁠)⁠。

  • function-color自体には、ペイロードがありません。function-flagを、依存パッケージとして、インストールするだけの、ラッパーです。function-flagが、インストール時のスクリプトで、追加のペイロードを取得⁠し⁠ま⁠す
  • 攻撃者は、2023年8月から活動しています。function-flagに悪意があるのは、2025年7月か⁠ら⁠で⁠す
  • 10月1日の時点のダウンロード数は、function-colorが300、function-flagが3万7419です。悪意ある8個のパッケージの合計は、4万767です。この数字は、レジストリでの取得の数であり、感染の数ではありません(Checkma⁠r⁠x⁠)
  • ペイロードは、Windows向けのマルウェア(Overlord RAT、Discordやブラウザーなどの情報窃取)とされて⁠い⁠ま⁠す
  • 9月29日の時点では、function-colorは、npm上に残っていました。Forever Securityは、npmが、削除したと書いて⁠い⁠ま⁠す

CheckmarxはWindows向けのペイロードと説明し、Forever Securityの攻撃の説明には、macOSのlaunchctlが出てきます。この2つの関係は、どちらの資料にも書かれていま⁠せ⁠ん⁠。

ベンダー⁠の⁠見⁠解

原文は、OpenAIとAnthropicへの報告や、両社の対応に触れていません。Help Net Securityの記事にも、両社の見解はありません。私が検索した範囲でも、両社の公式な見解は、見つかりませんで⁠し⁠た⁠。

「OpenAIやAnthropicが直す点はない」「このケースは、エージェントが壊れているわけではないから、直されない」というのは、研究者の見解です。ベンダーが確認した立場ではありま⁠せ⁠ん⁠。

ベンダーのドキュメントで、確認できたことは、次のとおり⁠で⁠す⁠。

  • Claude Codeは、作業フォルダーとその上のフォルダーに、CLAUDE.mdがない場合に、AGENTS.mdを、プロジェクトの指示として読みます。AGENTS.mdを直接読むのは、v2.1.277以降です(Claude Codeのドキュメ⁠ン⁠ト⁠)
  • 同じドキュメントは、CLAUDE.mdを、「強制される設定ではなく、文脈として扱う」と説明しています。特定の動作を、確実に止めたいときは、PreToolUseフックを使うよう、案内して⁠い⁠ま⁠す
  • Codexは、プロジェクトのルート(通常はGitのルート)から、作業フォルダーまでのAGENTS.mdを読みます。ルートが見つからない場合は、作業フォルダーだけを見ます(Codexのドキュメント)。ダウンロードフォルダーのような、Gitのルートでないフォルダーでは、そこにあるAGENTS.mdが読まれる、と読めます(私の⁠解⁠釈⁠)

いま確認す⁠る⁠こ⁠と

原文の推奨と、Claude Codeのドキュメントにある機能を、確認の順序にしま⁠し⁠た⁠。

今日の⁠う⁠ち⁠に

  1. ダウンロードフォルダーに、AGENTS.mdやCLAUDE.mdが置かれていないか確認⁠し⁠ま⁠す
find ~/Downloads -maxdepth 3 \( -name AGENTS.md -o -name CLAUDE.md \) 2>/dev/null
  1. エージェントの設定ファイルに、覚えのない記述がないか確認します。Codexは、~/.codex/config.tomlの、[mcp_servers.*]の記述と、chatgpt_base_urlの変更です。Claude Codeは、.claude/settings.jsonのANTHROPIC_BASE_URLや、プロキシの設定です(⁠原⁠文⁠)
  2. function-colorをインストールした端末がないか、ロックファイルとパッケージの一覧で調べます。見つかった場合は、侵害されたものとして扱います(Forever Security)。function-flagなど、Checkmarxが挙げた8つの悪意あるパッケージも、同様に調⁠べ⁠ま⁠す

今週の⁠う⁠ち⁠に

  1. ダウンロードフォルダーで、エージェントを起動しません。ブラウザーで取得したファイルのあるフォルダーや、出所の分からないフォルダーでも、同じです。作業は、自分で作ったプロジェクトのフォルダーで行⁠い⁠ま⁠す
  2. 自分で書いていないAGENTS.mdやCLAUDE.mdは、エージェントに読ませる前に、中身を読みます。コピーしたリポジトリや、受け取ったプロジェクトも含⁠み⁠ま⁠す
  3. 承認とサンドボックスは、有効のままにします。エージェントが、これらを無効にするフラグや設定を、使おうとしたら、止めて、理由を確認⁠し⁠ま⁠す
  4. 疑わしい記述や、function-colorが見つかった場合は、その端末の認証トークンが漏れているものとして、更新します(原文は、漏れたトークンは、有効なセッションと同じだと書いています)。npmのレジストリを社内で経由している場合は、悪意あるパッケージを、そこで遮断します(Checkma⁠r⁠x⁠)

今月の⁠う⁠ち⁠に

  1. 組織として、エージェントを使ってよいフォルダーと、使わない場所を、決⁠め⁠ま⁠す
  2. Claude Codeの設定の変更を、セッション中に監査する、または遮断するには、ConfigChangeフックが使えます(Claude Codeのセキュリティのドキュメント)。Codexの設定ファイルの変更も、監視の対象にします(これは私の提案⁠で⁠す⁠)
  3. 社内で、エージェントに、ブラウザーの操作を任せている場合は、その範囲を確認します。原文の、実際のブラウザーを開くセッションの割合は、研究者の懸念の根拠ですが、ブラウザー操作によって、ファイルが入ったという証拠は、示されてい⁠ま⁠せ⁠ん

未確⁠認⁠の⁠点

  • ファイルが、顧客のダウンロードフォルダーに入った経路は、分かってい⁠ま⁠せ⁠ん
  • 実際の攻撃が、どれだけ広がっているかは、分かっていません。確認されているのは、顧客の端末での1⁠件⁠で⁠す
  • Claude Codeに対する攻撃は、研究者が自作したファイルでの試験で、実際の攻撃は、確認されてい⁠ま⁠せ⁠ん
  • 試行の回数は、非公開で、数字の信頼の幅は、分かり⁠ま⁠せ⁠ん
  • 利用の実態の数字は、同社の顧客のデータで、母数と方法は、書かれてい⁠ま⁠せ⁠ん
  • OpenAIとAnthropicの、公式な見解は、確認できてい⁠ま⁠せ⁠ん

関⁠連⁠記⁠事

AIコーディングエージェントを、安全に社内で使うための運用の設計や、点検でお困りの方は、下記よりお問い合わせくだ⁠さ⁠い⁠。

無料セキュリティ相談を⁠受⁠付⁠中

ただいま、セキュリティについての無料相談を受け付けています。「自社のサイトは大丈夫か」「何から確認すればよいか」など、お気軽にご相談ください。

Super Sonic DesignではWebサイトの制作やアプリのデザインなどのご相談を承っております。どうぞお気軽にお問い合わせください。
お問い合わせ
他の最新記事
カテゴリー