Claude Code セキュリティ|Downloadsの悪意あるCLAUDE.mdから守る対策を実測
Claude Code セキュリティの新たな注意点。Downloadsの悪意あるCLAUDE.md・AGENTS.mdによる乗っ取りを解説し、どのファイル名が読み込まれるかを無害なマーカーで実測、研究所が勧める7つの対策をまとめます。

この記事の結論
- 2026年10月、Downloadsフォルダの悪意あるCLAUDE.md・AGENTS.mdでClaude CodeやCodexを乗っ取る手口が開示され、報告ではClaude Codeで約50%成功したとされます。
- Claude Codeは起動した作業ディレクトリと上位のCLAUDE.md・AGENTS.mdを自動で読み込みます。当研究所の実測でも、置くだけで指示が読まれることを無害なマーカーで確認しました。
- 最大の対策は、Downloads・デスクトップ・ホームでClaude Codeを起動せず、作業するプロジェクトの直下で起動することです。これは公式ドキュメントも推奨しています。
- 引用元が勧める「先回りでCLAUDE.mdを置く」対策は実測で有効でした。後からダウンロードされた同名ファイルは「CLAUDE (1).md」にリネームされ読み込まれず、AGENTS.md経路も塞がれます。
- Downloadsのファイルを扱うなら、きれいなプロジェクトで起動してから--add-dirで追加します。追加ディレクトリのCLAUDE.mdは既定で読み込まれないことを実測で確認しました。
Claude Codeのセキュリティで、2026年10月に新しい注意点が広まりました。Downloadsフォルダに置かれた悪意あるCLAUDE.md・AGENTS.mdが、Claude CodeやCodexを乗っ取る手口です。攻撃者が0dayを作る必要はなく、整った体裁のMarkdownを1枚仕込むだけで、エージェントが自分の権限で危険な操作をしてしまう、という指摘でした。この記事では、セキュリティ企業Forever Securityの開示内容を正確に整理し、どのファイル名が本当に読み込まれるのかを無害なマーカーで実測したうえで、Claude Code研究所として「こうすれば安全」と言える対策を7つにまとめます。攻撃の再現手順は扱わず、防御に絞ります。
目次
Claude Codeで報告されたセキュリティリスクとは?
これは、Downloadsフォルダに仕込まれた指示ファイルでAIコーディングエージェントを乗っ取る、プロンプトインジェクションの一種です。セキュリティ企業Forever Securityが実在する顧客のPCで捕捉した攻撃を開示し、BleepingComputerが2026年10月25日に報じました。発端は、~/Downloadsに置かれたAGENTS.mdが、コーディングエージェントに悪意あるnpmパッケージをインストールさせようとしていたことでした。ファイルがどうやって置かれたかは特定できていません。
仕組みは単純です。Claude CodeやCodexは、起動した作業ディレクトリにあるCLAUDE.mdやAGENTS.mdを「プロジェクトの指示」として自動で読み込み、その内容を自分が持つツール権限で実行します。普通は自分で書いた便利な指示書ですが、攻撃者が用意した指示も同じように正規の指示として扱われてしまう、というのが弱点です。報告された成功率は、Codexが再現連鎖で90%(無害なペイロードとして電卓を起動させて検証)、Claude Codeが約50%でした。Claude Codeのケースでは、悪意あるCLAUDE.mdがAPI通信を研究者のサーバーへ向け、ログイン用のトークンが露出し、返ってきたツール呼び出しがコードを実行したとされています。引用元のWatkin Labの解説では、この経路を「.claude/settings.jsonを作ってANTHROPIC_BASE_URLを攻撃者のサーバーに向ける」と説明していますが、これは二次情報で、BleepingComputerは「API通信をリダイレクトした」としか書いていません。
「ここにOpenAIやAnthropicが修正すべき点はありません。」
"There is nothing here for OpenAI or Anthropic to patch."
Forever Security の研究者 — BleepingComputer(2026年10月25日)
重要なのは、これにCVEもパッチも出ない見込みだという点です。ブラウザがテキストファイルを自動保存するのも、AIがフォルダ内のMarkdownを読んで従うのも、どちらも設計どおりの正常な機能だからです。つまりこれは、ツールの欠陥ではなく利用者側の運用で防ぐ問題です。だからこそ、起動フォルダの管理と権限設定が対策の中心になります。
なぜDownloadsフォルダが危ないのか?
~/Downloadsが危険なのは、Webページがクリックなしにファイルを書き込める数少ないフォルダだからです。研究者は「~/Downloadsは特別だ。Webが自力で書き込める唯一のフォルダだ」と述べています(ブラウザはダウンロード通知自体は表示します)。過去30年、テキストファイルは「それ自体では実行されない」から安全とされてきましたが、AIエージェントがそのテキストを読んで実行する時代には、その常識が通用しません。
そして、多くの開発者がまさにDownloadsでエージェントを起動しています。Forever Securityの内部統計では、Claude Codeだけで~/Downloadsから1,300回を超えるセッション起動があったとされ、約半数の開発者がダウンロードしたファイルを整理させるためにDownloadsでエージェントを開いている、という指摘もあります(いずれもForever社の集計で第三者の検証はありません)。「ダウンロードしたzipを解凍して」「このフォルダを整理して」と頼むために、無意識にDownloadsで起動してしまう。その瞬間に、同じフォルダに潜む指示ファイルが読み込まれます。
Codex側はさらに厄介で、~/.codex/config.tomlというマシン全体の設定に書き込むため、Downloadsを使うのをやめても、別の正規プロジェクトで起動したときに読み込まれて影響が持続しうる、と報告されています。Claude Codeがこの常時読み込み先を持つかはプロジェクト単位の設定が中心ですが、いずれにせよ「どこで起動するか」が最初の分かれ目になります。
どのファイルが読み込まれるのか実測した
「置くだけで読み込まれる」というリスクが本当か、そして引用元が勧める対策が効くのかを、この環境(Claude Code v2.1.311、macOS)で確かめました。安全のため、攻撃の再現はしません。「Downloadsに見立てたフォルダ」に、回答の末尾に無害なマーカー文字列を出力させるだけの指示ファイルを置き、claude -p "2たす2は?"を実行して、結果にマーカーが出れば「その指示ファイルが起動時に読み込まれた」と判定します。外部送信も設定改変も一切含みません。
| 置いたファイル | 読み込まれたか | 意味 |
|---|---|---|
| CLAUDE.md(正規名) | 読み込まれた | 起動フォルダに置くだけで指示が効く=リスクは実在 |
| AGENTS.md(CLAUDE.mdなし) | 読み込まれた | AGENTS.mdだけでも乗っ取り経路になる |
| claude.md(小文字) | 読み込まれた | macOSは大文字小文字を区別せず、正規名扱い |
| CLAUDE (1).md(重複名) | 読み込まれず | ブラウザの重複リネーム名は読まれない=先置き対策の核 |
| 先置きCLAUDE.md + CLAUDE (1).md | 先置きのみ読み込み | 先に置けば後発の同名ファイルは無効 |
| 先置きCLAUDE.md + AGENTS.md | CLAUDE.mdのみ読み込み | CLAUDE.mdがあるとAGENTS.mdは読まれない |
| 別フォルダで起動し --add-dir で追加 | 読み込まれず | 追加ディレクトリのCLAUDE.mdは既定で読まれない |
※ 当研究所の実測(2026年10月27日、Claude Code v2.1.311、Sonnet 5.5、auto mode、各1回・各約0.09ドル)。マーカーは無害な文字列で、攻撃内容は含みません。プロンプトとログはリポジトリ内 content-pipeline/drafts/claude-code-security-downloads-verification/ に保存。
結果は明快でした。CLAUDE.mdもAGENTS.mdも、起動フォルダに置くだけで読み込まれます。公式ドキュメントも「Claude Codeは起動時に、作業ディレクトリとその上位すべてのCLAUDE.md・CLAUDE.local.mdを読み込む」と明記しており、AGENTS.mdはCLAUDE.md系が1つも無いときだけ読まれます(v2.1.277以降)。小文字のclaude.mdが読まれたのは、macOSのAPFSが既定で大文字小文字を区別しないためで、CLAUDE.mdと同一視されています。リスクが実在することは、これで確認できました。
Claude Code研究所が勧めるセキュリティ対策7つ
当研究所の結論は、「Downloadsで起動しない」を最優先に、権限と承認を重ねることです。完璧な単一の対策はないので、起動場所・権限・確認の3層で守ります。実測で効果を確認できたものには(検証済み)と付けました。
Downloads・デスクトップ・ホームで起動しない(最優先)
作業するプロジェクトの直下でClaude Codeを起動します。公式ドキュメントも「ホームディレクトリ直下で起動すると信頼の承認が保存されず毎回ダイアログが出る。プロジェクトのサブディレクトリから起動せよ」と明記しています。これだけで、Downloadsに潜む指示ファイルは読み込まれません。
専用の作業フォルダを1つ作る
~/claude-work のような作業用フォルダを用意し、扱いたいファイルだけそこへコピーしてから起動します。ダウンロードした資料を整理させたいときも、Downloadsそのものを開かず、必要なファイルを移してから作業します。
Downloadsを見せたいなら --add-dir で足す(検証済み)
きれいなプロジェクトで起動し、--add-dir ~/Downloadsで参照だけ追加します。実測のとおり、追加ディレクトリのCLAUDE.mdは既定で読み込まれないので、指示ファイルに乗っ取られずにファイルを読めます。
auto modeと承認プロンプトを切らない
auto modeの分類器は、設定ファイルの変更・standing-rule(恒久ルール)の変更・外部への機密送信を既定でブロックします(当研究所のauto mode実測で確認)。--dangerously-skip-permissionsを使うとこの保護が外れるので、不用意に付けないでください。
危険な書き込み先を permissions.deny で封じる
設定ファイルや認証情報への書き込み・読み取りをdenyルールで止めます。deny ルールはどの権限モードでも効きます。例は次のコードブロックに示します。
知らない指示ファイルは中身を確認してから信頼する
見覚えのないCLAUDE.md・AGENTS.mdは、エージェントに従わせる前に自分で開いて読みます。/doctor prompt-auditで、読み込まれる指示ファイルを一覧できます。
機密・不明な資料は隔離環境で扱う
出所不明のコードや資料を扱うときは、VMやサンドボックス、開発コンテナの中で起動します。公式も未信頼コンテンツの取り扱いでVMの利用を推奨しています。
{
"permissions": {
"deny": [
"Write(.claude/settings.json)",
"Edit(.claude/settings.json)",
"Write(./.claude/settings.local.json)",
"Read(./.env)",
"Read(./.env.*)",
"Read(**/*.pem)",
"Read(**/*.key)"
]
}
}
// さらに厳密に止めたい場合は、設定変更をブロックする ConfigChange フック(exit 2)や、
// Write/Edit を監視する PreToolUse フックを併用する(公式ドキュメント)。
権限設定の全体像は非エンジニアのためのセキュリティチェックリストに、権限ルールの書き方は権限設定ガードレールの作り方にまとめています。この記事の対策は、それらに「起動フォルダを選ぶ」という一層を足すものです。
引用元の「先回りCLAUDE.md」は本当に安全か?
元の注意喚起ポストは、もう1つの対策として「先にCLAUDE.md・AGENTS.mdをDownloadsに仕込んでおけば、後続の同名ファイルは『CLAUDE (1).md』などに勝手にリネームされ無効化されるので安全」と書いていました。これは実測で有効でした。先に正規のCLAUDE.mdを置いたフォルダに後発の同名ファイルを置くと、後発は読み込まれず、先置きのCLAUDE.mdだけが効きます。さらにCLAUDE.mdがある状態ではAGENTS.mdも読まれないので、2つの経路を同時に塞げます。
ただし、当研究所としてはこれを応急策と位置づけます。理由は3つです。第一に、あくまで1フォルダ単位の防御で、そのフォルダに正規のCLAUDE.mdが1つも無ければ、攻撃者が最初に置いたCLAUDE.mdはそのまま読まれます(「先に置いてある」ことが条件)。第二に、重複ファイルの名前の付け方はブラウザや環境で違い、macOSのように大文字小文字を区別しない環境では小文字のclaude.mdも正規名として扱われます。第三に、そもそもDownloadsで起動しなければ、この対策自体が不要になります。先回りCLAUDE.mdは「どうしてもDownloadsを使う場面の保険」にとどめ、根本対策は対策1(起動フォルダを選ぶ)に置いてください。
士業・非エンジニアはどう運用すればいいか?
非エンジニアの実務でこの問題が起きるのは、「ダウンロードした資料をそのまま整理させたい」場面です。たとえば、役所からの通知PDFや顧客から届いたファイルをDownloadsに貯め、そこでClaude Codeを開いて「仕分けして」と頼む、という使い方です。ここで3つを守れば、まず安全です。
- Downloadsでは開かない。~/claude-work のような作業フォルダを1つ決め、扱うファイルだけコピーしてから起動します。
- 承認を読む。「外部に送信します」「設定を変更します」と出たら、内容を確認してから許可します。auto modeはこうした操作を止めてくれますが、最後に判断するのは人です。
- 顧客情報は権限で守る。対策5のdenyルールで、認証情報や設定ファイルへのアクセスをあらかじめ禁止しておきます。
当研究所の見解では、この攻撃の怖さは「高度さ」ではなく「日常の油断」を突く点にあります。逆に言えば、起動する場所を1つ決めるだけで、ほとんどのリスクは消えます。研修でも、最初に教えるのは派手なテクニックより「どこで起動するか」です。国内の実際のインシデントから学びたい方は2026年9月の国内事例の検証も参考にしてください。
まとめ
この記事のまとめ
- 2026年10月、Downloadsフォルダの悪意あるCLAUDE.md・AGENTS.mdでClaude CodeやCodexを乗っ取る手口が開示された。報告ではClaude Codeで約50%成功。CVEもパッチも出ない見込みで、利用者の運用で防ぐ問題
- Claude Codeは起動フォルダと上位のCLAUDE.md・AGENTS.mdを自動で読む。実測でも、置くだけで指示が読み込まれることを無害なマーカーで確認した
- 最優先の対策は、Downloads・デスクトップ・ホームで起動せず、プロジェクトの直下で起動すること(公式も推奨)
- Downloadsを扱うなら--add-dirで追加する(追加先のCLAUDE.mdは既定で読まれないと実測)。auto modeと承認を切らず、permissions.denyで設定・認証情報を守る
- 引用元の「先回りCLAUDE.md」は実測で有効だが、1フォルダ単位の応急策。根本対策は起動フォルダを選ぶこと
安全な設定まで含めて、Claude Codeを社内に入れる。
防衛省主催のサイバーセキュリティコンテストで入賞した専門家が教材を設計。機密情報を扱う士業事務所でも使える運用設計を、一社ごとの対面研修で身につけます。
- 一社ごとに業務をヒアリングして設計
- 実際の業務データでハンズオン
- スパルタ以上は全額返金保証
- 受講法人数100社超
オンライン30分・無料。フォームは入力1分で、2営業日以内にご連絡します。
よくある質問
Claude Codeで今注意すべきセキュリティリスクは何ですか?
2026年10月に、Downloadsフォルダに仕込まれた悪意あるCLAUDE.md・AGENTS.mdでClaude CodeやCodexを乗っ取る手口がセキュリティ企業Forever Securityにより開示されました。エージェントは起動したフォルダの指示ファイルを自動で読み、自分が持つツール権限で実行するため、プロンプトインジェクションが成立します。報告ではCodexが約90%、Claude Codeが約50%の確率で指示に従い、Claude Codeの場合はAPI通信が攻撃者のサーバーへ向けられてログイントークンが露出したとされています。
DownloadsフォルダでClaude Codeを起動すると危険なのはなぜですか?
~/Downloadsは、Webページがクリックなしにファイルを書き込める数少ないフォルダだからです(ブラウザはダウンロード通知を出します)。悪意あるWebページがCLAUDE.mdやAGENTS.mdをそこへ落とし、利用者が後でそのフォルダでClaude Codeを起動すると、仕込まれた指示が正規のプロジェクト指示として読み込まれます。対策は、Downloads・デスクトップ・ホームで起動せず、作業するプロジェクトの直下で起動することです。これは公式ドキュメントも推奨しています(2026年10月27日時点)。
悪意のあるCLAUDE.mdから守るには具体的に何をすればいいですか?
当研究所が勧める対策は、①Downloads・デスクトップ・ホームで起動しない、②作業するプロジェクトの直下で起動する、③Downloadsのファイルを扱うなら--add-dirで追加する(追加先のCLAUDE.mdは既定で読まれません)、④auto modeや承認プロンプトを有効のままにし--dangerously-skip-permissionsを使わない、⑤permissions.denyで設定ファイルや認証情報への書き込み・読み取りを禁止する、⑥知らない指示ファイルは中身を確認してから信頼する、⑦重要な資料は隔離環境で扱う、です。詳細は本文の対策一覧にまとめています。
先にCLAUDE.mdを置いておくと安全というのは本当ですか?
当研究所の実測では有効でした。先に正規のCLAUDE.mdを置いておくと、後からダウンロードされた同名ファイルはブラウザによって「CLAUDE (1).md」のような別名にリネームされ、Claude Codeはこれを読み込みません。さらにCLAUDE.mdがある状態ではAGENTS.mdも読まれなくなるため、両方の経路を塞げます。ただしこれは1フォルダ単位の応急策で、そのフォルダに正規のCLAUDE.mdが無ければ攻撃者が最初に置いたファイルはそのまま読まれます。根本対策はDownloadsで起動しないことです。
Anthropicはこの問題にパッチを出しますか?
開示した研究者は「There is nothing here for OpenAI or Anthropic to patch.(修正すべき点はない)」と述べており、CVEやパッチは出ない見込みです。ブラウザがテキストファイルを自動保存するのも、AIがフォルダ内のMarkdownを読んで実行するのも、どちらも設計どおりの正常な機能だからです。したがってこれは利用者側の運用で防ぐ問題で、起動フォルダの管理と権限設定が中心的な対策になります(2026年10月27日時点)。
士業や非エンジニアがClaude Codeを安全に使うにはどうすればいいですか?
まず、ダウンロードした資料をそのまま整理させたいときでも、Downloadsフォルダの中でClaude Codeを起動しないことです。専用の作業フォルダ(例:~/claude-work)を1つ作り、必要なファイルだけそこへコピーしてから起動します。auto modeと承認プロンプトは切らず、「送信」「設定変更」「外部への送信」を求められたら内容を確認してから許可します。顧客情報など機密を扱う場合は、permissions.denyで認証情報や設定ファイルを保護し、不明なCLAUDE.md・AGENTS.mdは開く前に中身を読む習慣をつけてください。
参考資料・出典
- ニュースAI coding agents hijacked using AGENTS.md file in Downloads folder
Forever Securityの開示の検証可能な事実。成功率、OAuthトークン露出、ベンダー対応なし、推奨対策、研究者の引用
- 公式ドキュメントHow Claude remembers your project(CLAUDE.md / AGENTS.md)
起動時に作業ディレクトリと上位のCLAUDE.md/AGENTS.mdを読む、AGENTS.mdはCLAUDE.mdが無いときだけ、--add-dirは既定で読まない、claudeMdExcludes
- 公式ドキュメントSecurity(Claude Code 公式ドキュメント)
ホーム直下で起動すると信頼が保存されない=プロジェクト直下で起動せよ、未信頼コンテンツの扱い、VM/サンドボックス、ConfigChangeフック
- 公式ドキュメントConfigure permissions(What runs before you trust a folder)
ワークスペース信頼、claude -pは信頼ダイアログを出さない、--setting-sources user、--bare、permissions.deny
- スレッドClaude Code・CodexをDownloadsフォルダで起動しない/先回りCLAUDE.mdの注意喚起
記事の出発点。先置き対策の検証対象。引用元は@0xWatkin(Watkin Lab)の解説ポスト
- スレッドNever start Claude Code or Codex in your ~/Downloads folder(引用元・中国語)
開示の要約(表示97.1万)。settings.json・ANTHROPIC_BASE_URLの記述は二次情報として帰属して引用
Claude Codeを実務で活用したい方へ
一社ごとにカスタマイズする対面のClaude Code研修は「スパルタClaude Code塾」。経営者・士業・エンジニア・マーケター・営業職まで、業務をヒアリングしてカリキュラムを設計します。まずは30分の無料相談で、自動化プランと費用対効果をご確認ください。

