作業ディレクトリに置かれた1枚の AGENTS.md(Codex 向け)や CLAUDE.md(Claude Code 向け)で、AI コーディングエージェントを操れる。これを示したのが、セキュリティ企業 Forever Security(研究者 Gal Weizman 氏・Omer Samet 氏)が2026年10月22日に公表した研究だ。CSO Online や InfoWorld などで報じられ、X でも広がった。この記事は、報道と Check Point が開示した関連 CVE で裏が取れた事実だけを、更新で直る層と、運用で守る層を切り分けて整理する。名指しされた Claude Code・Codex のどちらのベンダーも擁護せず、研究者の主張と確定事実を分けて扱う。

依存関係やプラットフォームの権限を足がかりにする攻撃の全体像は、サプライチェーン攻撃とは|手口・防御ツール比較・npm 12の新機構まで実践解説にまとめている。本稿はその中でも「開発者の手元で動く AI エージェント」の一点に絞る。

HOW IT WORKS乗っ取りの流れ

仕込まれた .md を信頼された文脈として読み、既存の権限で指示に従う

  1. Web から保存

    承認なしに Downloads へ置かれうる

  2. その場で起動

    Downloads 等でエージェントを開く

  3. 文脈として読む

    AGENTS.md / CLAUDE.md を指示と解釈

  4. 既存権限で従う

    追加承認なしに書かれた内容を実行

  5. 被害

    MCP・設定の汚染/トークン露出

出典: Forever Security の研究(2026-10-22)。.md 自体に実行コードは無い。攻撃の完全な手順・PoC は本記事に非掲載

30秒でわかる AGENTS.md/CLAUDE.md 攻撃(2026年10月27日時点)

  • ・何が起きた:作業ディレクトリに仕込まれた悪意ある AGENTS.md/CLAUDE.md を、エージェントが信頼された文脈として読み、既存の権限で指示に従う。.md 自体に実行コードは無い
  • ・研究元:Forever Security(2026-10-22 公表)。実際の顧客環境で、Codex に悪意ある npm パッケージ(function-color)を入れさせようとする AGENTS.md が ~/Downloads で見つかった(実行前にブロック)
  • ・2層ある:更新で直る具体バグ(CVE・修正済み)と、パッチでは塞げない設計の性質は別物
  • ・数字の扱い:成功率90%超・約50%は一社の単独テストで、独立検証はされていない

まずやること

  • ・更新:Claude Code を 2.0.65 以降へ、Codex も最新版へ
  • ・起動場所:~/Downloads など配布物の混ざる場所でエージェントを開かない
  • ・起動前レビュー:信頼できないディレクトリでは CLAUDE.md/AGENTS.md/設定ファイルをソースとして読む。承認・サンドボックスを安易に外さない
本記事は防御(更新・確認・運用)を目的とし、悪意ある .md の中身・設定ファイルの改変手順・承認回避フラグの付け方など、コピペで悪用できる手順や PoC は一切掲載しない。攻撃は「仕込まれた文章をエージェントが信頼された文脈として読み、既存の権限で従う」という概念の範囲でのみ説明する。

AGENTS.md/CLAUDE.md 攻撃のタイムライン——CVE 修正の後に来た研究

この話題は「新しい未修正の穴が1つ空いた」のではなく、性質の違う複数の報告が積み重なっている。Claude Code 脆弱性として報じられた個別バグの修正と、今回の Forever Security の研究を同じ時間軸に並べると、何が片付いていて何が残っているかが見える。

時期 出来事 出典
2025-10 CVE-2025-59536(信頼確認の前にプロジェクトのコードが走る)が 1.0.111 で修正 NVD/ベンダー公開情報
2026 初頭 CVE-2026-21852(ANTHROPIC_BASE_URL で信頼確認前に鍵が露出)が 2.0.65 で修正。Check Point が開示 Check Point/NVD
2026-10-22 Forever Security が研究「Markdown Is the New Executable」を公表 Forever Security
2026-10 下旬 CSO Online・InfoWorld・Brandefense などが報道、X で拡散 各メディア

CVE の2件はいずれも「ユーザーがディレクトリを信頼すると決める前に、リポジトリ側の設定が効いてしまう」という初期化順序のバグで、どちらも更新で直っている。Forever Security の研究が突いたのはこれとは別の層だ。ユーザーが信頼したディレクトリの中で、仕込まれた文章の指示に従うという性質で、ここが混同されやすい。

何が起きたか——.md が「信頼された文脈」として読まれる

Forever Security の調査は、同社の製品が顧客のマシンでコーディングエージェントによる function-color(既知の悪意ある npm パッケージ)のインストールを止めたことから始まった。指示の出どころはエンジニアリングのメモを装って ~/Downloads に置かれていた AGENTS.md だった。この .md がどの経路で届いたかは特定できていない、と研究者は述べている。

研究者が示す攻撃の成り立ちは、ありふれた2つの挙動の組み合わせだ。ひとつは、エージェントが開いたフォルダにある指示ファイルを信頼すること。もうひとつは、Web ページが別の承認プロンプト無しに ~/Downloads へファイルを置けることがある点だ。FV の図はこの「Web から保存 → その場で起動 → 文脈として読む → 既存権限で従う」という流れを表している。

なぜ .md が「実行ファイル」になるのか

研究のタイトル「Markdown Is the New Executable」が指すのは、.md の中に実行コードは無いという事実だ。AGENTS.md 攻撃や CLAUDE.md インジェクションと呼ばれるこの手口では、実行するのはエージェント本体で、仕込まれた文章は「このプロジェクトではこう作業する」という文脈として読まれる。エージェントはすでに持っている権限の範囲で、その文章の指示どおりに動く。だから「危険なコードが含まれていないか」をファイルの中身から機械的に判定しても、この攻撃は見つけにくい。

Forever Security のテストでは、仕込まれた AGENTS.md によって Codex が悪意あるパッケージのインストールに至った割合が90%超、Claude Code で設定ファイルの書き換えに至った割合が約50%と報告されている。ただし、これは同社の単独テストの数値で、独立した検証は公表されていない。同社はエージェント監視の製品を扱うため、本記事では「一社が報告した数値」として扱う。いずれもディレクトリをユーザーが信頼していることが前提である点も、報道から読み取れる。

2層に分ける——更新で直る具体バグと、設計の性質

ここが本件の肝だ。X では「CVE も出ず、パッチも出ない」という要約が広がったが、これは正確ではない。更新で直る具体バグと、パッチでは塞げない設計の性質を分けて見る必要がある。

TWO LAYERS2層に分ける

更新で直る具体バグと、更新では直らない設計の性質

更新で直る(具体バグ)

個別の CVE・修正済み

  • CVE-2026-21852: 信頼確認前に設定を適用し鍵を露出 → 2.0.65 で修正
  • CVE-2025-59536: 信頼確認前にコード実行 → 1.0.111 で修正

更新では直らない(設計の性質)

承認・フック・運用で守る

  • 仕込まれた .md の指示に従う信頼したディレクトリ内の文章を文脈として扱う
  • パッチで塞ぐ種類のバグではない承認・PreToolUse フック・起動場所の運用で抑える
出典: Check Point(CVE・CVSS)/Anthropic ドキュメント/Forever Security の研究。CVE-2026-21852 の CVSS は 5.3(出典により差あり)、CVE-2025-59536 は 8.7
層 中身 状態
(a) 更新で直る具体バグ CVE-2026-21852:リポジトリ設定が ANTHROPIC_BASE_URL を攻撃者サーバに向け、信頼確認前に認証情報つきリクエストを送る情報漏洩(CVSS 5.3、出典により差あり) 2.0.65 で修正済み
(a) 更新で直る具体バグ CVE-2025-59536:信頼確認ダイアログの前にプロジェクトのコードが走るコードインジェクション(CVSS 8.7) 1.0.111 で修正済み
(b) 設計の性質 信頼したディレクトリの CLAUDE.md/AGENTS.md の指示に、既存権限で従うこと自体 特定パッチでは塞がらない。承認・フック・運用で抑える

(a) はいずれも「信頼を決める前にリポジトリ側の設定が効く」という初期化順序の誤りで、更新で直っている。Brandefense が「今回の研究に対するベンダーのパッチや声明は無い」と報じているのは (b) の設計の話であって、(a) の個別 CVE が未修正という意味ではない。公式ドキュメントは CLAUDE.md を「強制設定ではなく文脈」と位置づけ、モデルの判断に関わらず行為を止める手段として PreToolUse フックと承認を挙げている。更新は要るが、それで (b) の性質まで消えるわけではない。この切り分けが、対策を選ぶときの出発点になる。エージェントに渡すファイルの権限そのものを設計する考え方は、AI エージェントの権限設計が詳しい。

対策——更新・起動場所・承認の3点で守る

(a) と (b) で効く手が違うので、分けて敷く。まず (a) は更新で閉じる。(b) は「どこで起動するか」「何を承認するか」の運用で抑える。

WHAT TO DO起動前に

文脈ファイルを起動前に読む——更新・場所・承認の3点

  1. 1.まず更新する

    Claude Code は 2.0.65 以降、Codex も最新版へ

  2. 2.信頼できない場所で起動しない

    ~/Downloads など配布物の混ざる場所でエージェントを開かない

  3. 3.文脈ファイルをソースとして確認

    CLAUDE.md / AGENTS.md / .claude/settings.json / .mcp.json を起動前にレビュー

  4. 4.承認・サンドボックスを外さない

    bypass 系を常用せず、PreToolUse フックで危険な行為を止める

出典: Forever Security の推奨と Anthropic のドキュメント(2026-10-27 確認)

・まず更新する:Claude Code を 2.0.65 以降へ、Codex も最新版へ上げる。自動更新の構成なら (a) の修正は既に入っていることが多いが、手動運用やピン留めは確認する
・信頼できない場所で起動しない:~/Downloads やホーム直下など、配布物が混ざる広いディレクトリでエージェントを開かない。作業用のリポジトリの中で起動する
・文脈ファイルをソースとしてレビュー:信頼できないリポジトリやディレクトリでは、起動前に CLAUDE.md/AGENTS.md/.claude/settings.json/.mcp.json/~/.codex/config.toml を「コードと同じ目」で読む。誰が見るかを決めておく
・承認・サンドボックスを外さない:承認回避やサンドボックス無効化のフラグ・権限を常用しない。PreToolUse フックは、モデルがどう判断したかに関わらず危険な行為をブロックできる
・組織の守り:ANTHROPIC_BASE_URL を許可リストで制限し、露出が疑われれば鍵をローテーションする。ANTHROPIC_BASE_URL を設定するとサーバ側の管理設定が迂回されうる点にも注意する

このうち最も効くのは「起動場所を選ぶ」ことだ。信頼する範囲を作業リポジトリに限れば、配布物に紛れた .md が文脈として読まれる入口そのものが狭まる。MCP サーバを経由した権限奪取の筋は、MCP サーバを悪用したセッション乗っ取りでも扱っている。

自システムの確認——版と構成を点検する

以下は版と構成の点検であって、侵害されたかどうかを断定する判定ではない。何も出なくても安全とは限らず、見慣れない項目が1つあっても即座に侵害を意味するわけでもない。重い全体検索(find / など)は避け、起動前に見るべき場所だけを確認する。

# バージョンを確認(Claude Code は 2.0.65 以降か、Codex は最新版か)
claude --version
codex --version

# ANTHROPIC_BASE_URL が環境変数に紛れていないか(何も出なければ未設定)
env | grep -i ANTHROPIC_BASE_URL

# 配布物の混ざる場所に文脈ファイル・設定ファイルが無いか(例: Downloads 直下)
ls -a ~/Downloads
ls -a ~/Downloads/.claude 2>/dev/null
これらは構成の確認であり、侵害の有無を断定するものではない。バージョンが新しくても (b) の設計の性質は残るし、設定ファイルが見当たらなくても別の場所に置かれている可能性はある。ANTHROPIC_BASE_URL や MCP 設定に身に覚えのない値があれば、前節の「更新・起動場所・承認」に戻って構成を見直す。

影響範囲——実験室の実証と、単発の実地観測

押さえておくべきは、これが追跡されたキャンペーンではない点だ。Forever Security の報道は、研究室での実証と、顧客環境での単発の観測(実行前にブロック済み)を示したもので、広範な被害が確認されたという報告ではない。同社のテレメトリでは、顧客の約半数が ~/Downloads の中でコーディングエージェントを動かしていたとされ、入口の広さは示唆されている。

対象は特定の1プロダクトに限らない。Codex 脆弱性や AI コーディングエージェント 乗っ取りとして個別に語られがちだが、研究者は Codex と Claude Code の両方でテストし、「どれか一つのプロダクトのバグではない」と述べている。Codex 側では、仕込まれた文書でマシン全体の MCP 設定を書き換え、承認やサンドボックスの制限を外した状態でセッションを起動させうる、と報告された。Claude Code 側では、悪意ある CLAUDE.md が API トラフィックを攻撃者サーバへ向け、ログイン(OAuth)トークンを露出させ、それを本物の API に対して使えた、とされる。いずれも研究者が本物を模して自作した CLAUDE.md による結果で、成功率は前述のとおり一社の単独テストの数値だ。

最後に、冒頭の線引きをもう一度確認しておく。「CVE も出ず、パッチも出ない」という要約は、(b) の設計の性質にだけ当てはまる。(a) の個別バグ(CVE-2026-21852・CVE-2025-59536)は既に更新で直っている。だからこそ、まず更新し、そのうえで起動場所と承認を運用で締める——この2段構えが、Claude Code 脆弱性として報じられたこの話題への現実的な守り方になる。プロンプトインジェクションの一般的な防御の考え方は、GitHub 上のプロンプトインジェクションと AI エージェント攻撃にまとめている。

参照ソース