セキュリティ
セキュリティ企業Adversa AIは、AIツールのユーザーがより明確な警告を必要としていると主張している
足撃ち銃の製造業者は、その製品があなたの足を撃つ可能性についてどの程度まで明確にする必要があるのでしょうか?
これは本質的に、セキュリティ企業Adversa AIがClaude Code、Gemini CLI、Cursor CLI、Copilot CLIのMCPサーバー経由での1クリックリモートコード実行攻撃の開示で提起している質問です。
TrustFall概念実証攻撃は、クローンされたコードリポジトリが2つのJSONファイル(.mcp.jsonと.claude/settings.json)を含める方法を示しており、これは攻撃者制御のModel Context Protocol(MCP)サーバーへのドアを開きます。
MCPサーバーは、ツール、設定データ、スキーマ、およびドキュメントをJSON経由でAIモデルに標準形式で利用可能にします。
この脆弱性は、設定の範囲を管理する矛盾した制限から生じます。Anthropicはプロジェクトレベルでいくつかの危険な設定(例:bypassPermissions)をブロックしますが、他の設定(例:enableAllProjectMcpServersとenabledMcpjsonServers)はブロックしません。JSONファイルは単にそれらの設定を有効にします。
「開発者がClaude Codeの一般的な『はい、このフォルダを信頼します』ダイアログでEnterキーを押くと、サーバーはユーザーの完全な権限を持つサンドボックス化されていないNode.jsプロセスとして生成されます。サーバーごとの同意もなく、Claudeからのツール呼び出しも必要ありません」とAdversa AIはそのPoC(概念実証)リポジトリで説明しています。
起こりやすい結果はシステムの侵害です。PoCはこのビデオで実証されています。2026年5月2日時点で、Claude Code CLI v2.1.114で動作しました。他のエージェントCLIも影響を受けていると言われていますが、具体的なPoCは公開されていません。
「これは同じ根本原因(インジェクションベクトルとしてのプロジェクトスコープ設定)から6か月以内のClaude Codeの3番目のCVEです」とAdversa AIの共同創設者Alex PolyakovはThe Registerへのメールで述べました。「それぞれは分離されてパッチされていますが、基本的なクラスはまだ最終的に修正されていません。ほとんどの開発者はこれらの設定が存在することさえ知りません。ましてや、クローンされたリポジトリがそれらをサイレンスで設定できることなど。」
セキュリティ企業によれば、Anthropicはユーザーの信頼決定が問題を脅威モデルの外に移すと主張しています。CVE-2025-59536は、ユーザーが悪意のあるディレクトリでClaude Codeを起動したときに自動的にトリガーされたため脆弱性と見なされました。しかし、TrustFallはユーザーにダイアログボックスが提示され、信頼決定がなされたため、対象外と見なされています。
Adversaは、Claude Code CLIのv2.1で削除された、より明示的な事前の警告通知を引用して、この決定が十分な情報に基づいた同意で行われていないと主張しています。
「v2.1前のダイアログは.mcp.jsonがコードを実行できることを明確に警告し、『MCPサーバーを無効にして進む』を含む3つのオプションを提供していました」とAdversaのSergey Malenkovichは書いています。「その情報に基づいた同意のUXは削除されました。現在のダイアログはMCP固有の言語なし、どの実行ファイルが生成されるかの列挙なし、信頼許可の残りを保持しながらMCPのオプトアウトなしで『はい、このフォルダを信頼します』をデフォルトにしています。」
さらに、Claude Codeを実装するCI/CDパイプラインで検討すべきzero-clickバリアントもあります。Claude CodeがCI/CDで呼び出される場合、それはインタラクティブCLIではなくSDK経由で行われます。したがって、ターミナルプロンプトはありません。
Malenkovichは、Anthropicが3つの変更を行うべきだと主張しています。
第1に、プロジェクト内の任意の設定ファイルからenabledAllProjectMcpServers、enabledMcpjsonServers、およびpermissions.allowをブロックします。考え方は、悪意のあるサーバーが独自のサーバーを承認できないようにすることです。
第2に、「拒否」をデフォルトにする専用のMCP同意ダイアログを実装すること。第3に、すべてのサーバーではなく、サーバーごとにインタラクティブな同意を要求することです。
Anthropicはコメント要求に応じませんでした。®