Claude Codeのセキュリティ対策について、ウェブ職TVのなかじさんが新しい動画を出しました。題材は、ダウンロードフォルダの整理をAIに頼む、というありそうな使い方です。
動画の題名は「90%以上の確率でPCを乗っ取られる悪魔の攻撃手法が見つかりました…」。これを見て、ぼくがClaude Codeの上で回している仕組みを見直しました。
話しているのは、前回の記事で用語を解説した動画と同じ、YouTubeチャンネルウェブ職TV@AIセキュリティ専門のなかじさんです。今回の動画は約30分あります。前回の記事はこちらです。

パソコンでClaude CodeやCodexを使っている方が、どのフォルダで起動して、何を見ておけばいいのか。動画を見ながら、そこを考えてみました。
Claude Codeのセキュリティ対策
ぼくのポイント動画(1分ほど)
なかじさんの動画とは別に、ぼくが作った動画です。攻撃の流れと、起動するフォルダの選び方を、動く図で1分ほどにまとめました(ナレーションはAIの合成音声です)。
なかじさんの動画の中身
動画の話の中心は、こんなところでした。
- 結論は、ダウンロードフォルダでClaude CodeやCodexのようなAIエージェントを起動しないこと。今すぐやめたほうがいい、という話し方です
- 仕組みは、AIに読ませる文の中に命令を混ぜる「プロンプトインジェクション」の一種(前回の記事で説明しています)。成り立つ条件は、ダウンロードフォルダで起動していることと、悪意のある.md(文字だけで書いたファイル)がそこに落ちていることの2つ
- AIエージェントはCLAUDE.mdやAGENTS.md(AIに向けた取扱説明書のファイル)に忠実に従うように作られていて、自分が置いたものか攻撃者が置いたものかは区別できない
- .exe(Windowsで動くプログラムのファイル)は落とすときに確認が出るのに、.mdは文字のファイルなので確認なしに落ちる、という説明
- プログラムの欠陥というより、正常な機能の組み合わせなので、直すのが難しい。ウイルス対策ソフトも、ただの文字は見分けにくい
- 補助の対策として、先に同じ名前の.mdを置いておく方法にも触れつつ、確実ではないとも話しています
- 最後は、言葉の意味を知ることと、資格で学ぶ道筋
Claude Codeを使い始めたばかり、という方には、入門書もあります。技術評論社の『実践Claude Code入門』は、副題が「現場で活用するためのAIコーディングの思考法」の304ページの本で、2025年12月に出ました。楽天ブックスでは3,300円でした(10月27日時点)。
どんな攻撃なのか
CLAUDE.mdとAGENTS.md
CLAUDE.md(クロード・エムディー)は、Claude Codeが会話の始めに読み込むファイルで、AIに向けた取扱説明書のようなものです。拡張子の「.md」はMarkdown(マークダウン)の略で、見出しや箇条書きの印を付けられる、文字だけのファイルを指します。AGENTS.mdは、Codexなどのコーディング用AIが読む、同じ役目のファイルです。Claude Codeも、条件つきで読みます。
ここで押さえておきたいのは、読み込んだ内容に従うかどうかが、AI任せの部分を残していることです。Claude Codeの公式ドキュメントには、こう書かれています。
CLAUDE.md 指示は Claude の動作を形作りますが、ハード強制レイヤーではありません。
攻撃の流れ
研究者が示した流れは、こうです。
模式図です。実際の画面ではありません。
- 悪意のあるWebページを開く。ページを開くだけで、AGENTS.mdやCLAUDE.mdという名前の.mdがダウンロードフォルダに保存されてしまう可能性があります(これは研究者が示した可能性の話で、実際の顧客の事案でどう置かれたかは、研究者も特定できていません)
- そのダウンロードフォルダで、Claude CodeやCodexを起動する。落としたファイルの整理を頼むのも、この1つです
- AIが.mdを読んで、中に書かれた指示に従う。コマンドの実行、パッケージの導入、設定の変更などが起こりえます
- Claude Codeの試験では、悪意のあるCLAUDE.mdでAPIの通信先を研究者のサーバーに向けさせると、ログインの情報(OAuthトークン)が漏れて、サーバーが返した命令でコードが実行されました
顧客のパソコンで実際に見つかったのは、ダウンロードフォルダのAGENTS.mdを読んだAIが、怪しいnpmパッケージ(プログラムの部品)を入れようとした場面でした。出どころはBleepingComputerの記事(※英語サイト・自動翻訳推奨)です。流れの段階ごとに、止める手は別々にあります。
| 段階 | 起きること | 止める手 |
|---|---|---|
| ①ページを開く | .mdがダウンロードフォルダに保存される。確認は出ず、通知は出る(Chrome・Edge・Firefox) | Chromeの設定「ダウンロード前に各ファイルの保存場所を確認する」をオンにしておく(効き目は試していません) |
| ②.mdが残る | ダウンロードフォルダに置かれたまま、AIが読める状態になる | 見覚えのない.mdやzipは、AIを起動する前に消す |
| ③AIを起動する | 起動したフォルダと、その上のフォルダのCLAUDE.mdを、起動時に読む | ダウンロード・デスクトップ・ホームでは起動せず、専用フォルダで起動する |
| ④AIが従う | .mdの指示で、パッケージの導入や設定の書き換えが試される | 確認が出たら、中身を読んでから答える。覚えのない書き換えは断る |
| ⑤設定が変わる | 通信先を変えられると、ログインの情報(OAuthトークン)が外へ出た(研究者の試験) | 設定ファイルを見張る |
90%という数字の見方
動画の題名にある「90%以上」は、研究者たちが自分たちの試験で出した数字です。Codexに、電卓アプリを開くだけの無害な中身を実行させる再現で、成功率が90%でした。Claude Codeでは別の試験で、ログインの情報が漏れてコードが実行されたのが、およそ50%でした。どちらもForever Securityという会社が自分たちで測った数字で、第三者が確かめたものではありません(BleepingComputerの2026年10月25日の記事より)。題名の90%を、そのままClaude Codeに当てはめることはできないんですね。
同じ記事には、数百の顧客がダウンロードフォルダからAIエージェントを起動していて、Claude Codeだけで1,300を超えるセッションがあった、という研究者の話も載っています。こちらもForever Securityの内部の数字です。
研究者は、こうも言っています。
There is nothing here for OpenAI or Anthropic to patch.
ブラウザがファイルを保存するのも、AIがAGENTS.mdに従うのも設計どおりの動きなので、OpenAIやAnthropicが直すものはない、という研究者の主張です。
動画では、.mdは確認なしに落ちると話していました(8分10秒ごろ)。BleepingComputerの記事によると、Chrome・Edge・Firefoxは保存場所を聞かないものの、ダウンロードした通知は出します。BleepingComputerが試したBraveは、承認を求めたそうです。Chromeのもとになっているソフト(Chromium)のソースを読むと、.mdは「危険な種類」の警告の対象に入っておらず、1つ目のダウンロードは確認なしで許される作りでした(ソースで読んだ話で、実際のChromeで試したわけではないんですが)。
トークンや平文のような言葉が、まだふんわりしているなら、基礎から読める入門書もあります。ハッカーかずさんの『社会人1年生の情報セキュリティ超入門』は、出版社の紹介で「専門知識がなくても大丈夫!」とされている256ページの本です(2025年3月発売)。前回の記事でも紹介しました。
題名の数字に驚いて、すぐ全部をやめる必要はなさそうです。ただ、起動する場所だけは、今日から選び直せます。
起動するフォルダの選び方
どのファイルをいつ読むか
まず、Claude CodeがどのフォルダのCLAUDE.mdを、いつ読み込むのかです。公式ドキュメント(日本語版)の説明は、こうです。「ディレクトリ」は、フォルダのことです。
Claude Code は、現在の作業ディレクトリとそれより上のすべてのディレクトリから CLAUDE.md と CLAUDE.local.md をロードします。
「現在の作業ディレクトリ」は、Claude Codeを起動したフォルダです。下のフォルダ、つまり起動したフォルダの中にあるフォルダについては、こう書かれています。
起動時にロードするのではなく、Claude がそのサブディレクトリ内の別のファイルを読み取り、書き込み、または編集した時点で、Claude Code はそれぞれをロードします。
| 置き場所 | 読み込まれるとき |
|---|---|
| 起動したフォルダ | 起動したとき |
| その上のフォルダ(親、そのまた親…) | 起動したとき |
| その下のフォルダ | そのフォルダの別のファイルを、AIが読む・書く・編集したとき(cat や head で中身を表示した場合も読むに入る) |
| AGENTS.md(Claude Codeの場合) | 起動したフォルダかその上に、CLAUDE.mdもCLAUDE.local.mdも無いとき(既定の動き) |
出典は、Claude Code公式ドキュメント「Claude があなたのプロジェクトを記憶する方法」の日本語版です(2026年10月27日に見ました)。
Claude Codeの場合の図です。Codexは読み込みの規則が別です。模式図です。
ダウンロードフォルダと専用フォルダ
たとえば、ダウンロードフォルダの中に作ったフォルダで起動しても、上のダウンロードフォルダのCLAUDE.mdは読まれます。ホーム(ユーザーごとの個人用フォルダ全体。Windowsなら「C:\Users」の下の自分の名前のフォルダです)で起動して「ダウンロードを整理して」と頼めば、ダウンロードフォルダのファイルを読んだ時点で、そこにあるCLAUDE.mdが読まれます。
BleepingComputerの記事には、ダウンロードフォルダをAIの作業フォルダにしないほうがよいこと、OpenAIとAnthropicは作業の対象になるプロジェクトのフォルダで起動することを勧めていることが書かれています。公式ドキュメントの読み込みの仕組みと合わせて、ぼくは次のようにするのがよさそうだと考えました。
- 作業ごとに専用のフォルダを作って、そこで起動する。中には、自分で作ったファイルと、自分で中身を確かめたファイルだけを入れる
- ダウンロード・デスクトップ・ホームでは起動しない。ダウンロードは、ブラウザが保存する既定の場所で、外から来たファイルがたまります。ホームは、その下にダウンロードを含みます。デスクトップも、外から持ってきたファイルを置いてしまいやすいので、同じ扱いにしておくのが無難そうです
- 専用フォルダは、ダウンロードやデスクトップの中に作らない。上のフォルダのCLAUDE.mdも読まれるからです
- zipや他の人のリポジトリ(プログラムの一式を入れたフォルダ)など、外から持ってきたものを置くときは、先に中身の一覧を見る。CLAUDE.md、AGENTS.md、
.mcp.json、.claudeフォルダが混ざっていないかを確かめます。下のフォルダのCLAUDE.mdも、読んだ時点で効くからです - ダウンロードフォルダの整理を頼みたいときは、整理したいファイルを自分で専用フォルダに移してから起動する
いま自分がどのフォルダにいるかは、PowerShellなら pwd、コマンドプロンプトなら cd とだけ打つと表示されます。表示するだけで、何も変わりません。
どこで起動するのがいちばんいいのかは、最初からはっきりしていたわけではなく、公式ドキュメントとBleepingComputerの記事を読みながら、だんだんこの形になりました。自分のパソコンで起動している場所と設定ファイルを見直すための手順も、1つ作ってあります。これで全部が防げるわけではなく、専用フォルダの中に外から来たファイルを入れれば、同じことが起こりえます。だから4番の「中身を見てから置く」が、いちばん大事かもしれません。
同名のファイルを先に置く
なかじさんが補助の対策として挙げていたのは、ダウンロードフォルダに、CLAUDE.mdやAGENTS.mdを先に置いておく方法です。ブラウザは、同じ名前のファイルがあると「名前 (1).md」のように番号を付けて保存するので、読まれるのは先に置いたほうだけ、という考え方です。Chromiumのソースを読むと、同じ名前があるときは番号を付ける作りでした。
ただ、抜け道が見つかります。CLAUDE.local.mdや、Codexが優先して読むAGENTS.override.mdは別の名前なので、先に置いたCLAUDE.mdでは間に合いません。zipの中の、下のフォルダに入っているファイルも、解凍したあとの話です。どれも、文書とソースを読んで考えた抜け道です。なかじさんも、この方法は確実ではないと話していました。
設定ファイルの見張り方
書き換えられて困る場所
設定ファイルは、書き換えられると困る場所です。たとえばClaude Codeの通信先です。公式の設定の説明(10月27日に見ました)には、settings.jsonのenv(環境変数の設定)にANTHROPIC_BASE_URLを書く例が載っていて、こう説明されています。
この例では、自動圧縮をオフにし、API リクエストをプロキシ経由でルーティングします。
プロジェクトの.claude/settings.jsonに書いたenvは、フォルダを信頼したあとに適用され、保存した変更でも適用し直されます(同じページ)。つまり、通信先を変える行がこっそり足されると、次からのやり取りが別の宛先に向くことになりそうです。
AIが.claudeフォルダや.mcp.jsonに書き込むときは、権限モードの文書(同じく10月27日に見ました)で「保護されたパス」とされていて、defaultとacceptEditsのモードでは確認が出ます。その保護されたパスの一覧に、CLAUDE.mdは載っていません。実機で確かめたわけではないので、使っている方は、CLAUDE.mdが確認なしで書き換わる場面がないか、一度見ておくと安心です。
Codexで見る場所
Codexには、確認とサンドボックス(AIが動ける範囲を囲う仕組み)をまとめて外す--dangerously-bypass-approvals-and-sandbox(別名--yolo)という起動オプションがあります。OpenAIのソースのコメントには、こう書かれています(※英語サイト・自動翻訳推奨)。
EXTREMELY DANGEROUS.
MCP(AIに外の道具をつなぐ仕組みです。くわしくは前回の記事に書きました)の登録は、codex mcp addというコマンドで~/.codex/config.tomlに書き込まれます(同じソースのコメントより)。ここに覚えのない登録が混ざると、どのフォルダでCodexを開いても影響が出ます。
MCPやプロンプトインジェクションを、もう少し順を追って知りたい方には、電子書籍もあります。池本毅さんの『AIエージェントは何を危険にするか』は、商品ページによると、扱う脅威としてPrompt Injection・Confused Deputy・Malicious Serverの3つを挙げた、非エンジニア向けの94ページの本です(2026年4月発売)。自分に合う内容かどうか、買う前に試し読みで見ておくと安心です。
見張る場所の一覧
表の「~」は、ホームフォルダのことです。Windowsなら、エクスプローラーのアドレス欄に %USERPROFILE%\.claude と入れると .claude フォルダが開きます。.claude.json は、%USERPROFILE% を開いて探します。
| 場所 | 見ること |
|---|---|
| 起動するフォルダと、その上のフォルダ | CLAUDE.md、CLAUDE.local.md、AGENTS.md、AGENTS.override.mdに、自分で置いた覚えのないものが無いか |
プロジェクトの.claude/settings.json | envの中に、覚えのない行(とくにANTHROPIC_BASE_URLのような通信先)が無いか。settings.local.jsonも同じ |
ユーザー設定の~/.claude/settings.json | 同じく、envに覚えのない行が無いか。mcp__で始まる許可の行に、覚えのない道具の名前が無いか |
Claude Codeの~/.claude.json | mcpServersの中に、覚えのないMCPの登録が無いか |
プロジェクトの.mcp.json | 覚えのないMCPの登録が無いか |
Codexの~/.codex/config.toml | mcp_serversに覚えのない登録が無いか。base_url(通信先)に覚えのない行が無いか |
| Codexの起動のしかた | --dangerously-bypass-approvals-and-sandbox(--yolo)を、自分の意思で付けているのでなければ、付いていないか |
設定ファイルをgitで管理しているフォルダなら、git statusとgit diffで、覚えのない変更を見つけられます。見つけたら、中身を読んでから、残すか戻すかを決めます。
ぼくの仕組みの点検
ぼくがClaude Codeの上で回している「会社ごっこ」は、ルールファイル(CLAUDE.md)を毎回読ませて、秘書役、制作部、分析部、開発部のAIに仕事を分けています。くわしくは、前に書いた記事にまとめました。

これからは、会社ごっこを回しながら、セキュリティのことも考えていきたいと思っています。そこで、セキュリティについての情報をまとめておくフォルダを1つ作り、今回の動画の記録もそこに入れました。守りを受け持つ部を新しく作るかどうかも、考えないといけない時代だと思っています。ただ、いまは作らずに、いまの部で回していきます。
この動画を見て、ぼくの仕組みで見直したことが2つあります。
下のフォルダのCLAUDE.md
1つ目は、公式ドキュメントのとおり、下のフォルダのCLAUDE.mdが本当に読まれるのかです。害のない試験用のCLAUDE.mdを用意しました。中身は、返事の頭に1行書いてください、という一文だけです。それを置いたフォルダの、ふつうの文章のファイルをClaude Codeに読ませたところ、読んだ直後に、そのCLAUDE.mdの中身が会話に差し込まれました。
クラウド版のClaude Codeで、1回試しただけの観察です。指示には従わせず、試験用のファイルは、終わってから消しました。外から取り込んだファイルのフォルダにCLAUDE.mdが混ざっていたら、同じことが起きると考えたほうがよさそうです。
起動のたびの点検
2つ目は、気づく仕組みです。フック(決まったタイミングで自動で動く仕組みで、前の記事でも使っています)で、起動のたびに動く点検を作って、いまは試しに動かしているところです。会社ごっこのファイル一式を入れたフォルダの中で、CLAUDE.md、AGENTS.md、.mcp.json、.claudeの中の設定ファイルなどを数えて、想定した場所と数からずれていたら警告を出します。そのフォルダの中のどこかにCLAUDE.mdが置かれたら、次の起動で気づけます。見るのはそのフォルダの中だけで、パソコン全体は見ません。
見るのは、会社ごっこのファイル一式を入れたフォルダの中だけです。模式図です。
試験用のファイルを置いたフォルダで、見つかる場合と見つからない場合の両方を試して、うまく働くことを確かめました。わかるのは「置かれたこと」までで、中身が危険かどうかは見ません。ほかにも見直しているところがあるので、直し終わったことから、また書きます。
クラウドで使うとき
ぼくが使っているクラウド版の環境を見ると、ダウンロードフォルダはありません。ただ、外から取ってきた文章をAIが指示として読んでしまう、という根っこの部分は、クラウドでも同じです。ローカルとクラウドの違いは、環境の選び方の記事に書いています。

ブラウザを操作させる使い方では、開いたページの文章がそのままAIに入ります。Webページの中に仕込まれた命令にAIがだまされる話は、Claude in Chromeの記事に書きました。

学ぶ入口
言葉のメモ
なかじさんは動画の最後で、ホームディレクトリ、ダウンロードフォルダ、.exe、プレーンテキスト、マークダウン、.toml、.json、トークン、平文といった言葉の意味を知っておくことを勧めていました。
| 言葉 | ふつうの言い方だと |
|---|---|
| ホームディレクトリ | ユーザーごとの個人用フォルダ全体。ダウンロードやデスクトップも、この下にあることが多い |
| .exe | Windowsで動くプログラムのファイル |
| プレーンテキスト | 文字だけのファイル。.mdもこの仲間 |
| .json・.toml | 設定を書くための、決まった書き方のファイル(settings.json、config.tomlなど) |
| トークン | ログインしている証拠として使う、長い文字列。盗まれると、持ち主になりすまされるおそれがある |
| 平文 | 暗号にしていない、そのまま読める文字 |
資格と本
学ぶ道筋として、なかじさんは、ITパスポートから基本情報、応用情報へ進む順番と、情報処理安全確保支援士(登録セキスペ)やネットワークスペシャリストを挙げていました。ITパスポートについては、前回の記事に書いています。
情報処理安全確保支援士は、情報セキュリティの国家資格です。インプレスの『徹底攻略 情報処理安全確保支援士教科書 令和8年度』は、816ページあります。試験を行うIPAの案内では、セキュリティ対策を調べて評価し、そのうえで指導や助言をする立場の人を想定した試験とされています。入門の資格というより、少し先の目標として置いておく試験です。楽天ブックスでは3,168円でした(10月27日時点)。
試験の本は、気が向いたときに眺めるだけでも、ふだん見ない言葉に慣れる助けになりそうです。
まとめ

- Claude Codeのセキュリティ対策は、まず起動するフォルダから。作業ごとの専用フォルダで起動して、ダウンロード・デスクトップ・ホームでは起動しない。上のフォルダのCLAUDE.mdも読まれるので、専用フォルダはダウンロードの中に作らない
- 見張るのは、CLAUDE.md、AGENTS.mdと、通信先やMCPの設定。覚えのない行があれば、中身を読んでから残すか戻すかを決める
- 題名の90%は、Codexで電卓を開く試験の数字。Claude Codeの試験はおよそ50%で、どちらも研究者の会社が自分たちで測った数字
- ぼくの仕組みでは、下のフォルダのCLAUDE.mdが読まれることを確かめたうえで、起動のたびに指示ファイルを数える点検を作って、試しに動かしている
なかじさんの動画は、ダウンロードフォルダの整理を頼むような、ふだんの使い方に潜む話でした。使っているフォルダと設定ファイルを、一度見直してみてください。


コメント