MCP (Model Context Protocol) のセキュリティ -【第1回】MCPセキュリティの基本と重要性

## 1. はじめに
近年、AI（人工知能）技術は目覚ましい進化を遂げ、私たちの生活やビジネスに深く浸透し始めています。特に、人間と自然な対話を行うAI、例えばチャットボットやAIアシスタントなどが身近な存在になりました。これらのAIが、より賢く、文脈に沿った応答をするために重要な役割を果たしているのが、「コンテキスト（文脈）」を管理する仕組みです。

MCP（Model Context Protocol）は、こうしたAIモデルが対話の履歴やユーザーの状況といった「コンテキスト」を維持・管理するための考え方や仕組みの総称と捉えることができます。これにより、AIは以前の会話内容を「覚えて」いたり、ユーザーの好みを反映した応答をしたりすることが可能になります。

しかし、この便利な仕組みには、特有のセキュリティリスクも潜んでいます。本シリーズ（全5回）では、MCPのセキュリティをわかりやすい説明で共有します。第1回となる今回は、MCPセキュリティの基本的な考え方とその重要性、そしてなぜ対策が必要なのかについて掘り下げていきます。

## 2. MCPセキュリティの基本
まず、MCPとそのセキュリティがどのようなものか、基本的な部分から見ていきましょう。

### 従来のデータ通信との違い

従来の多くのデータ通信、例えばウェブサイトを閲覧する際などは、一回のリクエスト（「このページを見せて」）に対して一回のレスポンス（「はい、どうぞ」）が返ってくる、という比較的単純なやり取りが基本でした。もちろん、ログイン状態を保つなどの仕組みはありますが、AIとの対話ほど複雑な「文脈」を常に維持・参照するわけではありませんでした。

一方、MCPが関わるAIとの対話では、過去のやり取り全体が「コンテキスト」として重要になります。例えば、「昨日話したあの件だけど」とAIに話しかけたとき、AIが「あの件」を理解するためには、昨日の会話内容というコンテキストが不可欠です。MCPは、 **この連続性のある、状態を持った（ステートフルな）対話** を実現するための仕組みであり、常に過去の文脈情報を参照・更新しながら通信が行われます。

**例えるなら：**
- **従来の通信:** 一枚一枚、別々に送られてくる手紙。内容はそれぞれ独立していることが多い。
- **MCP:** 継続している電話での会話。相手は前の会話を覚えているから、話がスムーズに進む。
### 「コンテキスト」とは何か？

MCPにおける「コンテキスト」とは、AIが応答を生成するために利用する、対話の背景情報全般を指します。具体的には、以下のようなものが含まれます。

- 過去の会話履歴
- ユーザーの名前、好み、設定などのプロフィール情報
- 現在の状況（時刻、場所など）
- 参照しているドキュメントやデータ
### MCPセキュリティとは？

MCPセキュリティとは、この「コンテキスト」情報と、それを送受信する通信経路、そしてコンテキストを処理するAIモデル自体を、様々な脅威から保護することを意味します。具体的には、

- コンテキスト情報が盗まれたり、漏洩したりしないようにする **（機密性）**
- コンテキスト情報が不正に書き換えられたり、破壊されたりしないようにする **（完全性）**
- 必要な時に、権限のあるユーザーが適切にコンテキスト情報やAI機能を利用できるようにする **（可用性）**

といった要素が含まれます。

![MCPセキュリティとは_ - visual selection.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4058228/6c9bf053-04bc-48e4-9a8b-a7b7d6ff19db.png)

## 3. なぜ、MCPのセキュリティが重要なのか？
では、なぜMCPのセキュリティはこれほど重要なのでしょうか？それは、AIとの対話で扱われる「コンテキスト」が、非常に価値が高く、同時にデリケートな情報を含む可能性があるからです。

### コンテキストに含まれる情報の価値とリスク

考えてみてください。AIアシスタントに個人のスケジュール管理を任せたり、チャットボットに個人的な悩みを相談したり、あるいは企業で顧客対応や機密情報を含む文書作成にAIを利用する場面を想像してみましょう。このとき、コンテキストには以下のような情報が含まれる可能性があります。

- 個人のプライベートな情報（氏名、連絡先、健康状態、個人的な悩み）
- 企業の機密情報（顧客データ、開発中の製品情報、経営戦略）
- ログイン情報や認証に関する情報

これらの情報がもし漏洩したら、プライバシー侵害や経済的損失、企業の信用失墜など、深刻な問題につながる可能性があります。

**例えるなら：**
- 優秀な秘書があなたの個人的な情報や会社の機密事項をたくさん知っている状況を想像してください。もしその秘書のメモ帳（コンテキスト）が盗まれたり、誰かに勝手に書き換えられたりしたら、大変なことになります。MCPセキュリティは、その「デジタルの秘書」と「メモ帳」を守ることなのです。
### セキュリティ侵害がもたらす影響

MCPのセキュリティが侵害されると、単なる情報漏洩にとどまらず、以下のような影響も考えられます。

- **AIの誤動作:** 攻撃者がコンテキストを不正に操作することで、AIに間違った判断をさせたり、不適切な応答をさせたりする可能性があります。例えば、悪意のある指示をコンテキストに注入し、ユーザーを騙すような応答を生成させるかもしれません。
- **なりすまし:** 他のユーザーのコンテキストにアクセスできてしまうと、そのユーザーになりすましてAIを利用される可能性があります。
- **信頼の喪失:** ユーザーは、自分の情報が安全に管理され、AIが正しく動作するという信頼のもとにサービスを利用します。セキュリティインシデントが発生すれば、その信頼は大きく損なわれます。

![3. なぜ、MCPのセキュリティが重要なのか_ - visual selection.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4058228/e1e8d636-c1bd-4e88-9fc6-d25afe88ab3e.png)

このように、MCPにおけるコンテキストはAIの「知性」の根幹であり、同時に重要な情報資産でもあるため、そのセキュリティ確保は極めて重要です。

## 4. MCP特有のセキュリティリスクとは？
MCPのセキュリティを考える上で、従来のシステムとは少し異なる、特有のリスクにも注意が必要です。

**1. コンテキストデータの漏洩・盗難:**
前述の通り、コンテキストには機密情報が含まれることが多いため、これがシステムの脆弱性や不正アクセスによって外部に漏れるリスクです。特に、長期間にわたる対話履歴が蓄積されると、漏洩時の被害も大きくなります。

**2. コンテキストの汚染（ポイズニング）・操作:**
攻撃者が意図的に不正な情報や指示をコンテキストに注入し、AIの挙動を操作しようとするリスクです。これにより、AIが誤った情報を生成したり、セキュリティ上の問題を引き起こすような動作をしたりする可能性があります。これは、AIの「記憶」や「判断基準」を直接攻撃するようなものです。

**3. 不適切なコンテキストへのアクセス:**
認証や認可の仕組みが不十分だと、あるユーザーが他のユーザーのコンテキスト情報にアクセスしたり、変更したりできてしまう可能性があります。マルチユーザー環境では特に注意が必要です。

**4. コンテキスト管理の複雑さ:**
対話が長くなればなるほど、コンテキストは複雑化・肥大化します。この管理が適切に行われていないと、意図しない情報漏洩や、予期せぬAIの動作につながる可能性があります。

![4. MCP特有のセキュリティリスクとは_ - visual selection.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4058228/00b4f3ee-c858-41a0-8b8c-a76b14e86b7e.png)

これらのリスクは、コンテキストという「状態」を維持しながら通信を行うMCPの特性に起因するものであり、従来のセキュリティ対策に加えて、MCP特有の考慮が必要となります。

## 5. まとめ
今回は、MCPセキュリティのシリーズ第1回として、MCPの基本的な考え方、そのセキュリティの重要性、そして特有のリスクについて解説しました。

AIとの対話がより高度化・複雑化する中で、「コンテキスト」を安全に管理するMCPの仕組みは、その利便性の基盤であると同時に、セキュリティ上の重要なポイントとなります。コンテキストには価値ある情報が含まれる可能性が高く、その保護を怠ることは、個人にとっても組織にとっても大きなリスクとなり得ます。

次回は、このMCPのセキュリティを確保するための第一歩として、[「認証と認可の仕組み」](https://qiita.com/QueryPie/items/51b45e9110f9c8562c8f)について説明します。安全なAI利用のために、ぜひ続けてお読みいただければ幸いです。