MCPサーバーは便利です。Claude CodeやCursorから外部APIやデータベースに接続できるようになります。しかし、本番環境にそのまま出すとかなり危険です。
実際に2026年1月、Anthropic公式のGit MCPサーバーに脆弱性が3つ見つかりました。プロンプトインジェクション経由でリモートコード実行まで可能だったのです。公式ですらこの状況なので、自前のMCPサーバーはなおさら注意が必要です。
この記事では、MCPサーバーのセキュリティ対策として本番公開前に確認すべき6項目をまとめます。
MCPサーバーのセキュリティリスクとは
プロンプトインジェクション。ユーザー入力に悪意ある命令が紛れ込むケースです。MCPサーバーはAIモデルに「ツール」として権限を与えます。そのため、AIが騙されるとデータベース書き換えやファイル削除が実行されてしまいます。
ツールポイズニング。MCPのツール定義自体に悪意あるコードを仕込む攻撃です。特に外部からMCPサーバーをインストールする場合、サプライチェーン攻撃のリスクが高まります。
過剰権限の放置。開発中に「フルアクセス」で設定したまま本番に出すパターンです。つまり、攻撃の影響範囲が不必要に広がってしまうわけです。
MCPサーバーのセキュリティ対策1 認証と認可の分離
「誰が接続できるか」と「何ができるか」は別物です。しかし、実際にちゃんと分離しているケースは驚くほど少ないです。
最低でも読み取り専用、書き込み可能、管理者の3段階に分けましょう。さらに、ロールごとにトークンを発行してください。全員が同じAPIキーを使い回すのは危険です。なぜなら、退職者が出たときに全員のアクセスが止まってしまうからです。
MCPサーバーのセキュリティ対策2 シークレット管理の手順化
.envに置くだけでは不十分です。大事なのはその先の運用手順です。
具体的には3つ決めましょう。ローテーション(定期的な鍵の更新)、失効(メンバー離脱時の即時無効化)、監査(アクセス記録の保持)です。加えて、ログにシークレットが出力されていないかも確認してください。マスキング設定がないとログ経由で漏洩するリスクがあります。
MCPサーバーのセキュリティ対策3 公開範囲の最小化
「インターネットに公開しない」が最強のセキュリティ対策です。社内だけのMCPサーバーならVPN経由のみにするだけでリスクが激減します。
外部公開が必要な場合はTLS必須です。さらに、レート制限と接続元制限も加えましょう。
MCPサーバーのセキュリティ対策4 入力バリデーション
MCPサーバーが受け取る入力は「信頼できない」ものとして扱いましょう。AIモデル経由のリクエストでも、元のユーザー入力には何が含まれるか分かりません。
OWASPの推奨に従って、パラメータバリデーション、SQLインジェクション対策、コマンドインジェクション対策を入れてください。また、MCPのサンドボックス化もOWASPが推奨しています。
MCPサーバーのセキュリティ対策5 監査ログの運用
ログを保存するだけでは意味がありません。異常を検知する仕組みまで作りましょう。
最低限アラートを設定すべき項目は4つあります。認証失敗の連続、異常な時間帯のアクセス、異常な呼び出し頻度、未知IPからの接続です。これを週次でレビューする運用を組み込むと、問題の早期発見につながります。
MCPサーバーのセキュリティ対策6 変更管理の徹底
セキュリティ事故の多くは「急ぎ変更」で起きます。そのため、MCPサーバーの設定変更は「申請、レビュー、反映、確認」の順を徹底しましょう。どんなに急いでいても最低限ペアレビューは挟んでください。
さらに、ロールバック手順の事前検証も重要です。問題が起きてから「戻す方法が分からない」では遅すぎます。
まとめ
MCPサーバーは正しく使えば非常に強力なツールです。しかし、AIに外部アクセス権限を与える以上、従来のWebアプリとは異なるリスクがあります。認証の分離、シークレット管理、入力バリデーション、監査ログ。地味な作業ですが、ここを手抜きすると取り返しがつきません。
参考リンク
- Security Best Practices – MCP公式
- MCP Security Vulnerabilities – Practical DevSecOps
- Anthropic MCP Server Flaws – Security Boulevard
- MCP Security Monitoring – Datadog
