企業が日常の業務フローへのAIアシスタントの統合を急ぐなか、新たな、そして見過ごされがちな攻撃対象領域が浮上している。それがModel Context Protocol(MCP)サーバーだ。
AIアプリケーションを外部のツールやデータに接続するために構築されたMCPサーバーは、コードの実行、データの窃取、ユーザーの操作に悪用される可能性がある。しかも、侵害の兆候が目に見えないことも多い。
攻撃者は「これらの[AI]統合ポイントを、コード実行、データ窃取、ソーシャルエンジニアリングに利用できる。しかも、攻撃が発生したことをユーザーに示す兆候がまったくない場合もある」と述べた Praetorianの研究者は。
MCPセキュリティリスクを詳しく見る。
オープンソースのModel Context Protocol(MCP)は、大規模言語モデル(LLM)が外部のツールや企業システムに接続する方法を標準化するために導入された。
設計上、AIアシスタントはデータを取得し、ワークフローを起動し、SaaSプラットフォームとリアルタイムにやり取りできる。
この相互運用性は強力である一方、AI主導のワークフローの信頼境界内にMCPサーバーを直接組み込むことにもなる。実質的には、モデルと、モデルが影響を及ぼせるシステムとの間に、マシン・イン・ザ・ミドル層を生み出すのだ。
MCPサーバーは通常、2つの構成で運用され、それぞれ異なるリスクをもたらす。
ローカルでホストされるMCPサーバーは、ユーザーのマシン上でプロセスとして実行され、多くの場合、ユーザーと同じ権限を持つ。
この位置にあるMCPサーバーは、任意のコードを実行し、ローカルファイルや認証情報にアクセスし、システム情報を収集し、永続化の仕組みを確立できる。
Slack、Notion、Box、Atlassianなどと統合するリモートホスト型のMCPサーバーは、ローカルコードを直接実行することはできない。しかし、企業データにアクセスし、SaaSプラットフォーム内で操作を実行し、認証情報を露出させる可能性のあるOAuthフローを開始できる。
悪意のあるローカルMCPサーバーを正規のリモートMCPサーバーと連鎖させると、企業データへのアクセスとローカルでの実行能力が組み合わさり、効果的な悪用経路が生まれる可能性がある。
MCPツールが生み出すゼロクリックリスク。
MCPに関連するリスクの中核にあるのが、LLMによる外部システムとの対話を可能にする「ツール」という概念だ。
例えば、公式のSlack MCPサーバーは、読み取り、書き込み、削除の機能を提供しており、「常に許可」「承認が必要」「ブロック」といった承認レベルを設定できる。
読み取り専用のツールは低リスクに見えることが多く、自動承認が頻繁に付与される。しかし、その出力を処理する悪意のあるMCPコンポーネントと連鎖すると、ゼロクリック攻撃の足がかりになり得る。
MCPサーバーの連鎖とコード実行。
研究者は、conversation_assistantと呼ばれる、無害な生産性向上ユーティリティを装った概念実証用の悪意あるMCPサーバーを使って、このリスクを実証した。
あるシナリオでは、攻撃者がBase64でエンコードしたコマンドをSlackメッセージ内に埋め込んだ。
ユーザーがAIアシスタントに対し、信頼されたSlack MCPサーバーを使ってSlackメッセージを取得・分析するよう依頼すると、エンコードされたペイロードを含むそれらのメッセージがモデルに返された。
その後、AIは分析ワークフローの一環として、その内容を悪意あるMCPサーバーのツールに渡した。
悪意あるサーバーはペイロードをデコードしてローカルで実行し、ユーザーには正規の分析結果だけが表示される一方で、バックグラウンドでシステムアプリケーションを起動した。
この攻撃は、AIツールを連鎖させると、信頼されたデータソースが意図せずコマンド配信の経路になり得ることを示している。
コード実行が発生したことを示す表示は、ユーザーインターフェース上に一切なかった。
コマンド実行にとどまらず、MCPサーバーは大規模なデータ窃取も可能にする。
ツールは入力としてコンテキスト全体を受け取るため、悪意あるMCPサーバーは、Slackの会話や文書の内容など、完全なデータセットを取得し、攻撃者が管理するインフラに転送できる。
実証では、窃取したSlackメッセージが、ハードコードされたボットトークンを使って攻撃者のSlackワークスペースにJSONファイルとしてアップロードされた。
サプライチェーンとレスポンスインジェクションのリスク。
攻撃対象領域はツールの連鎖にとどまらない。MCPエコシステムは、PythonベースのMCPサーバーをロードするために、AstralのUVパッケージマネージャーの一部であるuvxに依存している。
MCPクライアントが起動すると、PyPIから参照されたパッケージを動的にダウンロードして実行する。
これにより、タイポスクワッティング、認証情報の窃取やCI/CDの悪用によるパッケージ侵害、放棄されたパッケージ名の再取得による乗っ取りなど、サプライチェーン上のリスクが生じる。
対話型のMCP連鎖攻撃とは異なり、こうしたサプライチェーン攻撃ベクトルではユーザーの操作を必要としない。
悪意あるコードは、MCPツールが呼び出される前のエージェント起動時に実行され、ツールの承認メカニズムを完全に迂回する。
研究者はさらに、正確なAI応答の中に悪意ある短縮URLや偽のサポート手順を埋め込む、レスポンスインジェクションの手法も実証した。
その内容が信頼されたアシスタントから発信されたように見えるため、ユーザーは認証情報の窃取、フィッシング、その他のソーシャルエンジニアリング攻撃の被害に遭いやすくなる可能性がある。
AI統合レイヤーを保護する。
MCPの導入が拡大するなか、組織は、他の企業インフラコンポーネントに適用しているのと同じ厳格さで、こうした統合に取り組むべきだ。
MCPサーバーはコードを実行し、機密データにアクセスし、システムの挙動に影響を及ぼせるため、防御策は基本的な設定を超える必要がある。
ガバナンス、技術的な制御、監視を組み合わせた多層的なアプローチが、リスク低減には不可欠だ。
- すべてのMCPサーバーのインストールについて正式な審査・承認プロセスを実施し、潜在的に信頼できない実行可能コードとして扱う。
- 「常に許可」の設定を避けてツールの権限を最小限に抑え、OAuthスコープを最小権限に制限し、ファイルのダウンロードやローカルコマンドの実行など、高リスクの操作には人間による承認を必須とする。
- ローカルでホストされるMCPサーバーをサンドボックス環境またはコンテナに隔離し、ユーザー権限を制限するとともに、厳格な外向きネットワーク制御を適用してデータの窃取を制限する。
- MCPツールの呼び出しとデータフローを包括的にログに記録し、テレメトリをSIEMおよび監視プラットフォームに統合して、異常なツール連鎖、大量のデータ取得、通常とは異なるプロセス起動を検知する。
- 強化すべきサプライチェーン防御を、パッケージのバージョンを固定し、パッケージの出所を検証し、ソフトウェア構成分析(SCA)ツールを使用するとともに、MCP設定をCI/CDのセキュリティレビューに組み込むことで、強固にする。
- 教育すべきユーザーと管理者に対して、連鎖したツール呼び出しやAI主導の統合に伴うリスクを周知し、不要な統合や過剰な権限がないか設定を継続的に監査する。
- テストするインシデント対応計画をMCPベースの攻撃に対応できるようにし、コード実行、データ窃取、サプライチェーン侵害のシナリオを含める。
これらの対策を組み合わせることで、組織はMCPベースの侵害が起きる可能性を低減しながら、AI統合環境全体の可視性、封じ込め、復旧能力を高められる。
AI統合と信頼境界。
AIアシスタントが企業システムにより深く組み込まれるにつれ、MCPサーバーはアプリケーションロジック、SaaS統合、エンドポイント実行の間をつなぐ新たな結節点となる。
生産性向上を可能にする同じ相互運用性が、従来の信頼境界を弱め、適切に管理されなければ、コード実行、データ窃取、ソーシャルエンジニアリングの機会を生み出す。
セキュリティチームにとって重要なのは、AI統合レイヤーを単なる補助ツールではなく、基幹インフラとして扱うことだ。
AIは組織にゼロトラストソリューションを活用するよう促しており、アイデンティティを継続的に検証し、暗黙の信頼を制限し、AI主導の統合と企業システム全体でアクセスを分離する。





