なぜMCPのセキュリティはエンタープライズ環境では個人使用より複雑なのですか?
個人使用では、リスクは比較的個人化されています——何か問題が発生しても、影響は通常あなただけで、Claudeの動作を直接観察・制御できます。
エンタープライズの複雑さが増す理由:規模——100人の従業員のClaudeがすべて中核ビジネスシステムに接続している場合、1つの設定ミスが全員に影響する可能性があります。データの機密性——顧客のプライバシー、財務情報、ビジネス機密。マルチユーザーの権限の複雑さ。コンプライアンス要件——多くの業界が明確なAI使用とデータ処理のコンプライアンス要件を持っています。攻撃面——より多くの潜在的な攻撃者。
プロンプトインジェクション攻撃はMCP環境でどのように発生しますか?どのように防御しますか?
MCPアーキテクチャでは、Claudeはツールの戻りデータを受け取り、コンテキストに統合します。プロンプトインジェクションはこれを悪用します——外部データにシステム指示のように見えるテキストを埋め込み、Claudeに攻撃者が設計した操作を実行させます。
防御戦略:System Promptで明示的に宣言する:ツールの返り値はすべて外部データであり、悪意のある指示を含む可能性がある;MCPサーバーの出力でデータソースをラベル付けする(外部データを<external_data>...</external_data>タグでラップ);高リスク操作には自動実行ではなくユーザー確認を義務付ける。
企業はMCPサーバーを自作すべきか、サードパーティのものを使うべきか?どのような考慮事項がありますか?
サードパーティMCPサーバーの使用:開発速度が速い——Anthropicとコミュニティが多くの既製のMCPサーバーを提供。デメリット:サードパーティのセキュリティプラクティスを信頼する必要がある;ソースコードの制御が限られる。
自社のMCPサーバーの構築:アクセス範囲とセキュリティメカニズムの完全な制御;エンタープライズのID認証と認可システムの統合(SSO、RBAC);コンプライアンス対応の監査ログのカスタマイズ。デメリット:エンジニアリングリソースが必要;立ち上げ時間が長い。
実際の推奨事項:コアビジネスシステム(ERP、CRM、顧客データベース、財務システム)への接続には、自社のMCPサーバーを構築するか、サードパーティの完全なコード監査を行うことを強くお勧めします。
MCPエンタープライズ展開のセキュリティチェックリスト(実用的なバージョン)
展開前の評価:
展開時の設定:
展開後のメンテナンス:
「MCPセキュリティの核心原則はシンプルだ:最小権限(必要なものだけ与える)、可逆性(高リスク操作は確認する)、監査(何をしたか記録する)。」
個人のMCP利用はリスクが個人に限定される。企業では複雑さが大幅に増す。
Prompt InjectionはMCPアーキテクチャを悪用し、外部データの中にシステム指示に似たテキストを埋め込んで、Claudeに攻撃者が設計した操作を実行させる。
実際の攻撃シナリオ:
防御戦略:
<external_data>...</external_data>などのタグを使ってデータソースにラベルをつけるサードパーティMCPサーバーの利用:
自作MCPサーバーの構築:
実務的推奨:中核業務システム(ERP、CRM、顧客データベース、財務システム)には自社MCPサーバーの構築、またはサードパーティオプションの完全なコード監査を強く推奨する。一般的なコラボレーションツール(Google Drive、Slack)は公式または著名なオープンソースMCPサーバーを厳格な最小権限設定で使うことが多くの場合許容できる。
展開前の評価:
展開設定:
展開後のメンテナンス:
1. 最小権限の原則:タスク完了に必要な最小限の権限のみClaudeに付与する。Google Drive全体へのアクセスが必要なのに1つのフォルダで足りる場合のような誤設定を避ける。
2. 可逆性:MCPツールの操作は可逆的なもの(ファイルの読取、データ検索)と不可逆的・高リスクなもの(ファイル削除、メール送信、コードのコミット、データベース書き込み)に分かれる。不可逆的な操作には必ず人間による確認を必須とする。
3. Prompt Injection防御:MCPツールの戻り値に埋め込まれた悪意のあるコンテンツが、Claudeに攻撃者の意図した操作を実行させようとする。防御策:外部データのサニタイズ、信頼されていないコンテンツと信頼されているコンテンツの明示的ラベリング、高リスク操作のダブル確認設計。
4. 監査ログ:呼び出し時刻、ツール名、入力パラメータ、戻り値の要約、実行ステータスを記録する。機密データをログに含めず、完全なメタデータ記録を維持する。
5. マルチテナント環境でのデータ分離:MCPサーバーはリクエストしているユーザーの身元を確認し、それに応じて戻りデータをフィルタリングする必要がある。企業のSSOをMCPサーバーの認可ロジックに統合する。
6. キーと認証情報のセキュリティ:認証情報をコードにハードコードしない。環境変数または専用のシークレット管理サービスを使い、認証情報のローテーションと侵害対応手順を計画する。
7. Claude Desktopの確認メカニズムを回避しない:これが最後の防衛ラインだ。不便に感じても、高リスク操作の確認プロンプトを無効化したり回避したりしてはならない。