2025年8月5日Ravie LakshmananAIセキュリティ / MCPプロトコル
サイバーセキュリティ研究者は、人工知能(AI)搭載のコードエディタ「Cursor」において、リモートコード実行につながる高深刻度のセキュリティ脆弱性を公開しました。
この脆弱性は、CVE-2025-54136(CVSSスコア:7.2)として追跡されており、Check Point ResearchによってMCPoisonと命名されています。これは、ソフトウェアがModel Context Protocol(MCP)サーバー構成の変更を処理する方法の特異性を悪用するためです。
「Cursor AIの脆弱性により、攻撃者は既に信頼されたMCP構成ファイルを共有GitHubリポジトリ内で変更したり、ターゲットのマシン上でローカルに編集したりすることで、リモートかつ持続的なコード実行を達成できます」とCursorは先週公開したアドバイザリで述べています。
「コラボレーターが無害なMCPを一度承認すると、攻撃者は警告や再承認を促すことなく、密かに悪意のあるコマンド(例:calc.exe)に差し替えることができます。」
MCPはAnthropicによって開発されたオープンスタンダードで、大規模言語モデル(LLM)が外部ツール、データ、サービスと標準化された方法で連携できるようにします。このプロトコルは2024年11月にAI企業によって導入されました。
Check Pointによると、CVE-2025-54136は、ユーザーがCursor内でMCP構成を承認した後に、攻撃者がその構成の動作を変更できる点に関連しています。具体的な流れは以下の通りです:
- 無害に見えるMCP構成(「.cursor/rules/mcp.json」)を共有リポジトリに追加する
- 被害者がコードをプルし、Cursorで一度承認するのを待つ
- MCP構成を悪意のあるペイロード(例:スクリプトの起動やバックドアの実行)に差し替える
- 被害者がCursorを開くたびに持続的なコード実行を達成する
根本的な問題は、一度構成が承認されると、その後変更されてもCursorが将来の実行時に無期限に信頼し続ける点です。この脆弱性を悪用されると、組織はサプライチェーンリスクにさらされるだけでなく、知らないうちにデータや知的財産の窃取にもつながります。
2025年7月16日の責任ある情報公開を受け、Cursorは2025年7月下旬リリースのバージョン1.3で、MCP構成ファイルのエントリが変更されるたびにユーザーの承認を必須とすることでこの問題に対処しました。
「この欠陥は、AI支援開発環境の信頼モデルにおける重大な弱点を露呈しており、LLMや自動化をワークフローに統合するチームにとってリスクが高まっています」とCheck Pointは述べています。
この動きは、Aim Labs、Backslash Security、HiddenLayerがAIツールの複数の弱点を明らかにした数日後に起こりました。これらの弱点はリモートコード実行や拒否リストベースの保護の回避に悪用される可能性がありましたが、バージョン1.3で修正されています。
これらの調査結果は、コード生成などの業務ワークフローへのAI導入が進む中、攻撃対象領域が拡大し、AIサプライチェーン攻撃、安全でないコード、モデルポイズニング、プロンプトインジェクション、幻覚、不適切な応答、データ漏洩など、さまざまな新たなリスクが浮上していることとも一致しています。
- 100以上のLLMに対し、Java、Python、C#、JavaScriptコードの生成能力をテストした結果、生成されたコードサンプルの45%がセキュリティテストに失敗し、OWASP Top 10のセキュリティ脆弱性を導入していることが判明しました。Javaは72%のセキュリティ失敗率でトップ、次いでC#(45%)、JavaScript(43%)、Python(38%)でした。
- LegalPwnと呼ばれる攻撃では、法的免責事項、利用規約、プライバシーポリシーなどを新たなプロンプトインジェクションのベクトルとして利用できることが明らかになりました。これにより、正当だが見落とされがちなテキスト要素内に悪意ある指示を埋め込み、LLMに悪意あるコードを安全と誤認させたり、開発者のシステムでリバースシェルを実行できる危険なコード提案を行わせたりすることが可能となります。
- man-in-the-promptと呼ばれる攻撃では、特別な権限を持たない不正なブラウザ拡張機能がバックグラウンドで新しいタブを開き、AIチャットボットを起動し、悪意あるプロンプトを注入してデータを密かに抽出しモデルの整合性を損なうことができます。これは、DOM(ドキュメントオブジェクトモデル)へのスクリプトアクセス権を持つブラウザアドオンがAIプロンプトを直接読み書きできる点を悪用しています。
- Fallacy Failureと呼ばれるジェイルブレイク手法では、LLMに論理的に無効な前提を受け入れさせ、通常は制限されている出力を生成させることで、モデル自身のルールを破らせることができます。
- MASハイジャックと呼ばれる攻撃では、AIシステムのエージェント的性質を武器化し、マルチエージェントシステム(MAS)の制御フローを操作して、ドメイン、メディア、トポロジーを超えて任意の悪意あるコードを実行できます。
- Poisoned GPT-Generated Unified Format(GGUF)テンプレートと呼ばれる手法では、チャットテンプレートファイル内に悪意ある指示を埋め込み、推論フェーズで実行させることで出力を侵害します。この攻撃は入力検証とモデル出力の間に位置し、巧妙かつAIガードレールを回避します。GGUFファイルがHugging Faceなどのサービス経由で配布されることで、サプライチェーンの信頼モデルを悪用し攻撃を引き起こします。
- 攻撃者は、MLFlow、Amazon SageMaker、Azure MLなどの機械学習(ML)トレーニング環境を標的とし、モデルの機密性、完全性、可用性を侵害することで、ラテラルムーブメントや権限昇格、さらにはトレーニングデータやモデルの窃取・ポイズニングを引き起こすことができます。
- Anthropicの研究によると、LLMは蒸留中に隠れた特性を学習することがあり、これをサブリミナルラーニングと呼びます。これにより、モデルが一見無関係な生成データを通じて行動特性を伝播させ、ミスアライメントや有害な挙動につながる可能性があります。
「大規模言語モデルがエージェントワークフロー、企業向けコパイロット、開発者ツールに深く組み込まれるにつれ、これらのジェイルブレイクによるリスクは大幅に高まっています」とPillar SecurityのDor Sarig氏は述べています。「現代のジェイルブレイクはコンテキストチェーンを通じて伝播し、1つのAIコンポーネントを感染させ、相互接続されたシステム全体で連鎖的な論理障害を引き起こす可能性があります。」
「これらの攻撃は、AIセキュリティには新たなパラダイムが必要であることを浮き彫りにしています。なぜなら、これらは従来のセーフガードを回避し、アーキテクチャ上の欠陥やCVEに依存しないからです。脆弱性は、モデルが模倣するよう設計された言語や推論そのものに存在しています。」
翻訳元: https://thehackernews.com/2025/08/cursor-ai-code-editor-vulnerability.html