Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
運用して初めてわかったDevinのセキュリティ課題 - Devin Meetup Tokyo ...
Search
Hi120ki
July 26, 2025
9
5.9k
運用して初めてわかったDevinのセキュリティ課題 - Devin Meetup Tokyo 2025
https://aiau.connpass.com/event/357271/
Hi120ki
July 26, 2025
Tweet
Share
More Decks by Hi120ki
See All by Hi120ki
SECCON13 - SECCON Beginners Workshop - Reversing
hi120ki
0
140
Reversing基礎編 / Basics of Reversing - SECCON Beginners Live 2022
hi120ki
5
2k
CTF大会開催はいいぞ。- 魔女のお茶会 2021冬 / Guide for holding CTF events
hi120ki
2
1.4k
Magicで学ぶWebセキュリティ - SECCON Beginners Live 2021
hi120ki
0
1k
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
524
40k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Rails Girls Zürich Keynote
gr2m
95
14k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
110
19k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
Six Lessons from altMBA
skipperchong
28
3.9k
How to train your dragon (web standard)
notwaldorf
96
6.2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
283
13k
Music & Morning Musume
bryan
46
6.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Transcript
1 運⽤して初めてわかったDevinのセキュリティ課題 Devin Meetup Tokyo 2025 株式会社メルカリ Hiroki Akamatsu
2 ⾃⼰紹介 Hiroki Akamatsu @hi120ki 株式会社メルカリAI Security Team所属 • 外部AIツールのセキュリティレビュー
• 安全な利⽤⽅法やガイドライン策定 • 社内のAIの取り組みのセキュリティ確保 • Platform(クラウド‧GitHub等)整備 • 社内LiteLLM基盤構築
3 組織でのDevin利⽤ 所属組織でDevinを利⽤中✋
4 組織でのDevin利⽤ AIで起きるヒヤリハット
5 組織でのDevin利⽤ AIで起きるヒヤリハット ⼤事なファイルが消されるかも テストDBが初期化されるかも 認証情報がそのまま表⽰されるかも AIによる変更が確認されず本番適⽤されるかも
6 組織でのDevin利⽤ セキュリティを気にせずにDevinを使うと ❗Devinが書いたコードを誰もチェックしないまま本番適⽤ ❗Devinから別の⼈のクラウドなどの認証情報を盗める ❗気付かないうちに外部にソースコードが流出‧変更 ❗AI Agentが暴⾛して本番‧テスト環境を破壊
7 組織でのDevin利⽤ セキュリティを気にせずにDevinを使うと ❗Devinが書いたコードを誰もチェックしないまま本番適⽤ ❗Devinから別の⼈のクラウドなどの認証情報を盗める ❗気付かないうちに外部にソースコードが流出‧変更 ❗AI Agentが暴⾛して本番‧テスト環境を破壊 Devinの機能の理解と使い⽅の改善が必須
8 組織でのDevin利⽤ 抑えるべきポイント 1. Devinってどうやって動いているの? 2. Pull Requestって勝⼿に作られるけどいいの? 3. 他のツールとの連携のセキュリティはどうする?
4. どうやってDevin‧AI Agentを安全に制御する?
9 組織でのDevin利⽤ 抑えるべきポイント 1. Devinってどうやって動いているの? 2. Pull Requestって勝⼿に作られるけどいいの? 3. 他のツールとの連携のセキュリティはどうする?
4. どうやってDevin‧AI Agentを安全に制御する? 理解と対策を1つずつ積み重ねていく
10 1. Devinってどうやって動いているの? https://docs.devin.ai/integrations/gh
11 1. Devinってどうやって動いているの? GitHub Appでコードなどの読み取り書き込みを許可
12 1. Devinってどうやって動いているの?
13 2. DevinのPull Request DevinのPull Requestをレビューしていますか?
14 2. DevinのPull Request Branch Rulesetでレビュー必須化 推奨: Require a pull
request before merging • Required approvals = 1 • Require review from Code Owners • Require approval of the most recent reviewable push → このままの設定だとDevinが作ったPull Requestを⾃⼰承認可 → 他の⼈のチェックなくコードが本番環境で動作
15 2. DevinのPull Requestの⾃⼰承認 Devinが作ったPull Requestを⾃⼰承認 1. Devinに指⽰ 2. DevinがPull
Requestを作成 3. Pull Requestを指⽰者が⾃⾝で承認‧マージ チェックなくコードがマージされ本番環境へ → Devinだけではなく他のAI Coding Agentサービスも同様
16 2. DevinのPull Requestの⾃⼰承認 AI Coding Agent以外でも起きるPull Requestの⾃⼰承認 GitHubのBranch Protectionの突破⽅法
- Mercari Engineering 1. 別の⼈がPull Requestを作成 2. GitHub Action経由で1のブランチに変更を追加 3. Pull Requestを承認‧マージする チェックなくコードがマージされ本番環境へ
17 2. DevinのPull Requestの⾃⼰承認対策 2⼈の承認を必要とするワークフロー整備 (Devinが作るPull Requestのセルフマージを禁⽌する - newmo 技術ブログ)
⽋点 1. 設定によっては制限を回避可 ◦ ワークフロー⾃体を書き換え検査を無効化 ◦ 同じ名称のStatusを書き込み 2. 組織内の全レポジトリへの⼀括適⽤が不可 ◦ Requiring workflows with Repository Rulesetsでは pull_request_reviewイベントはサポート対象外 3. AI Coding Agentの追加で更新が必要
18 2. DevinのPull Requestの⾃⼰承認対策 palantir/policy-botをフォーク‧導⼊して対策 • ワークフローやStatusの上書きなどの回避が不可 • 組織全体に⼀括適⽤可 •
Devinだけではなく他のAI Coding Agentも⼀括で対策
19 2. DevinのPull Requestの⾃⼰承認対策 policy-botの運⽤ • “⼈”のみがコミット‧Pull Requestを作成 → 別の1⼈からの承認が必要
• “⼈”だけでなく“機械”がコミット‧Pull Requestを作成 → 2⼈(指⽰者+別の1⼈)からの承認が必要 この条件を逐次検査しStatusに反映 GitHub組織設定からStatusの通過を必須に設定 → Devinだけではなく他社AI Agent‧他経路からの⾃⼰承認を防⽌
20 DevinとGitHubのセキュリティのまとめ 組織のBranch Ruleset設定 + policy-bot • Require a pull
request before merging ◦ Required approvals = 1 ◦ Require review from Code Owners ◦ Require approval of the most recent reviewable push • 回避が不可かつ組織設定から適⽤可能なセキュリティコントロール 安全にDevinの変更を受け⼊れられる環境を構築
21 3. Devinとツール連携のセキュリティ テスト環境と連携したい API Keyを⼊⼒してくれと促してくる もっと社内情報を渡したい そのままDevinに個⼈のAPI Keyを渡していませんか?
22 3. Devinとツール連携のセキュリティ Devinに個⼈のAPI Keyを保存し利⽤ → 現在のDevinの仕様ではあぶない あるOrganization内ですべてのSessionを閲覧‧コマンド実⾏可 • 他の⼈が作成したSessionをブラウザで開いて...
• その認証情報をそのままチームで使いまわして... → いつ‧どこで‧だれが何を変更したのか追跡不可
23 3. Devinとツール連携のセキュリティ 1. テスト環境やプラットフォーム連携はGitHub Actionで ◦ GitHub Actionsでのシークレット管理はレポジトリシークレットを使 わない(どのワークフローからも取得可)
◦ Workload Identity FederationやAssumeRoleWithWebIdentityと クラウド上のシークレット管理 2. Devin Secretで最低限の認証情報を管理 ◦ 個⼈に紐づかないサービスアカウントからの認証情報 ◦ 読み取り権限のみ‧範囲を指定 ◦ 定期的に取り替え
24 3. Devinとツール連携のセキュリティ どれだけ対策してもDevinには認証情報が残る
25 Devin環境内の認証情報 1. GitHub AppのInstall Access Token ◦ Organizationに登録されたレポジトリの読み書き権限 ◦
有効期限は1時間 2. Devin Secretに保存されている認証情報 3. Session内に保存された認証情報 → Devinはこれらの認証情報を⾃由に扱うことができる 3. Devinとツール連携のセキュリティ
26 Devinからの認証情報の流出 → ソースコード流出‧改ざん、情報漏洩等 1. Prompt Injection攻撃によりDevinが攻撃者に誘導‧⾏動 2. Supply-chain攻撃で間接的に流出 3.
Devinとツール連携のセキュリティ
27 (1) Prompt Injection攻撃によりDevinが攻撃者に誘導‧⾏動 Web検索等で読み込んだコンテキストから指⽰が上書き Codex agent internet access Preset
domain listsなど軽減は可 根本対策はインターネットの遮断 → ⽣産性への影響 3. Devinとツール連携のセキュリティ
28 (2) Supply-chain攻撃で間接的に流出 Devinが偽のツールやライブラリを導⼊して流出 • 有名ライブラリに名前を似せた偽ライブラリやツール • 有名ライブラリ⾃体が乗っ取られて改ざん Vulnerability DB
- Snyk Malicious Package DevinにはEDR等の⼀定の対策が存在しない → 認証情報が盗まれたことに気付けない → プロンプトで導⼊させない指⽰‧Sessionの監視による軽減 → 認証情報の定期的な取り換え 3. Devinとツール連携のセキュリティ
29 4. どうやってDevinを安全に制御する? 攻撃を受けなくてもDevin(= AI Agent)がやらかしてしまう 暴⾛して本番環境‧テスト環境を破壊
30 4. どうやってDevinを安全に制御する? 攻撃を受けなくてもDevin(= AI Agent)がやらかしてしまう 暴⾛して本番環境‧テスト環境を破壊 • Devinから本番環境へデプロイしない •
Devinには最⼩のアクセス権限を付与
31 4. どうやってDevinを安全に制御する? 攻撃を受けなくてもDevin(= AI Agent)がやらかしてしまう 暴⾛して本番環境‧テスト環境を破壊 • Devinから本番環境へデプロイしない •
Devinには最⼩のアクセス権限を付与 AIは実⾏可能なすべての⾏動‧利⽤可能なすべての権限を使う前提 → プロンプトで完全な制御はできない
32 4. どうやってDevinを安全に制御する? 攻撃を受けなくてもDevinがやらかしてしまう 暴⾛して本番環境‧テスト環境を破壊 • Devinから本番環境へデプロイしない • Devinには最⼩のアクセス権限を付与 AIは実⾏可能なすべての⾏動‧利⽤可能なすべての権限を使う前提
→ プロンプトで完全な制御はできない → プロンプトで⾏動範囲を指⽰しつつSession履歴の監視による軽減
33 Devinの安全な利⽤のために 現在AI Agentのエコシステムは発展途上 1. 技術的なガードレール整備が追いついていない ◦ 根本対策と軽減策が⼊り乱れる ◦ ⽣産性とのバランスを考える必要
2. ユーザーもAIのセキュリティをキャッチアップ中 ◦ まずは基本的なセキュリティ対策から ◦ ⼀旦セキュリティチームに相談する⽂化
34 Devinの安全な利⽤のために 現在AI Agentのエコシステムは発展途上 1. 技術的なガードレール整備が追いついていない ◦ 根本対策と軽減策が⼊り乱れる ◦ ⽣産性とのバランスを考える必要
2. ユーザーもAIのセキュリティをキャッチアップ中 ◦ まずは基本的なセキュリティ対策から ◦ ⼀旦セキュリティチームに相談する⽂化 技術の改善とリテラシー向上で事故なくAI活⽤を続ける
35 Devinにリクエストしていること 1. Devin SecretのCreate API追加 → 将来的なSecretの⾃動取り替え実装 2. ある⼈が作成したSessionを他の⼈からRead-onlyに
→ 別の⼈のSession操作による意図しない変更や情報流出の阻⽌ → 最終的には個⼈ごとに厳密な権限管理が実装されることを期待 3. コミット署名のサポート → GPGキーの共有やghcommit CLIではなく公式のサポートを よりDevinをSecure by Defaultに