サイバー脅威
公開状態のMCPサーバが機密データのバックドアとして悪用されるリスク
インターネットに公開されたMCPサーバは、セキュリティ上のリスクを抱えている可能性があります。本稿では、発生する問題点を分析し、有用な対策を解説します。
- クライアント認証や通信暗号化の施されていないMCPサーバが、492件発見されました。
- こうしたサーバが攻撃を受けると、企業や組織の機密データが侵害され、内部情報や顧客情報の流出に至る可能性があります。
- MCPサーバをネットワークに公開する場合は、追加のセキュリティ対策(認証、プロキシなど)を施すことが推奨されます。
- リスクを軽減する上では、MCPサーバへのアクセス制限を含めた「露出管理」が重要な鍵となります。
はじめに
企業や組織では、サイバー攻撃への防衛策をプロアクティブに実行し、セキュリティ上の不備を入念に監視していく姿勢が求められます。今回トレンドマイクロでは、AI分野で普及しているMCP(Model Context Protocol)サーバに焦点をあて、そのデプロイ設定や露出に伴う問題点を分析しました。露出管理を怠った場合に発生するリスクについて理解することは、安全性を確保する上での重要な一歩となります。
MCPのアーキテクチャ上、認証機構を設けずにサーバをネットワークに露出させると、大きなセキュリティリスクが発生します。デフォルト構成をそのまま用いた場合、下図の通り、クライアントは未認証のままMCPサーバにアクセスすることが可能です。

クライアントから認証用の「OAuth(Open Authorization)トークン」を委譲する方式や、それに類する機構が一切ない場合、ユーザ単位で権限を管理する「RBAC(Role-Based Access Control)」も実現できません。こうした構成では、さまざまな攻撃経路が発生し、セキュリティの基本原則を満たすことさえ困難になります。
特に危険と考えられるシナリオを、下記に示します。
- データソースの認証情報(API鍵、データベースのパスワード、サービストークンなど)が、サーバ設定としてハードコーディングされている。
- MCPサーバが、パブリック向けネットワークインターフェス(「0.0.0.0:8080」など)に割り当てられている。
- サーバに接続する全クライアントに、同一のアクセス権が付与されている。
- ユーザに応じた認証やアクセス制御の仕組みが設けられていない。
また、サーバからデータソースに対するアクセスの全てを単一の認証情報でカバーしている場合も、機密情報流出のリスクが高まります。トレンドマイクロの調査では、クライアント認証や通信暗号化といった対策なしで稼働しているMCPサーバが、492件発見されました。
これらの露出したサーバを通して、計1,402個のMCPツールにアクセスできることが判明しました。その9割以上は、自然言語によってデータソースを直接読み取れる状態となっていました。従って、コーディングの知識がなくても、誰でも容易にプライベートな情報を引き出せることになります。
クラウドインフラによって増大するリスク
今回の調査では、一種の注目すべき傾向が見られました。それは、露出したMCPサーバの多くが、クラウドをベースに構成されていることです。対象サーバの約74%が、AWS(Amazon Web Services)やAzure、GCP(Google Cloud Platform)、Oracleを含む主要なクラウドサービスプロバイダ(CSP)上にホストされていました。これらのサービスは、広範なネットワークアクセスを前提としたデプロイをサポートしていますが、同時に、セキュリティ上の懸念点を生み出しています。
トレンドマイクロのセキュリティソリューション「Cloud One™ Conformity」は、望ましくない露出やクラウドポリシーの不備を警告し、継続的なセキュリティ、コンプライアンス、ガバナンスを実現します。また、クラウドリソースの設定不備を発見し、解決できるように、運用チームや開発チームを支援します。
今回発見された492個のMCPサーバのうち、少なくとも8件は、クラウドサービスプロバイダのリソースを直接管理していました。サーバに搭載されたツールを用いれば、クラウドリソースの一覧取得、新規作成、変更、削除などが可能となります。これらのサーバを未保護のまま放置すれば、攻撃者によって悪用され、紐づくクラウドリソースを不正に操作される恐れがあります。
個々のMCPサーバは、データベースやクラウドサービス、内部API、プロジェクト管理ツールを含むデータソースへのアクセス中継点として機能します。そこに認証の手続きが存在しなければ、企業秘密や顧客データなどの機密情報が、不特定多数に公開されてしまいます。
本調査では、インターネットに露出したMCPサーバがすでに多数存在することや、それを介してデータベースやブラウザ自動化システム、開発ツール、財務関連システム、クラウドプラットフォームなどにアクセスできることが判明しました。もし攻撃者に悪用されれば、深刻な事態に発展する恐れがあります。

- 静的シークレットをローテーションなしのまま放置:ハードコーディングで定義された認証情報は、変更が難しく、有効期間が長期化しやすい。もし流出すれば、長期にわたって攻撃者に悪用される恐れがある。
- 設定情報の流出:設定ファイルや環境変数、ソースコードが流出すると、それを元手に認証情報を暴かれる可能性がある。
- 脆弱なプロセスメモリ:脆弱性を悪用した攻撃によってプロセスメモリが流出すると、その中にある認証情報を読み取られる可能性がある。



2. 権限昇格
- アクセス共有:MCPサーバに接続する全ユーザが、バックエンドのシステムに対して同一レベルのアクセス権を有している。
- ユーザコンテキストの欠如:サーバ側で、ユーザに応じた権限の差異を認識できない。
- 過度な権限:MCPサーバは、必要な機能を提供し、かつあらゆるユースケースに対応できるように、広範なアクセス権を有していることが多い。
3. ネットワークのアタックサーフェス(攻撃対象領域)
- エンドポイントの露出:ネットワークに露出したMCPサーバは、不正アクセスの標的として狙われやすい。
- 水平移動・内部活動:MCPサーバが侵害されると、そこに配備されたハードコーディング定義の認証情報が悪用され、バックエンド側のデータソースにアクセスされる恐れがある。
- 中間者攻撃(Man in the Middle):クライアントとサーバ間のネットワーク通信を暗号化していない場合、通信内容を傍受、改変され、機密情報の流出、ツール出力の書き換え、エージェント用ワークフローの不正操作といった事態に発展する恐れがある。こうしたリスクは、特にオンプレミス環境で多発している。
4. 監査やコンプライアンスに関する課題
- アクセス元情報の喪失:ひとたびシステム内に侵入されると、攻撃者の活動さえも、信頼済みアカウントから行われているものと認識され、区別が困難になる。
- コンプライアンス違反:設定の時点で、ユーザ別のアクセス記録といった基本要件を満たせていない。
- フォレンジック調査時の課題:不正な活動を検知できても、それを特定のユーザにまで遡って追跡することは困難な場合がある。

多くのMCPサーバは、「FastMCP」と呼ばれるライブラリによって構築されています。今回は、GitHubのAwesome MCPサーバを分析の対象としました。なお、FastMCPには認証の仕組みが備わっていますが、実際にそれを実装しているサーバは、ごく少数に留まりました。
推奨事項
露出したMCPサーバに絡むリスクを軽減するために、いくつかの対策が提案されています。第1に、MCPサーバを広く外部に公開することは、推奨されません。たとえ認証の仕組みを実装しても、インターネットに公開された資産は常に狙われる可能性があり、リスクの完全な排除には至りません。第2に、データソースにアクセスするための「認証用トークン」をクライアントからサーバに引き渡す「トークン委譲方式」が推奨されます。これにより、MCPサーバ自体に持たせるアクセス権を抑制することが可能です。
トークン委譲
トークン委譲の仕組みは、さまざまな形でサーバのセキュリティを強化します。まず、ユーザ単位でのアクセス制御が可能であり、サーバが受け取った各リクエストは、そのユーザが持つ権限の範囲内でのみ処理されます。また、トークンリフレッシュの機能により、認証情報の露出期間を短縮できます。侵害が発覚した際にも、対象トークンを迅速かつ容易に取り消すことが可能です。さらに、監査や調査時には、全ての操作の実行元ユーザを特定、追跡することが可能です。
以降に、トークン委譲の典型的なパターンや手続きを示します。
OAuthトークン委譲のパターン
クライアント側でのトークン管理
- クライアントがIDプロバイダからOAuthトークンを直接取得する。
- トークンには、対象ユーザのIDや権限情報が紐づけられている。
- 自動でリフレッシュされる短期的なトークンを用いる場合もある。
- クライアント側では、トークンを安全な方法で保管する(鍵チェーン、認証情報マネージャ)。
サーバ側でのトークン検証
リクエストに手続きの概略を、下記に示します。
- クライアントがOAuthプロバイダを用いて認証を行う。
- クライアントがMCPリクエストにベアラートークンを含め、MCPサーバに送信する。
- MCPサーバが承認済みのOAuthプロバイダを用いてトークンを検証する。
- MCPサーバが検証済みのトークンを用いて下流のAPIを呼び出す。
- 全操作について、ユーザ単位の記録を保持する。
MCPサーバをインターネットに露出させ、データソースへのアクセスを高権限の単一トークンだけでカバーする構成には、深刻なセキュリティリスクが伴います。当該構成を使用中の企業や組織では、対象デプロイメントを露出部から退避させるか、適切な保護策を適用した上で、適切なユーザ認証や権限チェック、監査を実施できるように、OAuthトークン移譲方式に移行することを推奨します。この移行により、安全性が高まると同時に、最新のセキュリティフレームワークや規制に基づくコンプライアンスを満たすことが可能となります。
適切な実装方式
システムを保護するためには、最低でも基本的なセキュリティ対策を実施し、さらに適切な実装方式を取り入れることが重要です。
緊急対応
- ネットワーク・セキュリティの向上
- ユースケースに照らして、ネットワークへの露出が本当に必要であるかを再確認する(不要であれば、標準入出力などによる通信を検討)。
- 全てのネットワーク通信に対し、TLS暗号化方式を適用する。
- ネットワーク経由で公開する場合は、適切な認証やOAuth委譲を備えたリバースプロキシを使用する。
- ハードコーディングによる認証情報を可能な限り排除
- MCPサーバの全設定をチェックし、ハードコーディングで定義された認証情報を洗い出す。
- より安全な認証情報管理システムを導入する。
- トークン検証
- データソースへのアクセスに際しては、クライアントから提示されたOAuthトークンによって認証を行う。
- トークンの署名(シグネチャ)や期限をチェックする。
長期対応
- ゼロトラストのアーキテクチャ
- リクエスト単位で認証や権限チェックを行う。
- 全てのMCP操作を記録、監視する。
- 認証情報の管理
- 「Vault」や「キーチェーン」などのシークレット管理ツールを活用する。
- 認証情報のローテーションポリシーを策定、運用する。
- 有効期間が短く、アクセス範囲の定められたトークンを利用する。
- 監視とアラート
- 認証や権限チェックのイベントを全て記録する。
- 平常とは異なるアクセスパターンの検知システムを導入する。
- 認証失敗時にアラートを発信するための仕組みを整える。
- 露出管理
- MCPサーバへのアクセス制限を設ける。
- 用途に応じて、書き込み権限の代わりに読み込み権限のみを付与する。
- データ破壊に備え、シャドーコピーを作成する。
以上の推奨事項により、企業の成長や規制要件に合ったセキュリティベストプラクティスを取り入れると同時に、MCPの柔軟性を確保することが可能です。
まとめ
MCPサーバも他のシステムと同様、攻撃に晒される存在です。デフォルト構成だけで安全性が確立されるようなことはないため、適切な保護対策を導入する必要があります。
いかなるコンポーネントについても、事前に安全性が保証されたものと見なすべきではありません。わずかな間隙さえも、攻撃の侵入口として悪用される可能性があります。サーバのセキュリティ体制を強化するためには、一貫した取り組みを継続的に実施していくことが重要です。
参考記事:
MCP Security: Network-Exposed Servers Are Backdoors to Your Private Data
By: Alfredo Oliveira and David Fiser
翻訳:清水 浩平(Platform Marketing, Trend Micro™ Research)