概要
MCP(Model Context Protocol)サーバーは、AIアシスタントを強力な攻撃プラットフォームに変える可能性があります。これにより、任意のコード実行や大規模なデータ漏洩が可能になり、ローカルマシンとクラウド環境でユーザーを巧妙に操作することができます。
問題点
MCPサーバーは自然言語リクエストを具体的なアクション(ファイルの読み取り、APIの照会、データの変更など)に翻訳します。このアーキテクチャはシームレスな相互運用性を提供しますが、攻撃者がコード実行、データ窃取、コンテキスト汚染を可能にするマシン・イン・ザ・ミドルの位置を作り出します。
MCPサーバーの構成
- ローカルホストMCPサーバー:ユーザーの機械上でプロセスとして動作し、AIクライアントと同じ権限を持ちます。これにより、ファイルや資格情報、オペレーティングシステムに直接アクセスできる可能性があります。
- リモートホストMCPサーバー:メール、チャット、またはストレージプラットフォームなどのプロバイダーから提供されるもので、OSレベルのコマンドを直接実行することはできませんが、価値のある企業データやビジネスシステム内の強力なアクションにアクセスできます。
MCPサーバーの脆弱性
最近のセキュリティテストフレームワーク(例:PraetorianのMCPHammer)は、MCPツールチェーンが複数のエージェントやモデル、クライアントを介して容易に悪用される可能性があることを示しています。
攻撃手法
- MCPサーバーのチェーニング:悪意のあるローカルサーバーが生産性向上ツールとして偽装し、Slackなどの信頼できるプラットフォームに埋め込まれたコマンドを解読して実行します。
- データ漏洩:MCPツールの説明を利用して、AIエージェントが追加のメッセージや文書などを引き出すように仕向けることで、大量のデータを悪意のあるMCPツールに渡すことが可能です。
供給チェーンリスク
MCPクライアントはパッケージマネージャー(uv/uvxやnpmなど)を使用して、サーバーを動的にインストールおよび実行します。これにより、単純なタイポスクワットしたパッケージ名や侵害されたライブラリが任意のコードを配布し、エージェント起動時にツール承認プロンプトなしで実行される可能性があります。
対策
MCPサーバーは信頼性の高い攻撃面として扱うべきであり、ブラウザやIDE、CI/CDシステムと同様にテスト、強化、モニタリングを行う必要があります。
