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

MCP x Security/mcp-security

MCP x Security/mcp-security

MCP x Securityというテーマで社内の勉強会に登壇しました。
自身でもRISKENのMCPサーバを開発しており、その中で考えていたMCP関連のセキュリティ、利用者視点のセキュリティなどの知見をシェアします。

Avatar for gassara-kys

gassara-kys

June 11, 2025
Tweet

More Decks by gassara-kys

Other Decks in Technology

Transcript

  1. 自己紹介 小笠原 清志 画像 2017年度 CyberAgent ジョイン System Security 推進

    Group @gassara-kys ▪ 領域 クラウド x セキュリティ AI x セキュリティ @gassara5
  2. アジェンダ 1. Agentic AI 🤖 i. Agenticな世界 ii. Function CallingからのMCP

    2. MCPを利用する 🙆 i. セキュリティリスクと対策 ii. 既知の攻撃パターン 3. MCPを開発する ⚙ i. とりあえずtoolsをサポートする ii. stdio / streamable-http / oauth
  3. アジェンダ 1. Agentic AI 🤖 i. Agenticな世界 ii. Function CallingからのMCP

    2. MCPを利用する 🙆 i. セキュリティリスクと対策 ii. 既知の攻撃パターン 3. MCPを開発する ⚙ i. とりあえずtoolsをサポートする ii. stdio / streamable-http / oauth セキュリティの話をする前 に基本的な「構造」「仕組 み」の部分からおさらい
  4. アジェンダ 1. Agentic AI 🤖 i. Agenticな世界 ii. Function CallingからのMCP

    2. MCPを利用する 🙆 i. セキュリティリスクと対策 ii. 既知の攻撃パターン 3. MCPを開発する ⚙ i. とりあえずtoolsをサポートする ii. stdio / streamable-http / oauth MCP利用する場合のポイン トや既知の攻撃例をご紹介
  5. アジェンダ 1. Agentic AI 🤖 i. Agenticな世界 ii. Function CallingからのMCP

    2. MCPを利用する 🙆 i. セキュリティリスクと対策 ii. 既知の攻撃パターン 3. MCPを開発する ⚙ i. とりあえずtoolsをサポートする ii. stdio / streamable-http / oauth MCP開発の際に気にしたい 設計や実装ポイント
  6. レポート作成(AIの場合) ドキュメント検索 SQL実行・データ取得 計画(サブタスク) Tools テーブルスキーマ解析 WEB検索・リサーチ Notion連携 月次レポートを作成しろ と言われた

    与えられたToolsを使って タスクを実行 ① アウトラインを生成 ② 集計・グラフ生成 ③ インサイトを整理 ④ サマリーにまとめる ⑤ レポート出力・整形
  7. エージェント開発 ≒ Toolsの開発 ドキュメント検索 Tools • 例えば「ドキュメント検索」ツールを考える • ツールの存在をAIに認識させるため「説明」を追記(※超重要) •

    ツール実行に必要な「パラメータ」(Inputスキーマ)を定義 ✅ツールの説明  ・このツールは過去のドキュメントを検索して... ✅パラメータ  ・keyword (required, string)  ・page_no (option, number)  ・...
  8. MCP(Model Context Protocol)の登場 https://modelcontextprotocol.io/specification/2025-03-26/architecture • Function Callingでは課題があった ◦ モデルプロバイダー依存 (OpenAI、Claude、、、それぞれで独自のプロトコル)

    ◦ Toolsの再利用が難しい (言語の壁、プロバイダーの独自仕様、、、) • MCPというOpenなプロトコルが発表された ◦ Toolsが再利用可能 ◦ 特定のプロバイダーに依存しないプロトコル
  9. MCP(Model Context Protocol)の登場 https://modelcontextprotocol.io/specification/2025-03-26/architecture • 今年の3月頃から一気にバズった ◦ OpenAIもMCPの取り組みに乗ってきた ◦ Streamable-HTTPやOAuth(Draft)が発表された

    ◦ 様々なOSS、SaaS側のサポート • 開発体験はどう変わった? ◦ ソフトウェアレベルだと機能的にはそんなに変わらない ◦ むしろ、MCPサーバを立てないと行けないのでアーキテ クチャレイヤが複雑化 ◦ プロバイダー依存がなくなるので複数のモデルを使えた り、OSSのToolsを利用しやすくなった
  10. ケーススタディ(脆弱性の修正) タスク ソースコードの 脆弱性を修正して ラジャー! ① RISKENでソースコードの   問題(Finding)を特定 ②

    githubからソースコード取得 ④ コードの修正 ⑤ GitHubにPR投げる MCP ファイル アクセス ③ 脆弱性情報収集 WEB サーチ 人間 AI
  11. ポイント1: そのMCPサーバ大丈夫? タスク MCP ファイル アクセス WEB サーチ • 信頼できるMCPサーバのみを利用す

    る ◦ 公式のMCPサーバを使う ◦ 野良MCPの場合 ▪ コードが公開さてるか ▪ スキャン&結果チェック 不必要なファイルにアク セスするなど ① RISKENでソースコードの   問題(Finding)を特定 ② githubからソースコード取得 ④ コードの修正 ⑤ GitHubにPR投げる ③ 脆弱性情報収集
  12. ポイント2: 最小権限の原則 タスク MCP ファイル アクセス WEB サーチ • MCPサーバには大抵、アクセス

    トークンが必要になる • アクセスできる範囲や権限を最小 化する ◦ ReadOnly ◦ データ範囲 ◦ 不要なToolsはOFFにしておく Fine-grained PAT ① RISKENでソースコードの   問題(Finding)を特定 ② githubからソースコード取得 ④ コードの修正 ⑤ GitHubにPR投げる ③ 脆弱性情報収集
  13. ポイント3: ソフトウェアサプライチェーンリスク タスク MCP ファイル アクセス WEB サーチ • 信頼できるMCPであってもコードが

    侵害される可能性がある ◦ 利用していたライブラリ/パッケージに 悪意のあるコードが混入するなど • MCPサーバのバージョンを固定して 利用する ① RISKENでソースコードの   問題(Finding)を特定 ② githubからソースコード取得 ④ コードの修正 ⑤ GitHubにPR投げる ③ 脆弱性情報収集
  14. ポイント4: AIの暴走 タスク MCP ファイル アクセス WEB サーチ • 肝心要はAIのモデル

    • 賢いモデルを使いましょう • 「常に許可」も基本避けましょう ◦ Human-in-the-Loop ◦ 人間の判断・承認を入れる PRに余計なこと書き込む ファイルを破壊する ① RISKENでソースコードの   問題(Finding)を特定 ② githubからソースコード取得 ④ コードの修正 ⑤ GitHubにPR投げる ③ 脆弱性情報収集
  15. 何を作るか考える 目的 • どんなMCPがあると便利?(何をAIにやらせたい?) ◦ リードタイムを短縮させたい? ◦ クオリティを上げたい? ユースケース •

    普段の業務で人間依存になってるプロセスは? ◦ どこに時間がかかってる? ◦ どこの品質が問題? 本当にMCPサーバーの実装が必要か? • 既に提供されてないか? • 導入効果がありそうか?
  16. 何を作るか考える 例えば • RISKEN MCPの場合 ◦ 日々のセキュリティ対応をAIに移譲する(一部) ◦ セキュリティの認知負荷を下げる ◦

    最終的には普段の開発に集中できるようにする ◦ じゃあ、どんなToolsを実装すればいい? ▪ Findingの検索 ▪ アラート対応
  17. セキュアなアーキテクチャを考える リモートMCPサーバー リスク • 通常APIサーバと一緒のリスク ◦ DDoS攻撃 ◦ なりすまし・不正アクセス 対策

    • ネットワーク制限(VPN、IP制限) • デバイス制限(mTLS認証) • ユーザ認証(OAuth2.1) • DDoS対策(オートスケール、CDN)
  18. セキュアなアーキテクチャを考える リモートMCPサーバー リスク • 通常APIサーバと一緒のリスク ◦ DDoS攻撃 ◦ なりすまし・不正アクセス 対策

    • ネットワーク制限(VPN、IP制限) • デバイス制限(mTLS認証) • ユーザ認証(OAuth2.1) • DDoS対策(オートスケール、CDN) 脆弱性診断が必要そう