ある顧客のPCで、AIがダウンロードフォルダにあった文書を作業手順として読み、不正なソフトを入れようとしました。セキュリティ企業が、不正なコードが動く前に検知して止めた事例です。
CSVを一つ確認するだけでも、Claude CodeやCodexが起動時に探す指示は、開くフォルダで変わります。
ダウンロード先とは別に、専用の作業フォルダを用意しましょう。 資料の渡し方と、すでにダウンロード先で使った場合の設定の点検手順を紹介します。
ダウンロード先を作業場所にすると、何が起きるのか
Claude CodeやCodexは、チームの開発ルールや作業手順を毎回伝えなくても済むよう、決まった名前の指示ファイルを読みます。
CodexではAGENTS.md、Claude CodeではCLAUDE.mdなどが対象です。
Claude Codeのv2.1.277以降の対応セッションでは、作業場所やその親に対象のCLAUDE.mdなどがなければ、既定設定でAGENTS.mdも読み込みます。
一方、ブラウザの設定や動作によっては、悪意のあるWebページがダウンロードの明示操作を求めず、保存先に同じ名前のファイルを置けます。
その場所でAIを起動し、ファイルが作業指示として読み込まれると、AIが書かれている指示に沿って設定の変更やコマンドの実行を試みることがあります。
外部のファイルを受け取る場所と、AIが指示を探す場所が重なることが原因です。ブラウザの保存機能と、AIの指示読み込み機能が組み合わさって起きるため、個別の不具合を修正するだけでは同じ構図が残ります。
受け取った資料を使うときの3ステップ
1. ダウンロード先の外に作業フォルダを作る。
単発の確認なら、用途が分かる名前で空のフォルダを用意します。既存のプロジェクトで作業するなら、普段使っている場所を開きます。
2. 必要なファイルだけを確認して移す。
CSVを確認したいなら、そのCSVだけを移します。ZIPを展開した場合や、新しく入手したプロジェクトを開く場合は、AGENTS.mdやCLAUDE.mdなどの中身をテキストエディタで確認します。見覚えのないパッケージや接続先が指定されていたら、由来を確かめてから進めます。
3. 開いている場所と許可する操作を確かめる。
起動前にターミナルや開発用アプリで作業場所を確認します。途中で承認を求められたら、変更するファイル、実行する処理、通信先が依頼に合うかを見ます。コマンドがアクセスできる場所や通信を制限するサンドボックスと、承認の仕組みは維持します。
実際に止められた不正なインストール
2026年10月22日にセキュリティ企業が公表した事例では、顧客PCのダウンロード先にあったAGENTS.mdを読み取ったAIが、悪意のあるnpmパッケージ「function-color」を入れようとしました。
顧客PCでは不正なコードが動く前に停止され、指示ファイルがどこから来たかは特定されていません。
同社は別の環境で、この仕組みを再現しました。Codexではユーザー設定に不正なツール接続が登録され、別のCodexを承認やサンドボックスを外した状態で起動させて、指定のコードを実行する流れを確認しました。
大半の試行に無害な代替を使い、コードが実行された割合は90%超でした。実物のfunction-colorは隔離した仮想マシンで一度だけ実行しました。
Claude Codeでは通信先の設定を書き換える手口を試し、設定変更に成功した割合は約50%でした。
調査で使ったログイン構成では、変更後にその接続先へ通信すると、本人としてサービスを利用するためのOAuthトークンも相手に渡ることが確認されました。
何が持ち出され得るのでしょうか。顧客PCの事例は不正なコードが動く前に止まり、情報が持ち出されたという報告はありません。
別の再現試験で調査チームが取得したのは、Claude Codeのログイン用トークンです。調査チームはそのトークンで、元の利用者としてClaudeのAPIを使えました。
Claude Codeの接続先が書き換わると、変更先に送った依頼文や、通信に含まれる資料・コードの一部も、受け取った側に読まれる可能性があります。たとえば、社内向けの依頼文や、集計のためにAIが送った顧客名です。
Codexの試験で確認されたのは、指定されたコードが動くところまでです。
そのコードが利用者の権限でファイルを読めて、外部にも通信できる場合は、設定ファイル(.env)に保存したAPIキー、未公開のソースコード、顧客情報を含むCSVなどが持ち出される可能性があります。
これらはそれぞれ別の条件と結果を数えた値です。同社の顧客のおよそ半数で、ダウンロードフォルダからAIを起動する使い方が見られたことも報告されています。
すでにダウンロード先で使った人が点検する場所
設定ファイルは、AIを起動する前にメモ帳などのテキストエディタで開きます。
図の「~」は自分のホームフォルダです。Codexはそこから、Claude Codeの作業用設定は当時AIを起動したフォルダから探します。
・Codexでは、ユーザー設定ファイル「~/.codex/config.toml」を開き、MCPサーバーの登録と起動コマンドを見ます。MCPは、AIを外部のツールにつなぐ仕組みです。この設定に不正な登録が残っていると、同じユーザーが別のプロジェクトで起動しても影響が及ぶことがあります。
・Claude Codeでは、当時の作業場所にある「.claude/settings.json」を開き、APIの接続先を決める「ANTHROPIC_BASE_URL」や、中継先を指定するプロキシ設定を確認します。
Claude Codeの通信先は、起動したフォルダの「.claude/settings.json」を開き、「env」の中にある「ANTHROPIC_BASE_URL」と、通信の中継先を指定する「HTTPS_PROXY」「HTTP_PROXY」を確認します。
「.claude/settings.local.json」やホームフォルダの「~/.claude/settings.json」があれば、同じ項目を見ます。
Claude CodeのMCPも点検します。起動したフォルダの直下にある「.mcp.json」を開き、「mcpServers」の中に見覚えのない接続先(url)や、起動コマンド(command)と引数(args)がないかを見ます。
個人用のMCP登録は「~/.claude.json」の該当箇所も確認します。
Codexでは「~/.codex/config.toml」の「mcp_servers」で、登録名だけでなく「url」「command」「args」の値を見ます。
信頼済みプロジェクトに「.codex/config.toml」があれば、そちらのMCP設定も対象です。ユーザー設定に「chatgpt_base_url」があれば、ログイン先が意図せず変わっていないかも確認します。
「.mcp.json」は今回の再現試験で書き換えられたという報告はなく、外部ツールへの接続を調べるための追加の点検先です。
見覚えのないURLは開かず、コマンドも実行せずに、チームで承認した設定や以前の設定と照らし合わせます。
身に覚えのない設定を見つけたら、AIの再起動を控え、元の指示ファイル、設定、ログを残します。
仕事の端末で不審な通信やインストールが疑われる場合は、社内の端末管理や情報セキュリティの担当者に連絡してください。ログイン情報が送られた疑いがあれば、信頼できる別の端末から該当の認証情報を無効にします。
次に資料を開く前に
まずは、ダウンロード先の外に資料確認用のフォルダを一つ作ってください。CSVを一枚だけ見るときも、確認したファイルだけをそこへ移し、AIはその作業場所で起動します。
ダウンロード先でAIを使ったことがある場合は、最後のチェックリストで、指示ファイルと使っている製品の設定を見直します。
見覚えのないファイルや設定が見つかったら、AIの起動を見合わせ、ファイル名と場所、見つけた時刻を記録してください。初めて使う場合も、起動するフォルダと権限を確認します。
仕事でAIを使うときに、どの資料を渡してよいか、作業をどう進めるかで迷ったら、お気軽にご相談ください。普段の仕事に合わせて、AIに渡す資料の選び方と作業手順を一緒に整理します。
相談先「初心者の生成AI選びと仕事の使い方をお手伝いします」