何が起きたか
Forever Securityは、顧客マシンでのライブ攻撃を捕捉しました。コーディングエージェントがセッション中に既知の悪意あるnpmパッケージ「function-color」のインストールを開始し、トレースにより、トリガー命令が~/Downloadsに静かにドロップされた13KBのAGENTS.mdファイルから来たことが判明しました。CLIエージェントは起動ディレクトリから命令ファイルを自動ロードし、ブラウザは~/Downloadsにファイルを自動保存するため、「プレーンテキストファイルが実行可能ファイルになる」のです。ForeverはCodex(90%以上の成功率)とClaude Code(約50%)でこの連鎖を再現し、研究者らは、この穴にはCVEがなく、OpenAIもAnthropicもパッチを当てないと述べています。なぜなら、ファイル追従とブラウザの自動保存の両方が「意図した通りに機能する」機能だからです。
なぜ重要か
これは実際に観測された、ユーザーの完全な権限でコードを実行するエージェント実行攻撃クラスです。この攻撃は、そのマシンでの将来のすべてのCodexセッションの開始時に発火する永続的な悪意あるMCPサーバーを仕掛けたり、モデルを偽装したり、Claude CodeのAPIトラフィックをリダイレクトしてOAuth資格情報を奪取したり、AIコーディングエージェントがアクセスできるあらゆる秘密に到達したりすることができます。これにより、AIコーディングアシスタントの緩和が、静かなサプライチェーンおよび資格情報収集ベクターに変わります。
攻撃経路
悪意あるウェブページが、標準のバックグラウンドダウンロード(クリックもプロンプトもなし)を介して、開発者の~/Downloadsディレクトリに約13KBのAGENTS.mdプレースホルダーテキストファイルを静かに書き込みます。開発者が後でそのフォルダ内でCodexまたはClaude Codeを起動すると、エージェントはそのファイルを信頼されたプロジェクト指示として自動読み取りし、ユーザーの権限で実行します — ~/.codex/config.tomlに悪意あるMCPサーバーエントリを登録し、.claude/settings.jsonのANTHROPIC_BASE_URLを書き換え(OAuthトークンを漏洩させ、すべてのClaudeトラフィックを攻撃者サーバーにリダイレクト)、既知の悪意あるパッケージ「function-color」のnpm installを実行します。この攻撃チェーンは両側で完全に「設計どおり」の動作であり、CVEはなく、どちらのベンダーもパッチを当てません。
影響を受けるシステム
OpenAI Codex CLI、Anthropic Claude Code、およびCLAUDE.md/AGENTS.md/.mcp.jsonを信頼された指示として扱う類似のCLI AIエージェント。ブラウザがダウンロードを~/Downloadsに静かに保存する動作と組み合わされています。ベンダーパッチなし(アーキテクチャ上の交差点、CVEなし)。
緩和策
コーディングエージェントを~/Downloadsやブラウザが書き込めるフォルダから起動しないでください。常にクリーンでプロジェクト固有の作業ディレクトリから起動してください。CLAUDE.md/AGENTS.md/.mcp.json/settings.jsonを信頼境界として扱い、初回実行前とプル後にレビューしてください。エージェントのサンドボックス/承認設定を制限し(--dangerously-bypass-approvals-and-sandboxを避ける)、「function-color」パッケージをブロックリストに登録し、エージェントが開始するnpmインストールと設定ファイルの書き込みを監視してください。