はじめに——「シャドーAI」の次に来る、もっと厄介な問題
「従業員が勝手にChatGPTを使っている」——このいわゆるシャドーAI問題は、すでに多くの企業で認識されています(シャドーAI対策ガイドで詳しく解説しています)。
しかし2026年、問題の質が大きく変わりました。
従業員がやっていることは、もはや「ChatGPTにこっそり質問する」レベルではありません。Claude DesktopにMCPサーバーを自分で追加する、CursorにカスタムMCPを接続する、n8nやMakeでAIと社内システムを直結する、ChatGPTにブラウザ拡張やプラグインを接続する——こうした「AIエージェントへの未承認ツール接続」が、新たなシャドーIT問題として顕在化しています。
シャドーAIが「未承認のAIツールを使うこと」だとすれば、シャドーツール接続は「承認済みのAIツールに、未承認の外部接続を追加すること」です。会社が正式に導入したClaude Desktopを使っているから問題ない——と本人は思っていても、そこに個人で追加したMCPサーバーやブラウザ拡張を通じて、顧客データが外部に流出するリスクが生まれています。
この記事では、未承認ツール接続の3大リスク、実際に起き得るインシデントシナリオ、検知方法、ポリシー設計、そしてClaude Code・Cursor・n8nの接続管理テンプレートまでを体系的に解説します。
MCPサーバーを正規に導入した場合のセキュリティ設定については、MCPサーバーセキュリティ入門ガイドおよびMCPサーバー本番運用セキュリティガイドをご参照ください。本記事では「正規導入」ではなく「従業員が勝手に接続した場合」のリスクと対策にフォーカスします。
シャドーAIとシャドーツール接続——何が違うのか
まず、従来のシャドーAI問題と、本記事で扱うシャドーツール接続問題の違いを整理します。
| 比較項目 | シャドーAI(従来) | シャドーツール接続(本記事) |
|---|---|---|
| 典型的な行動 | 個人のChatGPTアカウントで業務データを処理 | 会社導入済みのClaude DesktopにMCPサーバーを個人追加 |
| AIツール自体 | 未承認 | 承認済み(だから本人は問題ないと思っている) |
| リスクの所在 | AIツールそのもの | AIツールに接続された外部サービス・拡張機能 |
| 検知の難しさ | 比較的容易(SaaS利用ログ、DNS監視) | 困難(設定ファイルの変更、ローカル通信が中心) |
| データ流出経路 | AIベンダーのクラウド | MCPサーバー経由の任意のエンドポイント、ブラウザ拡張の外部送信先 |
この違いが重要な理由は、既存のシャドーAI対策(SaaS管理ツール、DLP、URLフィルタリング)では、シャドーツール接続を検知・制御できないためです。
未承認ツール接続の3大リスク
従業員がAIエージェントに未承認のツールを接続した場合、以下の3つのリスクが発生します。
リスク1:データ流出経路の増加
MCPサーバーは、AIエージェントと外部サービスを橋渡しする仕組みです。正規に管理されたMCPサーバーであれば、どのデータがどこに送られるかを把握・制御できます。しかし、従業員が個人で追加したMCPサーバーは、IT部門の監視の外にあります。
たとえば、従業員がGitHub上で見つけた便利そうなMCPサーバーをClaude Desktopに追加したとします。そのMCPサーバーが、Claude経由でアクセスした社内データを外部にログとして送信していたとしても、従業員はおろかIT部門も気づきません。
これはAIエージェントの鍵管理の問題とも密接に関係します。MCPサーバーに渡されたAPIキーやアクセストークンが、意図しない範囲で使用されるリスクがあるためです。
リスク2:サプライチェーン攻撃の侵入口
2026年現在、GitHubやnpmには数千のMCPサーバー実装が公開されています。その中には、悪意あるコードが仕込まれたものも確認されています。
従業員が「便利そうだから」と検証なしにインストールしたMCPサーバーが、実は以下のような攻撃を行う可能性があります。
- AIエージェントに渡された認証情報(APIキー、OAuthトークン)の窃取
- AIの応答を改ざんし、フィッシングURLや悪意あるコードを挿入
- バックグラウンドで社内ネットワークの偵察を実行
これはAIサプライチェーン攻撃対策ガイドで解説した脅威が、MCPサーバーという新しい経路で現実化するシナリオです。
リスク3:権限の意図しない委譲
MCPサーバーやブラウザ拡張がAIエージェントに接続されると、AIエージェントはそのツールが持つ権限を「使える」ようになります。問題は、AIエージェントが文脈に応じて自律的にツールを呼び出すため、従業員が意図していない操作が実行される可能性があることです。
たとえば、ファイル管理用のMCPサーバーを接続した従業員が、「この資料をまとめて」とAIに依頼したところ、AIがMCPサーバー経由でクラウドストレージ上の機密ファイルにアクセスし、その内容をコンテキストに含めてしまう——といったシナリオです。
AIエージェントの権限エスカレーション防止ガイドでは正規導入時の権限設計を解説していますが、未承認ツール接続ではそもそも権限設計がされていないため、リスクは格段に高くなります。
実際に起き得るインシデントシナリオ
上記の3大リスクが具体的にどのようなインシデントにつながるか、4つのシナリオで説明します。
シナリオ1:個人MCPサーバー経由での顧客データ流出
| 状況 | 営業担当者が、CRM連携用のMCPサーバーをGitHubで見つけてClaude Desktopに追加。顧客リストの整理作業に活用していた |
| 発生する問題 | MCPサーバーがClaude経由で読み取った顧客データ(氏名、連絡先、商談内容)を、開発者のデバッグ用ログサーバーに送信していた。開発者に悪意はなかったが、ログサーバーのセキュリティが甘く、データが外部に露出 |
| 影響 | 個人情報保護法違反のリスク、顧客からの信頼喪失、場合によっては報告義務の発生 |
シナリオ2:悪意あるブラウザ拡張によるセッションハイジャック
| 状況 | マーケティング担当者が、「AIの回答を自動的にNotionに保存する」ブラウザ拡張をChromeにインストール |
| 発生する問題 | 拡張機能が、Claude.aiのセッションCookieを窃取。攻撃者が担当者のClaudeアカウントにアクセスし、過去の会話履歴(社内戦略文書を含む)を閲覧 |
| 影響 | 競合他社への情報漏洩、社内戦略の流出、アカウント不正利用 |
シナリオ3:n8n/Makeによる社内システム直結
| 状況 | 経理担当者が、n8nで「請求書メールをAIが読み取り→会計ソフトに自動入力」というワークフローを個人的に構築 |
| 発生する問題 | n8nワークフローにバグがあり、AIが請求書の金額を誤読。修正なしに会計ソフトに入力され、誤った支払いが実行された。また、請求書データがn8nのクラウドインスタンスに保存され、第三者がアクセス可能な状態に |
| 影響 | 財務データの正確性毀損、未承認の自動支払い、機密財務情報の外部露出 |
シナリオ4:Cursor経由のコードベースへの攻撃
| 状況 | 開発者が、Cursorに外部のコード分析用MCPサーバーを追加。コードレビューの効率化に活用していた |
| 発生する問題 | MCPサーバーが、Cursorがアクセスしたソースコード(APIキーや接続文字列を含む)を外部に送信。攻撃者が本番環境のデータベースにアクセス |
| 影響 | ソースコード流出、本番環境への不正アクセス、顧客データの大規模漏洩 |
シャドーツール接続の検知方法
シャドーツール接続は、従来のシャドーAI対策では検知しにくいのが特徴です。以下の4つの検知アプローチを組み合わせることを推奨します。
検知方法1:設定ファイルの定期監査
Claude Desktop、Cursor、Claude Codeなどのツールは、接続先の設定を特定のファイルに保存しています。これらのファイルを定期的に監査することで、未承認のツール接続を検知できます。
主要な監査対象ファイル:
| ツール | 設定ファイルのパス | 確認すべき内容 |
|---|---|---|
| Claude Desktop(macOS) | ~/Library/Application Support/Claude/claude_desktop_config.json | mcpServers セクションに未承認のサーバーがないか |
| Claude Desktop(Windows) | %APPDATA%\Claude\claude_desktop_config.json | 同上 |
| Cursor | .cursor/mcp.json(プロジェクトルート) | mcpServers セクション、カスタムツール定義 |
| Claude Code | .mcp.json(プロジェクトルート)、~/.claude/settings.json | MCPサーバー定義、許可されたツール一覧 |
| Chrome拡張 | chrome://extensions(ブラウザ内) | AI関連の拡張、過剰な権限を持つ拡張 |
監査用スクリプトの例(macOS/Linux、Claude Desktop向け):
#!/bin/bash
# Claude Desktop MCP設定の監査スクリプト
CONFIG_FILE="$HOME/Library/Application Support/Claude/claude_desktop_config.json"
if [ -f "$CONFIG_FILE" ]; then
echo "=== Claude Desktop MCP設定 ==="
echo "ファイル更新日時: $(stat -f '%Sm' "$CONFIG_FILE")"
echo "登録済みMCPサーバー:"
cat "$CONFIG_FILE" | python3 -c "
import json, sys
config = json.load(sys.stdin)
servers = config.get('mcpServers', {})
if not servers:
print(' (なし)')
else:
for name, detail in servers.items():
cmd = detail.get('command', 'N/A')
print(f' - {name}: command={cmd}')
"
else
echo "Claude Desktop設定ファイルが見つかりません"
fi
検知方法2:エンドポイント監視(EDR連携)
EDR(Endpoint Detection and Response)製品を利用している場合、以下の挙動を検知ルールに追加します。
- claude_desktop_config.json / mcp.json の変更イベント——ファイル変更監視(FIM: File Integrity Monitoring)で検知
- MCPサーバープロセスの起動——npx、uvx、node、pythonなどのプロセスが、AIツールの子プロセスとして起動した場合をトリガー
- 未承認の実行ファイル——許可リストにない実行ファイルがAIツールから起動された場合
検知方法3:ネットワークトラフィック分析
MCPサーバーの多くは、外部APIと通信します。ネットワーク監視で以下を検知します。
- AIツールのプロセスから、承認されていないドメインへのHTTPS通信
- localhost上の未知のポートでのリスン——MCPサーバーはローカルで動作することが多い
- WebSocket接続の異常な増加——MCPのストリーミング通信で使われる
検知方法4:従業員への定期的なヒアリング
技術的な検知だけでは限界があります。四半期に1度程度、「AIツールに追加で接続しているツールやサービスはあるか」を匿名アンケートで確認することも有効です。これは「取り締まり」ではなく、「安全に使える環境を整備するためのヒアリング」として実施するのがポイントです。
3段階ポリシー設計——許可リスト方式のツール接続管理
シャドーツール接続に対応するポリシーは、以下の3段階で設計します。
第1段階:現状把握と分類(1〜2週間)
まず、社内で使われているAIツールと、それらに接続されているツール・サービスを棚卸しします。
棚卸しチェックリスト:
- 社内で利用が承認されているAIツールの一覧(Claude Desktop、ChatGPT、Cursor、GitHub Copilot等)
- 各AIツールに公式に接続されているMCPサーバー・プラグイン・拡張の一覧
- 従業員が個人で追加しているツール接続の実態(上記の検知方法で把握)
- 各ツール接続がアクセスするデータの種類と範囲
第2段階:許可リストの策定と展開(2〜4週間)
棚卸し結果をもとに、ツール接続の許可リスト(ホワイトリスト)を策定します。
| 分類 | 定義 | 例 |
|---|---|---|
| 承認済み(Green) | IT部門が検証・承認したツール接続。全従業員が利用可能 | 公式Slack MCPサーバー、承認済みGoogle Drive連携 |
| 申請制(Yellow) | 利用にはIT部門への申請と承認が必要。業務上の必要性を確認 | カスタムMCPサーバー、n8n/Makeワークフロー |
| 禁止(Red) | セキュリティリスクが高く、利用を禁止 | 出所不明のMCPサーバー、過剰な権限を持つブラウザ拡張 |
許可リスト策定時のポイント:
- MCPサーバーは「名前」だけでなく「ソースコードのリポジトリURL」「バージョン」「ハッシュ値」で管理する
- ブラウザ拡張は「拡張ID」と「許可する権限の範囲」を明記する
- n8n/Makeワークフローは「接続先サービス」と「扱うデータの種類」を申請書に記載させる
第3段階:技術的制御の実装(2〜4週間)
ポリシーを策定するだけでは実効性がありません。技術的な制御で強制力を持たせます。
技術的制御の例:
- claude_desktop_config.json の書き込み制限——管理者権限でのみ変更可能にする(macOSのconfiguration profile、Windowsのグループポリシーで制御)
- Chrome拡張の管理——Google Workspace管理コンソールまたはグループポリシーで、インストール可能な拡張をホワイトリスト制御
- ネットワーク制御——MCPサーバーが通信する外部ドメインをプロキシの許可リストで管理
- CI/CDパイプラインでの.mcp.json検査——リポジトリにコミットされた.mcp.jsonの内容を自動チェックし、未承認MCPサーバーが含まれていればブロック
「禁止するだけでは逆効果」——安全なツール接続を社内で提供する
ここが最も重要なポイントです。
従業員がシャドーツール接続をする理由は、業務を効率化したいからです。すべてを禁止すれば、従業員は「見つからない方法」を探すだけで、状況はむしろ悪化します。これはシャドーAI対策の教訓と同じです。
効果的なアプローチは、「安全に使える公式の代替手段」を提供することです。
社内MCPサーバーカタログの整備
従業員が必要とするMCPサーバーを、IT部門が事前に検証・承認し、社内カタログとして提供します。
【社内MCPサーバーカタログ(例)】 ■ コミュニケーション系 - Slack MCP(公式): メッセージ検索・投稿 → 承認済み - Gmail MCP(公式): メール検索・ドラフト作成 → 承認済み ■ ドキュメント系 - Google Drive MCP: ファイル検索・閲覧 → 承認済み - Notion MCP(公式): ページ検索・更新 → 承認済み ■ 開発系 - GitHub MCP(公式): リポジトリ操作 → 承認済み(開発チームのみ) - PostgreSQL MCP: DB参照 → 申請制(読み取り専用に限定) ■ 自動化系 - n8n(社内インスタンス): 承認済みテンプレートのみ利用可 → 申請制 ※カタログにないMCPサーバーの利用は、IT部門への申請が必要です ※申請フォーム: [社内リンク]
MCPサーバー申請・検証プロセス
従業員が新しいMCPサーバーの利用を希望する場合の申請プロセスを整備します。
- 申請:従業員が利用したいMCPサーバーの名前、リポジトリURL、利用目的、扱うデータの種類を申請
- 検証:IT部門がソースコードのレビュー、通信先の確認、権限の範囲を検証(目安:1〜3営業日)
- 承認/却下:リスク評価に基づき判断。承認した場合はカタログに追加
- 定期レビュー:承認済みMCPサーバーのバージョン更新時に再検証
このプロセスを「面倒な手続き」ではなく「安全に最新ツールを使うためのサポート」として位置づけることが、従業員の協力を得るカギです。
接続管理設定テンプレート
Claude Desktop、Claude Code、Cursorの接続管理設定テンプレートを提供します。IT管理者が各ツールで許可リスト方式を実装する際の参考にしてください。
Claude Desktop:設定ファイル管理テンプレート
Claude Desktopでは、claude_desktop_config.jsonでMCPサーバーの接続を管理します。IT部門が承認済みの設定ファイルを配布し、従業員による変更を制限するアプローチです。
{
"mcpServers": {
"slack": {
"command": "npx",
"args": ["-y", "@anthropic/mcp-server-slack@1.2.0"],
"env": {
"SLACK_BOT_TOKEN": "${MANAGED_BY_IT}"
}
},
"google-drive": {
"command": "npx",
"args": ["-y", "@anthropic/mcp-server-google-drive@1.0.3"],
"env": {
"GOOGLE_CREDENTIALS": "${MANAGED_BY_IT}"
}
}
}
}
// ★ IT管理者向け注意事項:
// 1. バージョンを固定する(@latest は使わない)
// 2. 環境変数のシークレットは、企業の鍵管理システムから注入する
// 3. macOS: configuration profileでファイルの書き込みを制限
// 4. Windows: グループポリシーでファイルの変更を検知
Claude Code:settings.json管理テンプレート
Claude Codeでは、settings.jsonでツールの許可設定を管理できます。
// ~/.claude/settings.json(ユーザーレベル設定)
{
"permissions": {
"allow": [
"mcp__slack__search_messages",
"mcp__slack__post_message",
"mcp__google-drive__search_files",
"mcp__google-drive__read_file"
],
"deny": [
"mcp__*__write_*",
"mcp__*__delete_*",
"mcp__*__execute_*"
]
}
}
// ★ ポイント:
// 1. 明示的にallowしたツールのみ利用可能にする
// 2. 書き込み・削除・実行系の操作はデフォルトで拒否
// 3. プロジェクトルートの.mcp.jsonは、CIで自動検査する
Cursor:MCP接続管理テンプレート
// .cursor/mcp.json(プロジェクトルート、リポジトリにコミット)
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@anthropic/mcp-server-github@1.1.0"],
"env": {
"GITHUB_TOKEN": "${MANAGED_BY_IT}"
}
}
}
}
// ★ CI/CDでの検査スクリプト例:
// - .cursor/mcp.json の内容をチェック
// - 承認済みサーバーリスト(allowlist.json)と比較
// - 未承認サーバーが含まれていればCIを失敗させる
CI/CDパイプライン用の検査スクリプト例
#!/bin/bash
# MCP設定ファイルの承認チェックスクリプト
# CI/CDパイプラインに組み込んで使用
ALLOWLIST="./security/mcp-allowlist.json"
MCP_FILES=(".mcp.json" ".cursor/mcp.json")
for file in "${MCP_FILES[@]}"; do
if [ -f "$file" ]; then
echo "検査中: $file"
python3 -c "
import json, sys
with open('$ALLOWLIST') as f:
allowed = json.load(f)['allowed_servers']
with open('$file') as f:
config = json.load(f)
servers = config.get('mcpServers', {})
violations = []
for name, detail in servers.items():
key = f\"{name}:{detail.get('command','')}:{' '.join(detail.get('args',[]))}\"
if key not in allowed:
violations.append(name)
if violations:
print(f'未承認MCPサーバーを検出: {violations}')
sys.exit(1)
else:
print('OK: すべてのMCPサーバーが承認済みです')
"
if [ $? -ne 0 ]; then
echo "❌ 未承認のMCPサーバーが含まれています。IT部門に申請してください。"
exit 1
fi
fi
done
echo "✅ MCP設定チェック完了"
導入ロードマップ——中小企業でも実行可能な3ヶ月計画
すべてを一度に実装する必要はありません。以下のロードマップで段階的に導入できます。
| 期間 | アクション | 成果物 |
|---|---|---|
| 月1(現状把握) | AIツールとツール接続の棚卸し、設定ファイルの初回監査、従業員へのヒアリング | 現状レポート、リスク評価結果 |
| 月2(ポリシー策定) | 許可リスト(Green/Yellow/Red)の策定、社内MCPサーバーカタログの初版作成、申請プロセスの整備 | ツール接続ポリシー文書、MCPカタログ、申請フォーム |
| 月3(技術的制御) | 設定ファイルの書き込み制限、FIMルールの導入、CI/CDパイプラインへの検査スクリプト追加、全従業員への周知 | 技術的制御の実装完了、従業員向け説明資料 |
よくある質問(Q&A)
Q1. MCPサーバーとは何ですか?なぜリスクになるのですか?
MCPサーバーとは、AIエージェント(Claude DesktopやCursorなど)と外部サービス(Slack、Google Drive、データベースなど)を接続する仲介プログラムです。MCP(Model Context Protocol)はAnthropicが提唱したオープンな標準規格で、AIエージェントが外部ツールを安全に利用するための仕組みです(MCP実践構築ガイドで詳しく解説しています)。リスクになるのは、このMCPサーバーを誰でも自作・公開でき(MCPサーバー自作ガイド参照)、従業員が検証なしにインストールした場合に、データ流出やサプライチェーン攻撃の侵入口になり得るためです。
Q2. 小規模な会社でもこの対策は必要ですか?
はい、むしろ小規模な会社ほど重要です。大企業にはIT部門やセキュリティチームがありますが、中小企業ではAIツールの管理が個人任せになりがちです。まずは「設定ファイルの定期監査」と「許可リストの策定」の2つから始めることをお勧めします。月1回、30分程度の作業で大幅にリスクを軽減できます。
Q3. 従業員がすでに未承認のMCPサーバーを使っていた場合、どう対応すべきですか?
まず「処罰」ではなく「把握と移行」のスタンスで対応してください。従業員が使っているMCPサーバーの一覧を把握し、業務上必要なものはIT部門で検証した上で承認済みカタログに追加します。不要なものは理由を説明して削除を依頼します。突然の全面禁止は、従業員の反発を招き、より巧妙な回避行動を誘発するリスクがあります。
Q4. ブラウザ拡張のリスクはAIに限った話ですか?
ブラウザ拡張のリスク自体はAI以前から存在します。しかし、AIツール(Claude.ai、ChatGPT等)との組み合わせで新たなリスクが生まれています。AI関連のブラウザ拡張は、AIの会話内容(業務データを含む)にアクセスできる権限を持つことが多く、従来のブラウザ拡張よりもデータ漏洩のインパクトが大きくなります。
Q5. インシデントが発生した場合の対応手順は?
シャドーツール接続に起因するインシデントが発生した場合は、AIインシデント対応ガイドのフレームワークに沿って対応してください。特に重要なのは、①問題のMCPサーバー/拡張機能の即時切断、②接続されていたデータの範囲特定、③影響を受けた顧客・関係者への通知判断、の3ステップです。また、従業員AI利用ログ管理ガイドに従ってログが保存されていれば、影響範囲の特定が格段に容易になります。
まとめ——「使うな」ではなく「安全に使える仕組み」を作る
AIエージェントの進化は止まりません。MCPサーバー、ブラウザ拡張、ワークフロー自動化ツール——これらは業務効率を劇的に向上させる可能性を持っています。問題は、これらのツール接続が「管理下にあるか、管理外にあるか」です。
本記事で解説したポイントをまとめます。
1. シャドーツール接続は、シャドーAIの「次の段階」——承認済みのAIツールに未承認の接続を追加する行為は、既存のセキュリティ対策では検知しにくい新たなリスクです。
2. 3大リスクを理解する——データ流出経路の増加、サプライチェーン攻撃の侵入口、権限の意図しない委譲。これらはいずれも実際に発生し得るシナリオです。
3. 検知と制御を組み合わせる——設定ファイルの定期監査、EDR連携、ネットワーク監視、従業員ヒアリングの4つを組み合わせて検知力を高めます。
4. 許可リスト方式で管理する——Green(承認済み)/ Yellow(申請制)/ Red(禁止)の3分類で、明確な基準を設けます。
5. 「禁止」ではなく「安全な代替手段の提供」——社内MCPサーバーカタログの整備と、迅速な申請プロセスの構築が、シャドーツール接続を根本的に減らすカギです。
AIエージェント時代のセキュリティは、「使わせない」のではなく「安全に使える仕組みを作る」ことが正解です。まずは今月中に、社内のAIツール設定ファイルを1回監査してみてください。予想以上の発見があるかもしれません。
関連記事
- シャドーAI対策ガイド——従業員の無断AI利用リスクと対策
- MCPサーバーセキュリティ入門ガイド
- MCPサーバー本番運用セキュリティガイド
- AIエージェント運用・監視ガイド
- 従業員AI利用ログ管理ガイド
- AIエージェントの鍵管理ガイド
- AIエージェントの権限エスカレーション防止ガイド
- AIインシデント対応ガイド
- AIサプライチェーン攻撃対策ガイド
- MCP実践構築ガイド
- MCPサーバー自作ガイド
免責事項: 本記事は2026年3月時点の公開情報に基づく情報提供であり、特定のセキュリティ製品やサービスを推奨するものではありません。具体的なセキュリティ対策の実装については、自社の環境やリスク要件に応じて、セキュリティ専門家にご相談ください。記事中のスクリプトやテンプレートはあくまで参考例であり、本番環境への導入前に十分なテストを行ってください。

コメント