MCPサーバーの新たな脆弱性:AIシステムへのステルスな脅威
セキュリティ研究者が、Model Context Protocol(MCP)のサンプリング機能における重大な脆弱性を発見しました。これにより、悪意のあるサーバーがステルスなプロンプトインジェクション攻撃を実行し、大規模言語モデル(LLM)アプリケーションの計算リソースを枯渇させ、ユーザーに検知されることなくシステムを侵害する可能性が明らかになりました。
この発見は、プロトコルの暗黙的な信頼モデルと堅牢なセキュリティ制御の欠如を悪用する3つの主要な攻撃ベクトルを明らかにしています。
3つの主要な攻撃ベクトルとその影響
リソース窃盗 (Resource Theft)
- 悪意のあるMCPサーバーは、正当なプロンプトに隠された指示を付加し、LLMにユーザーからは見えない大量の追加コンテンツを生成させることが可能です。
- 例えば、コードサマライザーのテストでは、要求されたコード要約の裏で、LLMに秘密裏に架空の物語を作成させました。結果として、ユーザーには期待通りの要約のみが表示されたにもかかわらず、LLMはバックグラウンドで最大1,000語の追加コンテンツを生成し、無許可で計算リソースとAPIクレジットを消費しました。
会話ハイジャック (Conversation Hijacking)
- 悪意のあるサーバーは、LLMの応答に指示を注入することで、AIアシスタントの振る舞いを複数の会話ターンにわたって根本的に変更できます。
- ある実験では、注入された指示によりAIがその後のすべてのやり取りで海賊風の言葉遣いで応答するようになりました。より洗練された指示が注入されれば、アシスタントを危険または信頼できないものにする可能性もあります。
秘密裏のツール呼び出し (Covert Tool Invocation)
- 最も懸念されるのは、悪意のあるサーバーが、ユーザーの明示的な許可なく、LLMにファイル書き込みツールなどの許可されていないシステム操作を呼び出させることです。
- これにより、データ流出、永続的な侵害メカニズムの確立、および不正なシステム変更が可能になります。LLMにはファイル操作が正当なツール呼び出しとして認識されるため、攻撃が成功します。
脆弱性の根本原因とセキュリティ対策の重要性
これらの攻撃が成功するのは、MCPサンプリングが組み込みのセキュリティ制御を持たない暗黙的な信頼モデルに依存しているためです。ユーザーが認識する情報とLLMが実際に処理する情報との間に乖離があるため、リソース枯渇攻撃や隠れた悪意ある活動の完璧な隠蔽を可能にしています。
Palo Alto Networksは、AIシステムをこれらの脅威から保護するために包括的なセキュリティ対策を講じることを推奨しています。これには、サンプリング要求の厳格な検証、異常なトークン消費パターンの監視、および永続的なプロンプトインジェクションに対する保護措置の実装が含まれます。
MCPの採用がAIアプリケーション全体で広がる中、これらの攻撃ベクトルを理解し、適切に対処することは、LLMを活用したツールとサービスの整合性とセキュリティを維持するために極めて重要です。
元記事: https://gbhackers.com/malicious-mcp-servers-enable-stealthy-prompt-injection/
