Upgrade to Pro — share decks privately, control downloads, hide ads and more …

野良MCPサーバーを排除せよ!MCPサーバーのガバナンス

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on. →
Avatar for YukiOgawa YukiOgawa
October 23, 2026

 野良MCPサーバーを排除せよ!MCPサーバーのガバナンス

AWS Agent RegisryとKiroを使ったMCP統制

Avatar for YukiOgawa

YukiOgawa

October 23, 2026

More Decks by YukiOgawa

Other Decks in Technology

Transcript

  1. 自己紹介 【所属&経歴】 2010~2019 研究所 • クラウドどころかコーディングもしていませんでした・・・ 2019~2020 アメリカでの海外研修 • クラウド(AWS)を初めて触りました

    おがわ ゆうき 小川 雄喜 • AWS Community Builders 2025/2026 • Japan All AWS Certifications Engineers 2025/2026 • Japan AWS Top Engineers 2020~2026 新設組織でプラットフォーム開発 • 初めは仕様書作成だけ、そこからコーディング→クラウドアーキ テクチャ設計と広がっていきました • 新設組織だったため、社内ハッカソンやLT会などの盛り上げイ ベントも担当するようになりました 2026.4~ CCoE/AICoEの専任 2025/2026 • CCoE:主にAWSを中心とした勉強会、各種SaaS製品のチー ム展開など • AICoE:Kiroを中心としたAI講習会を開催 ©Mitsubishi Electric Corporation 2
  2. 今日話すこと Agent Registry は承認したMCPサーバーを記録する台帳。 許可リストと組み合わせると、承認したサーバーだけが端末で動いた。 1 2 3 困りごと 考え方

    検証結果 MCPサーバーも外部のソフト。 統制を台帳・経路・執行の 承認をきっかけに許可リストを 誰でも入手して追加できるので、 3つに分ける。 作り直して配ると、リスト外の 許可制が要る Agent Registry は台帳を担う サーバーは起動しなかった ©Mitsubishi Electric Corporation
  3. MCPも従来のソフトと同じ MCPサーバーも、誰でも入手して入れられる外部のソフト。 従来のソフトと同じく、許可制で使わせる。 観点 従来のフリーソフト MCPサーバー 入れ方 誰でも入手して端末に入れられる 誰でも入手して設定ファイルに書けば使える 危険性

    不正なソフトや改ざんの危険が知られている 同じ危険がある。利用者の権限で外部と通信する 対処 完全な禁止は難しく、 ホワイトリストなどの許可制にする 同じく許可制にする。台帳と許可リストで作れる ©Mitsubishi Electric Corporation
  4. MCPで起きうること MCPサーバーは利用者の権限でファイルや社内システムに触れ、外部と通信する。 1 何が動いているか分からない 許可制がないと、どの端末でどのサーバーが 動いているかを管理者が把握できない 2 情報が外に出る 利用者が読めるファイルやチケットを、 サーバーが外部へ送れる

    3 中身を確かめていない 公開リポジトリのパッケージは、 更新で中身が変わることがある *1 *1 2025年9月、npm で公開されていた非公式の postmark-mcp が、更新版で送信メールの写しを外部へ送るよう改変された事例が報告された 出典: The Hacker News、2025年9月 ©Mitsubishi Electric Corporation
  5. 統制に要る3つの層 承認を記録する「台帳」、通信が通る「経路」、接続を止める「執行」の3つに分けて考える。 台帳 • 担うこと • 何を承認したかを記録し、 利用者に一覧で見せる • AWS

    などの例 • AWS Agent Registry 経路 • 担うこと • ツール呼び出しの通信を中継し、 • 担うこと • 許可していない接続を止める ツール単位で認可する • AWS などの例 • Amazon Bedrock AgentCore Gateway ©Mitsubishi Electric Corporation 執行 • AWS などの例 • クライアントの許可リスト、 プロキシ、EDR
  6. AWS Agent Registryとは MCPサーバーやエージェントを登録し、承認したものだけを利用者に見せる組織の台帳。 *1 • 登録できるもの • MCPサーバー、A2Aエージェント、スキル、 任意のリソース

    • 承認の流れ • 公開者が登録して申請し、 承認者が承認すると検索と一覧に出る • 記録と費用 • 操作は CloudTrail に残る。 毎月レコード5,000件、検索100万回まで無料 *1 2026年8月31日に一般提供開始。API と IAM の名前空間は agent-registry。旧名前空間 bedrock-agentcore は2026年10月30日に終了予定 出典: AWS What's New、移行ガイド、2026-10-18 確認 ©Mitsubishi Electric Corporation
  7. 台帳は通信を止めない Agent Registry は承認済みの一覧を返す。未承認のサーバーへの接続を止めるのは、執行側の仕組み。 Agent Registry • 台帳は接続を止めない *1 •

    設定ファイルに直接書けば、 承認済みの一覧を返す 未承認のサーバーにも接続できる • 経路は通る通信だけを止める 許可リスト • AgentCore Gateway は通る通信をツール単位で止める。 直接接続 クライアント MCPサーバー Gateway を通らないサーバーには効かない • 自動検出は端末を見ない • 対象は AgentCore Runtime と Gateway。 AgentCore Gateway 端末で npx や uvx から起動するサーバーは見つからない 通る通信だけをツール単位で止める *1 AWS Japan の技術記事も、Agent Registry だけでは強制力がなく、クライアントの許可リストと組み合わせる構成を示している 出典: Zenn「Kiro に野良 MCP を繋がせない。AWS Agent Registry × Kiro for Enterprise」 ©Mitsubishi Electric Corporation
  8. 他のAIツールの許可リスト 主要な AI コーディングツールには、管理者が使える MCP サーバーを制限する設定がある。 *1 ツール 管理者の設定 Kiro

    プロファイルに許可リストの URL を設定する。 起動時と24時間ごとに取得し、リスト外は起動しない Claude Code managed-mcp.json で固定のサーバーを配る。 allowedMcpServers と allowManagedMcpServersOnly で承認済みの一覧から選ばせる GitHub Copilot Enterprise の managed-settings.json に allowedMcpServers と deniedMcpServers を書く。 レジストリの URL で絞る方式はパブリックプレビュー *1 各公式ドキュメント、2026-10-18 確認。検証したのは Kiro だけ。設定を取得できないときの挙動はツールで違う GitHub Copilot は直前の方針を保つと書かれており、Kiro の検証ではすべて止まった ©Mitsubishi Electric Corporation
  9. 台帳と許可リストをつなぐ 承認をきっかけに許可リストを作り直し、全端末へ配る。リスト外のサーバーは端末で起動しない。 *1 1 承認で起動する 2 許可リストを作り直す 3 端末が取得して止める 承認者がレコードを承認すると、

    Lambda が承認済みの一覧から 起動時と24時間ごとに取得し、 EventBridge が Lambda を registry.json を作り直し、 リスト外のサーバーを止める 起動する S3 と CloudFront で配る *1 配信URL 1つでつながるので、AWS RAM や Organizations の設定は要らない構成。アカウントをまたぐ配信は確かめていない ©Mitsubishi Electric Corporation
  10. 承認の権限を分ける 公開者は登録と申請だけができる。承認できるのは承認者のロールだけ。 • 公開者は登録と申請だけ • 承認の操作は IAM で拒否した。 試すと AccessDeniedException

    になった *1 • 承認者が状態を承認に変える • APPROVED になると、 許可リストが作り直された • 承認前は配られない • 承認前のレコードは利用者向けの一覧にも 許可リストにも出なかった *1 公開者のロールでは、状態を変える操作を IAM で明示的に拒否しておく ©Mitsubishi Electric Corporation
  11. 承認済みだけが届く Lambda が承認済みの一覧から許可リストを作り、端末は起動時に取得して候補に出す。 配られる許可リストの抜粋。一部の項目は省いた {"servers": [ {"server": { "name": "aws-mcp",

    "title": "AWS MCP Server", "version": "1.7.0", "packages": [{ "registryType": "pypi", "identifier": "mcp-proxy-for-aws", "transport": {"type": "stdio"} }] }} ]} 1 許可リストには、承認したサーバーが 公開パッケージ名と固定の版で載る *1 3 2 クライアントの追加画面には、 承認したサーバーだけが候補に出た 端末の版が許可リストと違うと、許可リストの版で起動し直す *1 利用者が変えられるのは環境変数やヘッダーなどだけで、起動コマンドと接続先は変えられない。環境ごとに違う値は利用者が環境変数で足す ©Mitsubishi Electric Corporation
  12. リスト外は起動しない 許可リストにあるサーバーだけが起動する。設定ファイルに直接書いたサーバーは隠れる。 • 既存のサーバーは起動されない • 許可リストを設定すると、 「1 servers hidden」とだけ表示された •

    直接書いても起動しない • 設定ファイルに直接書いたサーバーも、 IDE と CLI の両方で起動しなかった • リストから消えると終了する • リストから消えたサーバーは終了し、 利用者が追加し直すこともできない ©Mitsubishi Electric Corporation
  13. 廃止すると端末から消える DEPRECATED にすると許可リストから外れ、次の同期で端末でも使えなくなる。 1 2 3 DEPRECATED にする 許可リストから消える 端末でも使えなくなる

    承認者がレコードの Lambda が承認済みの 次の取得で候補から消え、 状態を変える 一覧から作り直す 追加済みなら failed になる DEPRECATED は戻せない。戻すときは版を上げて登録し直す *1 *1 版を上げて登録し直すとき、承認済みのレコードを更新すると、再承認までは前に承認した版が配られ続けた。レビュー中の変更は配られない ©Mitsubishi Electric Corporation
  14. 運用で気をつけること 配信元が止まると全サーバーが止まる。 統制できるのは MCP サーバーだけで、端末側の強制は回避されうる。 取得できないと全部止まる 対象はMCPサーバーだけ 許可リストを取得できないと、 スキルは Agent

    Registry に 承認済みも含めて 登録・承認できても、 全サーバーが止まった。 クライアントには配られなかった。 配信元の可用性が、 スキルやステアリングは 全端末のMCPの可用性になる 別の経路で配る *1 許可リストはクライアント側で適用され、利用者が回避しうると公式ドキュメントに書かれている ©Mitsubishi Electric Corporation 管理者権限で回避されうる 許可リストは クライアント側で適用される。 プロキシや EDR、 利用規程や契約で補う *1
  15. 統制の強さを選ぶ 統制の強さは3段階から選べる。 止められる範囲と、例外を扱う手間が引き換えになる。 全社標準 • 配り方 • 全員に同じ許可リストを配る 例外承認 •

    配り方 • 特定のチームにだけ 統制の対象外 • 配り方 • 許可リストを置かない 別のリストを配る *1 • 引き換え • 一番広く止められる。 標準にないサーバーは使えない • 引き換え • 柔軟に使える。 • ツールの種類ごとに リストの管理と、リスクを deny か ask をかけるだけ。 受け入れた人の記録が要る 特定のサーバーは止められない *1 Kiro では MCP の設定を AWS アカウント単位で分ける。人やグループ単位では分けられない ©Mitsubishi Electric Corporation • 引き換え
  16. 持ち帰ってほしいこと MCP も許可したものだけを使わせる。台帳で承認を記録し、執行で接続を止める。 1 MCPサーバーも許可したものだけを使わせる 従来のソフトと同じく、承認したサーバーだけを端末で動かす 2 台帳と執行を分けて設計する Agent Registry

    で承認を記録し、許可リストかネットワークで接続を止める *1 3 統制の強さは引き換えを見て選ぶ 止められる範囲と、例外を扱う手間を比べて決める *1 Claude Code と GitHub Copilot にも、管理者が使える MCP サーバーを許可リストで制限する設定がある。今回の検証は Kiro で行った 出典: 各公式ドキュメント、2026-10-18 確認 ©Mitsubishi Electric Corporation
  17. 料金と無料枠 Agent Registry には毎月の無料枠がある。レコード5,000件までは料金がかからない。 *1 レコード Search API 5,000 件

    Get と List の合計 100 200 万回 超過分の単価 万回 数え方 対象 超過分の単価 レコード 1,000件あたり $0.40 Search API 1,000回あたり $0.020 Get と List 1,000回あたり $0.004 • その時点の件数で数える • 削除したレコードは数えない • 再販する場合は無料枠の対象外 *1 Amazon Bedrock AgentCore 料金ページ、2026-10-18 確認。配信に使う S3・CloudFront・Lambda・EventBridge の費用は少額と見込むが、検証では試算していない ©Mitsubishi Electric Corporation
  18. レコードの状態遷移 状態は5つ。DEPRECATED は終端で、戻すことも編集することもできない。 起点 申請 DRAFT 承認 PENDING_APPROVAL 却下 REJECTED

    • 承認済みを編集すると新しい下書きの版ができる • 承認済みの版は再承認まで利用者に見え続ける • 承認済みを一時的に隠すときは REJECTED にする *1 • 編集して再承認すると戻る • 状態が変わるたびに EventBridge へ通知が届く • 5種類の状態変化を1つのルールで拾える *1 公式ドキュメントの記載。検証では REJECTED で隠す操作は試していない ©Mitsubishi Electric Corporation どの状態からも APPROVED DEPRECATED 戻せない・編集できない
  19. 検証した項目と範囲 登録から廃止までの一連の挙動を通して確かめた。アカウントをまたぐ配信は確かめていない。 *1 確認したこと 結果 承認すると EventBridge・Lambda・S3・CloudFront を経て端末まで届く 確認 公開者は自分で承認できない

    確認 承認前のレコードは配られない 確認 許可リストにないサーバーは IDE と CLI の両方で起動しない 確認 承認済みを更新して再レビュー中も、前の承認版が配られる 確認 DEPRECATED にすると端末からも消える 確認 許可リストを取得できないと全サーバーが止まる 確認 スキルのレコードはクライアントに配られない 確認 *1 2026年10月時点の仕様で確かめた。プロキシのある企業ネットワークでは、利用者側で環境変数の追加が要る場合がある レコードを削除したときは、許可リストが自動で作り直されない場合があった。廃止は DEPRECATED で行う方が確実 ©Mitsubishi Electric Corporation
  20. 構築手順の概要 統制用アカウントに台帳と配信を作り、利用アカウントでは URL を1つ設定する。 *1 1 台帳を作る EventBridge のイベントパターン Agent

    Registry を IAM 認可・手動承認で作る。 { "source": ["aws.agent-registry"], "detail-type": [{ "prefix": "Registry Record State changed to" }] 公開者と承認者のロールを分け、 公開者には状態を変える操作を拒否する 2 承認から許可リストを作る } EventBridge のルールで Lambda を起動し、 承認済みの一覧から JSON を作り、 非公開の S3 と CloudFront で配る 3 URL を設定する 各利用アカウントの Kiro コンソールで MCP を On にし、 MCP Registry URL に配信 URL を設定する *1 GA で CloudFormation・Terraform・CDK に対応した。 Agent Registry の認可方式は作成後に変更できない。Kiro のプロファイルはバージニア北部かフランクフルトに作る ©Mitsubishi Electric Corporation
  21. 出典 • AWS What's New: AWS Agent Registry is now

    generally available • Kiro Changelog IDE 0.11 • https://kiro.dev/changelog/ide/0-11/ • https://aws.amazon.com/about-aws/whats-new/2026/08/ aws-agent-registry-generally-available/ • AWS Agent Registry 開発者ガイド • AWS Japan Zenn: Kiro に野良 MCP を繋がせない。AWS Agent Registry × Kiro for Enterprise • https://zenn.dev/aws_japan/articles/agent-registry-kiro-governance • https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/ registry.html • Record lifecycle • https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/ • Claude Code: Control MCP server access for your organization • https://code.claude.com/docs/en/managed-mcp registry-record-lifecycle.html • GitHub Docs: Configuring an MCP server allowlist for your • Comprehensive registry migration guide • https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/ registry-faq.html • Amazon Bedrock AgentCore 料金 • https://aws.amazon.com/bedrock/agentcore/pricing/ • MCP governance: Kiro コンソールでの設定 • https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/ mcp-governance.html 2026-10-18 時点の公開情報。引用元の記述は要約・言い換えている。仕様は変わる可能性がある ©Mitsubishi Electric Corporation enterprise • https://docs.github.com/en/enterprise-cloud@latest/copilot/how-tos/ administer-copilot/manage-mcp-usage/configure-enterprise-allowlist • The Hacker News: First Malicious MCP Server Found Stealing Emails in Rogue Postmark-MCP Package • https://thehackernews.com/2025/09/ first-malicious-mcp-server-found.html