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
6
1.5k
運用して初めてわかった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
120
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
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
990
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Building Applications with DynamoDB
mza
95
6.5k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Testing 201, or: Great Expectations
jmmastey
43
7.6k
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
850
For a Future-Friendly Web
brad_frost
179
9.8k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
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に