アジェンダ
1. Agentic AI 🤖
i. Agenticな世界
ii. Function CallingからのMCP
2. MCPを利用する 🙆
i. セキュリティリスクと対策
ii. 既知の攻撃パターン
3. MCPを開発する ⚙
i. とりあえずtoolsをサポートする
ii. stdio / streamable-http / oauth
Slide 5
Slide 5 text
アジェンダ
1. Agentic AI 🤖
i. Agenticな世界
ii. Function CallingからのMCP
2. MCPを利用する 🙆
i. セキュリティリスクと対策
ii. 既知の攻撃パターン
3. MCPを開発する ⚙
i. とりあえずtoolsをサポートする
ii. stdio / streamable-http / oauth
セキュリティの話をする前
に基本的な「構造」「仕組
み」の部分からおさらい
Slide 6
Slide 6 text
アジェンダ
1. Agentic AI 🤖
i. Agenticな世界
ii. Function CallingからのMCP
2. MCPを利用する 🙆
i. セキュリティリスクと対策
ii. 既知の攻撃パターン
3. MCPを開発する ⚙
i. とりあえずtoolsをサポートする
ii. stdio / streamable-http / oauth
MCP利用する場合のポイン
トや既知の攻撃例をご紹介
Slide 7
Slide 7 text
アジェンダ
1. Agentic AI 🤖
i. Agenticな世界
ii. Function CallingからのMCP
2. MCPを利用する 🙆
i. セキュリティリスクと対策
ii. 既知の攻撃パターン
3. MCPを開発する ⚙
i. とりあえずtoolsをサポートする
ii. stdio / streamable-http / oauth
MCP開発の際に気にしたい
設計や実装ポイント
ケーススタディ(脆弱性の修正)
タスク
ソースコードの
脆弱性を修正して
ラジャー!
① RISKENでソースコードの
問題(Finding)を特定
② githubからソースコード取得
④ コードの修正
⑤ GitHubにPR投げる
MCP
ファイル
アクセス
③ 脆弱性情報収集 WEB
サーチ
人間 AI
Slide 34
Slide 34 text
ポイント1: そのMCPサーバ大丈夫?
タスク MCP
ファイル
アクセス
WEB
サーチ
● 信頼できるMCPサーバのみを利用す
る
○ 公式のMCPサーバを使う
○ 野良MCPの場合
■ コードが公開さてるか
■ スキャン&結果チェック
不必要なファイルにアク
セスするなど
① RISKENでソースコードの
問題(Finding)を特定
② githubからソースコード取得
④ コードの修正
⑤ GitHubにPR投げる
③ 脆弱性情報収集
Slide 35
Slide 35 text
ポイント2: 最小権限の原則
タスク MCP
ファイル
アクセス
WEB
サーチ
● MCPサーバには大抵、アクセス
トークンが必要になる
● アクセスできる範囲や権限を最小
化する
○ ReadOnly
○ データ範囲
○ 不要なToolsはOFFにしておく
Fine-grained PAT
① RISKENでソースコードの
問題(Finding)を特定
② githubからソースコード取得
④ コードの修正
⑤ GitHubにPR投げる
③ 脆弱性情報収集
Slide 36
Slide 36 text
ポイント3: ソフトウェアサプライチェーンリスク
タスク MCP
ファイル
アクセス
WEB
サーチ
● 信頼できるMCPであってもコードが
侵害される可能性がある
○ 利用していたライブラリ/パッケージに
悪意のあるコードが混入するなど
● MCPサーバのバージョンを固定して
利用する
① RISKENでソースコードの
問題(Finding)を特定
② githubからソースコード取得
④ コードの修正
⑤ GitHubにPR投げる
③ 脆弱性情報収集
Slide 37
Slide 37 text
ポイント4: AIの暴走
タスク MCP
ファイル
アクセス
WEB
サーチ
● 肝心要はAIのモデル
● 賢いモデルを使いましょう
● 「常に許可」も基本避けましょう
○ Human-in-the-Loop
○ 人間の判断・承認を入れる
PRに余計なこと書き込む
ファイルを破壊する
① RISKENでソースコードの
問題(Finding)を特定
② githubからソースコード取得
④ コードの修正
⑤ GitHubにPR投げる
③ 脆弱性情報収集