一次情報読解 AI原典ノート
RSS 保存
2026-06-21 / OpenAI / OpenAI / Data Governance / OpenAI導入前に読む保持境界 2026-06-21 / Model Context Protocol / MCP / Authorization / MCP社内導入前に読む権限統制 2026-06-21 / Hugging Face / Open-source / Agent Architecture / agent設計前に読む実行責任 2026-06-21 / Anthropic / Claude Code / Settings / Claude Code導入前に読む秘密境界 2026-06-21 / Anthropic / Managed Agents / Configuration / managed agent導入前に読む設定資産化 2026-06-21 / Anthropic / Managed Agents / Outcome Evaluation / managed agent運用前に読む完了判定 2026-06-21 / Model Context Protocol / MCP / Security / remote MCP導入前に読む認可境界 2026-06-21 / Google AI for Developers / Models / Release Channel Policy / 本番運用前に読む model 固定 2026-06-21 / Model Context Protocol / MCP / Debug Workflow / MCP導入前に読む検査手順 2026-06-21 / OpenAI / Tools / Function Calling / 外部処理接続前に読む責務分界 2026-06-21 / Anthropic / Coding Agents / Permissions / repo運用前に読む権限設計 2026-06-21 / Google AI for Developers / Retrieval / Embeddings / 検索基盤導入前に読む意味検索の基礎 2026-06-21 / OpenAI / Retrieval / Managed File Search / 文書検索導入前に読む責務分界 2026-06-21 / Anthropic / Coding Agents / Hooks / repo運用前に読む強制境界 2026-06-21 / OpenAI / Agents / Sandbox Execution / agent実装前に読む実行境界 2026-06-21 / Anthropic / Evals / Infrastructure Noise / 評価導入前に読む infra 交絡 2026-06-21 / OpenAI / State / Conversations / 長期運用前に読む state 設計 2026-06-21 / Model Context Protocol / Specification / Resources / MCP導入前に読む参照面仕様 2026-06-21 / Google AI for Developers / Credentials / Migration / 本番前に読む鍵運用変更 2026-06-21 / OpenAI / Prompting / Migration / 本番前に読む prompt 運用変更 2026-06-21 / OpenAI / Identity / Credentials / 運用前に読む認証境界 2026-06-21 / OpenAI / Safety / Moderation / 本番前に読む制御順序 2026-06-21 / Google AI for Developers / Migration guide / Schema / 移行前に読む破壊的変更 2026-06-21 / OpenAI / Connectivity / MCP / MCP接続前に読む境界設計 2026-06-21 / OpenAI / Responses API / Job Control / 実装前に読む非同期設計 2026-06-21 / Model Context Protocol / Specification / Permission Boundary / MCP導入前に読む境界仕様 2026-06-21 / Google AI for Developers / Managed Agent / Security / 導入前に読む境界設計 2026-06-21 / Anthropic / Security / Engineering / 運用前に読む安全設計 2026-06-21 / OpenAI / Realtime API / Voice / 本日読むべきAPI更新 2026-06-21 / OpenAI / API / Agent / まず読むべき原典 2026-06-21 / Anthropic / Postmortem / 実装に効くニュース 2026-06-21 / Google AI for Developers / Release notes / モデル・API更新 2026-06-21 / Hugging Face / Open-source / Tutorial / 今週試したい開発者ツール 2026-06-21 / Model Context Protocol / Specification / Architecture / 英日AI用語集
remote MCP導入前に読む認可境界 MCP / Security Model Context Protocol 2026-06-19

MCP Security Best Practices は「つながる」より先に、誰の権限を誰が横取りできるかを見る

このノートは原文の代替ではありません。読むべきポイントと実装上の意味を整理し、原典への入口を示します。

要点

要点まとめ

  1. remote MCP で先に怖いのは、便利につなぐことではなく、ある client のために取った承認結果や token が別の client や別の server に流れることだ。
  2. この docs は、その事故を抽象論で済ませず、同意の結び付け、戻り先 URL の確認、token の渡し方、認可先 URL の探索まで、どこを塞ぐべきか具体化している。
  3. とくに confused deputy、per-client consent、token passthrough、SSRF は、remote MCP を local MCP の延長で入れると見落としやすい論点である。
  4. つまり remote MCP の本体は transport の便利さではなく、『誰の承認結果を誰が使える構成なのか』を説明できることだ。
読解

何が変わったのか

このページは security 一般論ではなく、remote MCP 実装で起きる攻撃の流れをかなり具体的に書いています。confused deputy は、正当な権限を持つ中継役が別 client のためにその権限を悪用される問題です。対策として、client ごとの同意、承認後の戻り先 URL の厳密一致、`state` 検証、token の素通し禁止、metadata discovery で拾う URL の制約まで明示しています。remote MCP は transport より、認可と URL 信頼の設計が本体だと読み替えるべき原典です。

日本の文脈

なぜ重要か

日本語圏では MCP を『AI tool 連携の便利な規格』として先に学び、認可は後で詰める流れになりやすいです。しかし remote MCP を業務導入するなら、その順番は危ない。接続成功そのものが攻撃面になるからです。誰が同意したか、どの token がどの server 用か、どの URL を信用してたどったかを説明できない構成は、開発者だけでなく PM や導入責任者にとっても本番運用の土台として弱いままです。

技術ポイント

技術的ポイント

  1. confused deputy は、正当な権限を持つ proxy が別 client に悪用される問題である。third-party API につなぐ MCP proxy で起きやすい。
  2. per-client consent は client ごとの同意であり、ユーザーがどこかで一度承認しただけでは足りない。どの client_id のための同意かを束縛する必要がある。
  3. `redirect_uri` 厳密一致と `state` 検証は、認可コード横取りを防ぐ基本防御である。部分一致やワイルドカードは危険である。
  4. token passthrough は、上流で受けた token を別 server へそのまま流す anti-pattern である。token の宛先境界を壊すため避けるべきだ。
  5. metadata discovery は認可関連 URL を自動で見つける手順だが、悪意ある URL を拾うと SSRF で内部 IP や `localhost` を踏み台にされうる。
用語

英日キーワード

英語日本語補足
confused deputy 権限横取り型の代理人問題 正当な権限を持つ中継役が、別 client のために悪用される問題。remote MCP の認可設計で重要になる。
per-client consent client ごとの同意 利用 client ごとに別々の同意を取る考え方。どの client の承認結果かを曖昧にしないために要る。
redirect_uri exact match `redirect_uri` の厳密一致 承認後に戻す先を完全一致で縛ること。少し違う URI を許すと認可コード奪取の入口になる。
state validation `state` 検証 返ってきた OAuth 応答が、自分の開始した要求に対応するか確かめる手順。
token passthrough トークン素通し 受け取った token を別先へそのまま渡す危険な設計。token の宛先境界を崩しやすい。
SSRF サーバー側リクエスト強要 攻撃者が server に内部向け URL を踏ませる攻撃。metadata discovery や fetch 設計で対策が要る。
試す

試すなら

  1. remote MCP や proxy を使っている箇所を洗い出し、誰が token を保持し、誰が同意を出し、誰のための承認結果なのかを書き出す。
  2. 承認後の戻り先 URL で部分一致やワイルドカードを許していないか、`state` 未検証がないかを先に潰す。
  3. metadata discovery で辿る URL に HTTPS 制約、内部 IP 拒否、loopback 例外条件を置けているか確認する。
注意

注意点

  • このページは原則と攻撃類型を示すが、各 OAuth library がどこまで自動で守ってくれるかは別問題である。実装依存の思い込みは危険だ。
  • local stdio MCP の成功体験を、そのまま remote MCP へ延長すると判断を誤る。OAuth をまたいだ時点で責任境界が一段増える。
関連原典

関連原典

原典を開く