Downloadsをの日常の作業ルートにせず、指示ファイルと実行権限を点検したい。 外部から届いた文章が、ファイルの編集やコマンド実行の指示として扱われる可能性があるためだ。
きっかけは、やをDownloadsで起動しないよう呼びかけるWatkin Labの投稿。Xの本文は直接取得できず、同じ投稿IDを示す転載本文を一次資料と照合した。警戒すべき仕組みは報告されている。ただし、投稿の数字や断定をそのまま一般化するのは適切ではない。
実際の検知と研究者の再現を分けて読む
Forever Securityの公表日は10月22日。同社は顧客端末の不正な AGENTS.md による悪性パッケージ導入を、コード実行前に止めたと報告している。ファイルの到来経路は不明で、Web経由の配置やClaude Codeでの攻撃は別途の再現実験だ。調査原文
投稿を読む際には、次の区別が必要になる。
| 投稿の表現 | 一次資料が示す範囲 |
|---|---|
| 開発者の約半数がDownloadsで起動 | 同社顧客の観測値 |
| Codexで90%超、Claudeで約50%成功 | 同社の実験値。一般環境の成功率ではない |
| を平文送信 | 攻撃者の接続先に送信。の破綻ではない |
| ベンダーは修正しない | 研究者の見解。ベンダーの公式確約としては確認できない |
いずれもForever Securityの報告と投稿の照合による。試験回数や完全な実行条件が不明なため、製品同士の安全性ランキングにも使えない。
文章が作業指示になる境界
Codexは AGENTS.md などを作業前に読み込む。公式仕様では、ユーザー共通の指示と、プロジェクトルートから作業ディレクトリまでの指示を組み合わせる。プロジェクトルートが見つからない場合は作業ディレクトリを確認する。OpenAI公式の指示ファイル仕様
Claude Codeも CLAUDE.md を読み込む。作業ディレクトリだけでなく上位ディレクトリのファイルも対象なので、Downloads直下にある指示が、その下の作業にも関係し得る。Anthropic公式のメモリ仕様
問題になるのは、外部の文章が利用者自身の承認済み手順のように扱われ、設定変更や実行へ進むことだ。成立を考えるには、ファイルの配置、指示の読込、モデルの判断、実行権限を分けて見る必要がある。
この図は脅威を整理したもので、置かれたが単独で上のプログラムになるという意味ではない。Codexのは技術的な操作範囲を、承認ポリシーは確認を求める場面を定める。指示文に「安全に作業する」と書くことと、この制限を設けることは別の対策になる。OpenAI公式のサンドボックス解説
手元のMacを点検して見つかったこと
上のローカル設定とファイルを、読み取りだけで点検した。公開用に、ユーザー名、案件名、接続先、認証情報を省いている。
| 点検対象 | 確認した状態 | 意味 |
|---|---|---|
| Downloads直下 | CLAUDE.md が存在。AGENTS.md と AGENTS.override.md はなし | Claude向けの指示が置かれていた |
| Downloads内の候補11件 | コーディング方針、役割定義、開発コマンドなど。今回探した外部送信・設定改変の記述は検出せず | 悪性と判断する材料は得られなかった |
| Codexのユーザー設定 | sandbox_mode = "danger-full-access" と approval_policy = "never" | 保存済み設定と今回のセッションで、コマンドのサンドボックスと承認要求が無効 |
| Codexの信頼登録 | ホームやDownloadsを覆う登録はなし | 調べた設定上の結果。安全の保証にはならない |
| CodexとClaudeのグローバル設定 | 確認した9件に、Downloads参照やシェル経由の起動パターンは検出せず | 接続先や配布コード全体の安全性は未検証 |
| Claudeの接続先上書き | 確認した設定に ANTHROPIC_BASE_URL の指定なし | 未調査プロジェクトや別プロセスには一般化できない |
| Claude Codeの既定モード | auto | 権限確認をすべて無効にするモードとは異なる |
| の保存先確認 | 5プロファイル中1つで有効を明示。最終使用プロファイルを含む4つは設定キーなし | 使用中の画面と管理ポリシーで実効値を確認する必要がある |
直下の CLAUDE.md は、クリップボードへのコピーや検証スクリプトの実行を含む作業指示だった。これ自体を攻撃と判断する根拠はない。しかし、外部ファイルが集まる場所に、AIの動作を変える指示が同居していたことは確認できた。
この CLAUDE.md の発見を、Codexによる自動読込の証拠とは扱っていない。ツールごとに対象ファイルや設定が違うためだ。またClaudeの auto は、一定の操作を分類器が審査するモードであり、bypassPermissions と同じではない。Anthropic公式の権限仕様
今回の点検では、過去の実行履歴、通信、プラグイン全体、認証情報の漏えいは調べていない。「点検したファイルに該当する記述がなかった」という結果から、端末が未侵害だとは断定できない。
優先して見直す設定と運用
最優先は、AIを起動する場所と、そこで与える権限をそろえることだ。Downloadsの整理を依頼する場合も、信頼できる専用の作業ディレクトリから必要な対象だけを扱う。持ち込む AGENTS.md、CLAUDE.md、.codex、.claude、MCP設定は、実行手順として採用する前に内容と配布元を確認する。フォルダを移すだけでは、同梱された指示のリスクは消えない。
今回のCodex設定では、普段の作業を workspace-write と on-request の組合せへ戻すことが改善候補になる。作業範囲内の通常操作は自動で進み、範囲外の変更やネットワーク利用などは設定に応じて確認対象となる。これは今回適用した変更ではなく、次回の見直し案である。OpenAI公式の承認と権限
sandbox_mode = "workspace-write"approval_policy = "on-request"手動確認の回数を減らしたい場合は、対応するデスクトップ画面の「Approve for me」も選択肢になる。公式説明では同じworkspace-writeの境界を保ち、対象となる承認要求を自動審査へ回す。Full accessとは制限が異なる。OpenAI公式のモード説明
ブラウザは、普段使うプロファイルごとに「ダウンロード前に各ファイルの保存場所を確認する」を確認する。Chromeの「自動ダウンロード」は複数の関連ファイルの許可に関する別項目なので、保存先確認と混同しない。Chrome公式ヘルプ
MCPも点検対象に含めたい。MCPはAIが外部ツールを使うための接続方式で、ローカルプロセスを起動する構成もある。Codexの ~/.codex/config.toml は当該ユーザーの複数プロジェクトで共有されるため、不明な登録は現在の案件だけの問題とは限らない。承認した設定との差分、起動コマンド、接続先を確認する。OpenAI公式のMCP設定
AIに渡す資料が増えるほど、誰が書いた文章を、どの権限で扱わせるかが日常の点検項目になる。今回見つかった改善点も、指示ファイルの置き場所と実行権限を管理することだった。
点検の範囲
点検日:2026年10月27日。Downloads、Desktop、Documentsは各ルートから最大4階層までのディレクトリを走査し、指示ファイル名と一部の設定ファイル名を確認した。依存パッケージ、Git管理領域、アプリ内部、シンボリックリンク先などは走査対象から除外した。内容の静的確認はDownloads内の指示ファイル11件に限定した。
CodexとClaudeはユーザー設定、現在の作業場所の上位設定、Downloadsに関係する設定を点検した。ブラウザの判断は保存済み設定ファイルに基づく。攻撃の再現、設定変更、ファイル削除は行っていない。
ここまでのまとめと関連する点検
指示ファイルの存在だけで感染と決めつけず、何を読み込み、どの操作を許す設定なのかを確認する。今回の実機点検で得た改善点は、この二つを日常の運用に組み込むことだった。
点検方法の続編は、読者リアクションに応じて随時追加していきます。