MCP ホラー ストーリー: AI インフラストラクチャを脅かすセキュリティ問題

これは、新しいシリーズ「MCP Horror Stories」の第 1 号であり、モデル コンテキスト プロトコル (MCP) エコシステムにおける重大なセキュリティ問題と脆弱性、およびその方法を検討します。 Docker MCP ツールキット これらの脅威に対するエンタープライズ グレードの保護を提供します。

MCPとは?

モデル コンテキスト プロトコル (MCP) は、AI エージェントが外部ツール、データベース、サービスと対話できるようにする標準化されたインターフェイスです。2024年 11 月に Anthropic によって開始された MCP は、GitHub 上に何千もの MCP サーバー リポジトリが出現し、目覚ましい採用を達成しました。Microsoft、OpenAI、Google、Amazon などの大手テクノロジー大手は、MCP サポートを自社のプラットフォームに正式に統合しており、Block、Replit、Sourcegraph、Zed などの開発ツール企業もこのプロトコルを採用しています。 

MCP は、ChatGPT、Claude、または任意の AI エージェントが電子メールを読んだり、データベースを更新したり、ファイルを管理したり、API と対話したりできるようにする配管だと考えてください。開発者は、すべてのツールにカスタム統合を構築する代わりに、1 つのプロトコルを使用してすべてを接続できます。 

MCPはどのように機能しますか?

MCP は、クライアント/サーバー アーキテクチャを通じて、AI アプリケーションと外部サービスの間に標準化されたブリッジを作成します。 

モデル コンテキスト プロトコル (MCP) は、クライアント/サーバー アーキテクチャを通じて、AI アプリケーションと外部サービスの間に標準化されたブリッジを作成します。 

ユーザーがAIアシスタント(Claude Desktop、VS Code、Cursorなど)にプロンプトを送信すると、MCPクライアントは実際にツールの説明をLLMに送信し、LLMは分析を行い、どのツールを呼び出す必要があるかを決定します。MCP ホストは、顧客情報をデータベースにクエリしたり、リアルタイム データのためにリモート API を呼び出したりするなど、適切な MCP サーバー に呼び出しをルーティングすることで、これらの決定を実行します。各 MCP サーバーは、それぞれのデータ ソースへの標準化されたゲートウェイとして機能し、ユニバーサル MCP プロトコルとその下にある特定の API またはデータベース形式の間で変換します。 

モデル コンテキスト プロトコル クライアント/サーバー アーキテクチャにより、データベース、API、ローカル関数間で標準化された AI 統合が可能になります。

キャプション:データベース、API、ローカル機能間で標準化されたAI統合を可能にするモデルコンテキストプロトコルクライアントサーバーアーキテクチャ

MCPアーキテクチャ全体により、1つの会話で複数のサービスをシームレスに統合できる強力なAIワークフローが可能になり、たとえば、AIエージェントはデータベースからデータを分析し、結果を含むGitHubリポジトリを作成し、チームにSlack通知を送信し、ソリューションをKubernetesにデプロイできます。ただし、この接続は、悪意のある MCP サーバーが AI クライアントを侵害したり、資格情報を盗んだり、AI エージェントを操作して不正なアクションを実行したりする可能性があるため、重大なセキュリティ リスクももたらします。

モデル コンテキスト プロトコル (MCP) は、「AI アプリケーション用の USB-C」、つまり AI エージェントがあらゆるツールやサービスに安全に接続できるようにする普遍的な標準であるはずでした。むしろ、これはセキュリティの悪夢となり、組織をデータ侵害、システム侵害、サプライチェーン攻撃のリスクにさらしています。

約束は説得力があります:一度書けば、どこでもつながることができます。現実は恐ろしいものです:セキュリティではなく利便性のために設計されたプロトコル。

MCPの利便性と潜在的なセキュリティリスクを描いたコミック

キャプション: MCP の利便性と潜在的なセキュリティ リスクを描いたコミック

数字で見るMCPセキュリティの問題

MCPのセキュリティ問題の規模は憶測ではなく、何千ものMCPサーバーを包括的に分析し、6つの重要な攻撃ベクトルにわたる体系的な欠陥を明らかにしたことに裏打ちされています。

  1. OAuth検出の脆弱性
  2. コマンドインジェクションとコード実行
  3. 無制限のネットワークアクセス
  4. ファイルシステムの公開
  5. ツール中毒攻撃
  6. 秘密の漏洩と資格情報の盗難

1。OAuth検出の脆弱性

概要:悪意のあるサーバーは、OAuth認証エンドポイントを介して任意のコマンドを挿入し、正当な認証フローをリモートのコード実行ベクトルに変えることができます。

数字:MCPエコシステムを分析した セキュリティ研究者 は、OAuth関連の脆弱性が最も深刻な攻撃クラスであり、コマンドインジェクションの欠陥が分析されたサーバーの 43%に影響を与えていることを発見しました。mcp-remoteパッケージだけでも558、846回ダウンロードされており、OAuthの脆弱性は数十万の開発者環境に影響を与えるサプライチェーン攻撃となっています。

ホラーストーリー: CVE-2025-6514 は、この脆弱性クラスがどれほど壊滅的であるかを正確に示しており、信頼できるOAuthプロキシをリモートコード実行の悪夢に変え、約50万の開発者環境を危険にさらします。

緩和のための戦略: mcp-remote などのサードパーティの OAuth ツールを使用している、https 以外のエンドポイントを持っている、または複雑なシェルコマンドを必要とする MCP サーバーに注意してください。代わりに、OAuthサポートが組み込まれているサーバーを選択し、シェルコマンドを実行するOAuthプロキシを実行しないでください。

2。コマンドインジェクションとコード実行

概要: MCP サーバーは、不十分な入力検証と安全でないコマンド構築により、ホストマシン上で任意のシステムコマンドを実行する可能性があります。

数字: Backslash Security が 公開されている何千もの MCP サーバーを分析したところ、サーバーが任意のコマンド実行を許可する「数十のインスタンス」が明らかになりました。独立した評価により、サーバーの 43%がコマンドインジェクションの欠陥(リモートコード実行を可能にする正確な脆弱性)に悩まされていることが確認されています。

ホラーストーリー: これらの実験室での調査結果は、AI 開発環境を標的としたコンテナ ブレイクアウト攻撃の今後の報道で実証されているように、現実世界の悪用に直接反映されます。

緩和のための戦略: ユーザー入力を検証しない、ユーザーデータからシェルコマンドを構築しない、または eval() 関数と exec() 関数を使用しない MCP サーバーは避けてください。コンテナに MCP サーバーをインストールして実行する前に、必ずサーバーコードを読んでください。

3。無制限のネットワークアクセス

概要: インターネット接続が無制限の MCP サーバーは、機密データを盗み出したり、悪意のあるペイロードをダウンロードしたり、コマンド アンド コントロール インフラストラクチャと通信したりする可能性があります。

数字: arXiv で発表された学術研究 によると、分析された MCP サーバーの 33% が無制限の URL フェッチを許可しており、データ盗難や外部通信への直接的な経路が作成されていることがわかりました。これは、制御されていないネットワークアクセスによる数十万の潜在的に侵害されたAI統合を表しています。

ホラーストーリー: ネットワーク流出キャンペーンは、この一見無害に見える機能が、企業データや知的財産を盗むための高速道路になる方法を示しています。

緩和のための戦略: ネットワークのニーズを説明しない、または理由なく広範なインターネットアクセスを望むMCPサーバーをスキップします。ネットワーク許可リストでMCPツールを使用し、サーバーがどのような接続を行っているかを監視します。

4。ファイルシステムの公開

概要: パス検証が不十分であると、MCP サーバーが意図したディレクトリ外のファイルにアクセスでき、機密ドキュメント、資格情報、システム構成が公開される可能性があります。

数字:同じ arXiv セキュリティ調査では、サーバーの 22%がファイル漏洩の脆弱性を示しており、意図したディレクトリ外のファイルへのアクセスを許可していることがわかりました。66%のサーバーがMCPのセキュリティ慣行が不十分であることと相まって、これはデータ盗難のための大規模な攻撃対象領域を生み出します。

ホラーストーリー: GitHub MCP Data Heist 分析により、これらのファイル アクセスの脆弱性により、プライベート リポジトリや機密性の高い開発資産への不正アクセスがどのように可能になるかが明らかになりました。

緩和のための戦略: 作業フォルダ以外のアクセスを必要とする MCP サーバーは避けてください。ファイルパスチェックをスキップしたり、ディレクトリ攻撃に対する保護を欠いたりするツールは使用しないでください。あまりにも多くの権限で実行されているサーバーには近づかないでください。ファイルアクセスが制限されたコンテナ化されたMCPサーバーを使用して、セキュリティを維持します。ファイルアクセスの監視を設定します。

5。ツール中毒攻撃

それは何ですか: 悪意のある MCP サーバーは、AI システムをだまして不正なアクションを実行させる、虚偽のツール説明や有害な応答を提供することで AI エージェントを操作する可能性があります。

数字:術研究は5と特定しました。MCP固有のツールポイズニング攻撃を示すサーバーの5%は、従来のソフトウェアセキュリティでは見られなかった新しいクラスのAIを標的とした脆弱性を表しています。

ホラーストーリー: Tenable Web サイト攻撃は、ツール ポイズニングとローカルホストの悪用が組み合わさって、ユーザー自身の開発ツールがどのように攻撃されるかを示しています。

緩和のための戦略: インストールする前に、MCP サーバーのドキュメントとツールの説明を注意深く確認してください。予期しないアクションがないか AI エージェントの動作を監視します。包括的なログ記録を備えた MCP 実装を使用して、疑わしいツール応答を検出します。

6。秘密の漏洩と資格情報の盗難

それは何ですか: MCP デプロイでは、環境変数、プロセス リスト、不適切なシークレット管理を通じて、API キー、パスワード、機密性の高い資格情報が公開されることがよくあります。

数字: 従来のMCPデプロイでは、認証情報が体系的に漏洩し、プレーンテキストのシークレットが何千ものインストールのプロセスリストとログに表示されます。包括的なセキュリティ分析により、サーバーの 66% がコード臭いを示していることが判明し、MCP のセキュリティ慣行が不十分であることを示し、この資格情報の露出問題を悪化させました。

ホラーストーリー: シークレットハーベスティングオペレーションは、攻撃者が侵害されたMCP環境からAPIキーと資格情報を体系的に収集し、広範なアカウント乗っ取りを可能にする方法を明らかにします。

緩和のための戦略: 環境変数として資格情報を必要とする MCP サーバーは避けてください。機密情報をログに記録したり表示したりするツールは使用しないでください。安全な認証情報ストレージのないサーバーに近づかないでください。ドキュメントに資格情報をプレーンテキストとして保存することが記載されている場合は注意してください。安全なシークレット管理システムを使用して資格情報を保護します。

Docker MCP ツールが MCP セキュリティ問題に対処する方法

脆弱性を特定することは重要ですが、本当の解決策は、セキュア・バイ・デザインのMCP実装を選択することにあります。Docker MCP Catalog、Toolkit、および Gateway は、セキュリティを MCP 開発のデフォルト パスにするための根本的な変化を表しています。

セキュリティファーストのアーキテクチャ

MCP ゲートウェイ は、AI クライアントと MCP サーバー間の安全な通信層として機能します。MCP ゲートウェイはインテリジェント プロキシとして機能し、すべてのツール呼び出しをインターセプトし、セキュリティ ポリシーを適用し、包括的な監視を提供します。この一元化されたセキュリティ適用ポイントにより、個々の MCP サーバーを変更することなく、ネットワーク フィルタリング、シークレット スキャン、リソース制限、リアルタイムの脅威検出などの機能が可能になります。

  • Docker MCP Catalog による安全な配布は、npm などのパッケージ マネージャーを標的としたサプライ チェーン攻撃を排除する、暗号化署名された不変のイメージを提供します。
  • コンテナ分離により 、すべての MCP サーバーが分離されたコンテナで実行され、サーバーが悪意のある場合でもホスト システムの侵害を防ぎます。マシン上で直接実行される npm ベースの MCP サーバーとは異なり、Docker MCP サーバーは明示的な許可なしにファイル システムやネットワークにアクセスできません。
  • 許可リストが組み込まれたネットワーク制御により、MCP サーバーは承認された宛先とのみ通信し、データの流出や不正な通信を防ぎます。
  • Docker Desktop の安全なシークレット ストアを介したシークレット管理は、脆弱な環境変数パターンを置き換え、資格情報を暗号化したままにし、MCP サーバーに直接公開することはありません。

体系的な脆弱性の排除

Docker MCP Toolkit は、アーキテクチャ設計を通じて各脆弱性クラスを体系的に排除します。

  1. OAuthの脆弱性 - ネイティブOAuth統合>

OAuthの脆弱性は、Docker DesktopのネイティブOAuth処理によって完全に消失し、追加のツールを必要とせずに脆弱なプロキシパターンを排除します。 

# No vulnerable mcp-remote needed
docker mcp oauth ls
github | not authorized
gdrive | not authorized

# Secure OAuth through Docker Desktop
docker mcp oauth authorize github
# Opens browser securely via Docker's OAuth flow

docker mcp oauth ls
github | authorized  
gdrive | not authorized  
  1. コマンドインジェクション - >コンテナの分離

コマンドインジェクション攻撃は、分離によってコンテナの境界内に封じ込められ、サーバーが侵害された場合でもホストシステムへのアクセスを防止します。 

# Every MCP server runs with security controls
docker mcp gateway run
# Containers launched with: --security-opt no-new-privileges --cpus 1 --memory 2Gb
  1. ネットワーク攻撃 ->ゼロトラストネットワーキング

ネットワーク攻撃は、 --block-network フラグを備えたゼロトラストネットワークと、不審なパターンを検出するリアルタイム監視によってブロックされます。 

# Maximum security configuration
docker mcp gateway run \
  --verify-signatures \
  --block-network \
  --cpus 1 \
  --memory 1Gb
    1. 工具中毒 - >包括的なロギング

    ツール中毒は、 --log-callsとの完全な対話ログによって可視化され、疑わしい応答を自動的にブロックできます。

    # Enable comprehensive tool monitoring
    docker mcp gateway run --log-calls --verbose
    # Logs all tool calls, responses, and detects suspicious patterns
    
    1. シークレットの公開 - > 安全なシークレット管理

    安全なシークレット管理と、資格情報の漏洩を防ぐ --block-secrets によるアクティブスキャンを組み合わせることで、シークレットの漏洩が排除されます。

    # Secure secret storage
    docker mcp secret set GITHUB_TOKEN=ghp_your_token
    docker mcp secret ls
    # Secrets never exposed as environment variables
    
    # Block secret exfiltration
    docker mcp gateway run --block-secrets
    # Scans tool responses for leaked credentials
    
    1. エンタープライズグレードの保護

    本番環境の場合、Docker MCP Gateway は、すべての保護メカニズムを組み合わせた最大限のセキュリティ構成を提供します。

    # Production hardened setup
    docker mcp gateway run \
      --verify-signatures \     # Cryptographic image verification
      --block-network \         # Zero-trust networking
      --block-secrets \         # Secret scanning protection
      --cpus 1 \               # Resource limits
      --memory 1Gb \           # Memory constraints
      --log-calls \            # Comprehensive logging
      --verbose                # Full audit trail
    

    この構成では、次の機能が提供されます。

    • サプライチェーンのセキュリティ: --verify-signatures 、暗号的に検証された画像のみが実行されることを保証します
    • ネットワーク分離: --block-network は、承認された宛先のみを許可する L7 プロキシを作成します
    • シークレットプロテクション: --block-secrets は、すべてのツール応答をスキャンして、資格情報の漏洩を検出します
    • リソース制御: CPU とメモリの制限により、リソース枯渇攻撃を防止
    • 完全な可観測性:すべてのツールの相互作用の完全なログ記録と監視

    セキュリティ面

    従来のMCP

    Docker MCP ツールキット

    実行モデル

    npx/mcp-remote による直接ホスト実行

    コンテナ化された分離

    OAuth処理

    シェル実行の脆弱なプロキシ

    Docker Desktop のネイティブ OAuth

    シークレット管理

    環境変数

    Docker Desktop セキュアストア

    ネットワークアクセス

    無制限のホストネットワーク

    L7 許可リストに登録されている宛先を持つプロキシ

    リソース制御

    何一つ

    CPU/メモリ制限、コンテナー分離

    サプライチェーン

    npm パッケージ (ハイジャックされる可能性があります)

    暗号署名された Docker イメージ

    モニタリング

    可視性なし

    包括的なロギング --log-calls

    脅威の検出

    何一つ

    リアルタイムのシークレットスキャン、異常検出

    その結果、開発者が開発環境を損なうことなく AI 統合を安全に探索できる、セキュリティ第一の MCP エコシステムが実現します。組織は、エンタープライズ グレードのセキュリティが後付けではなくデフォルトであることを知っているため、自信を持って AI ツールを導入できます。

    このシリーズの今後の号にご期待ください。

    1。 JFrog Supply Chain攻撃→OAuth検出の脆弱性

    • 悪意のある承認エンドポイントにより、リモートでコードが実行される
    • CVE-2025-6514を介したmcp-remoteの437、000+ダウンロードに影響します。

    2。 GitHub MCP データ強盗→プロンプトインジェクション攻撃

    • AIエージェントが不正なリポジトリにアクセスするように操作される
    • 公式のGitHub MCPサーバー(14、000+スター)がプライベートリポジトリに対して武器化されました

    3。ドライブバイ Localhost エクスプロイテーション→ Tenable Web サイト攻撃

    • 悪意のある Web サイトがローカル開発環境を侵害する
    • MCP Inspector (38、000+ 毎週のダウンロード数) が攻撃ベクトルになります

    4。ツール中毒+コンテナ脱出AIエージェントコンテナブレイクアウト

    • コンテナ化されたMCP環境が複合攻撃によって侵害された
    • AI 開発環境における分離の失敗

    5。無制限のネットワークアクセスネットワーク流出キャンペーン

    • MCP ツールの 33% で無制限の URL フェッチが可能
    • データ盗難と外部通信の経路を作成します

    6。 シークレットハーベスティング操作→公開された環境変数

    • プロセスリストとログに表示されるプレーンテキストの資格情報
    • 従来のMCPデプロイでは、APIキーとパスワードが漏洩する

    このシリーズの次号では、信頼できる OAuth プロキシをリモート コード実行の悪夢に変え、約 50 万の開発者環境を危険にさらしたサプライ チェーン攻撃である CVE20256514 について詳しく掘り下げていきます。

    さらに詳しく

    • MCP カタログをご覧くださいMCPカタログにアクセス 特定のニーズを安全に解決するMCPサーバーを検出します。
    • 数百台のMCPサーバーを使用してテストします。 Docker Desktopのダウンロード カタログ内の任意のMCPサーバーをダウンロードして、お気に入りのクライアント(Gordon、Claude、Cursor、VSCodeなど)で使用します
    • サーバーを提出する: 安全な AI ツール配布に向けた動きに参加してください。詳細については、投稿ガイドラインをご覧ください
    • 進捗状況をフォローする: リポジトリにスターを付けて、 MCP ゲートウェイのリリース とリモート サーバー機能に関する更新を監視します。

    投稿カテゴリ

    関連記事