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

AIエージェントSaaSを安全に提供する技術 / Architecture Conferen...

Avatar for GMO Flatt Security GMO Flatt Security
November 21, 2025
160

AIエージェントSaaSを安全に提供する技術 / Architecture Conference 2025

アーキテクチャConference 2025におけるCTO米内の登壇資料です。

Avatar for GMO Flatt Security

GMO Flatt Security

November 21, 2025
Tweet

More Decks by GMO Flatt Security

Transcript

  1. © 2025 GMO Flatt Security Inc. All Rights Reserved. 米内

    貴志(よねうち たかし) 仕事&趣味: ものづくりを安全にすること 2019年~ Flatt Security(’21~ CTO) 著書『Webブラウザセキュリティ』等 セキュリティ・キャンプ’12 参加 , ’18-’24スタッフ等 未踏ターゲット’21 / Quantum-Classical Programming Language ICC’23 アジア代表 / Head Captain CODE BLUE レビューボード ‘24-’25
  2. © 2025 GMO Flatt Security Inc. All Rights Reserved. Takumi

    の性能 96.2% Recall = TP/(TP + FN) に関する弊社ベンチマーク ホワイトボックス検査では、9割超の脆弱性の自動発見を実現 合成脆弱性その他からなるデータセットを用意し、near-zero config 性能を比較した。 結果として、対汎用エージェントに比して No.1 の性能。Precision 等他指標でも優位な結果を示した。
  3. © 2025 GMO Flatt Security Inc. All Rights Reserved. Takumi

    のインパクト Takumi は過去ゼロデイも発見してきた。中には悪用が報告されているものも Takumi が発見した 7-zip の脆弱性に悪用の報 https://thehackernews.com/2025/11/hackers-actively-exploiting-7-zip.html 過去の実証実験中、他著名OSSにも脆弱性報告 CVE-2025-29768 potential data loss with zip.vim and special crafted zip files in Vim < v9.1.1198 vim/vim CVE-2025-30218 x-middleware-subrequest-id may be leaked to external hosts
 vercel/next.js
  4. © 2025 GMO Flatt Security Inc. All Rights Reserved. 優先対処を要する

    Dependabot PR の自動特定 実業務で利用可能な高精度 95.2% 精度 重大なリスクを見逃さない 0件 偽陰性 毎回 頼まなくても!
  5. © 2025 GMO Flatt Security Inc. All Rights Reserved. ブラックボックス診断

    弊社データセット(OJS-BB-Only)内 70% 検知率 弊社データセット(OJS-All)内 48% 検知率
  6. © 2025 GMO Flatt Security Inc. All Rights Reserved. その他

    チャットでも依頼可 Slack 上 Web 上
  7. © 2025 GMO Flatt Security Inc. All Rights Reserved. もくじ

    1 AIエージェント Takumi の動作環境に期待されること 自社基盤「Sunaba」のアーキテクチャ 2 データ分離のための Brain-Compute Isolation 3 速さと安さを両立する Snapshot + Zero Scaling 4
  8. © 2025 GMO Flatt Security Inc. All Rights Reserved. その他

    チャットでも依頼可 タスクごとに色んな処理が求められる データの分離が重要に
  9. © 2025 GMO Flatt Security Inc. All Rights Reserved. セキュリティのための分離

    Tenant A Data A Data B Tenant B 🤖 🤖 言うまでもなく、テナントを跨いだデータアクセスは、重大インシデントになる
  10. © 2025 GMO Flatt Security Inc. All Rights Reserved. 正常動作のための分離

    PR #1234 をレビューするスレッド PR #5678 をレビューするスレッド Let’s run `git checkout pr/5678`... Let’s run `git checkout pr/1234`... Okay let’s start reviewing the code... 関係ないコードをレビューし始めてしまう 💥 期待通りの並列動作のためには、タスクのお互いが干渉しあってはいけない
  11. © 2025 GMO Flatt Security Inc. All Rights Reserved. AIエージェント動作環境に期待されること

    顧客の安全のため つねに必要なデータのみが触れてほしい
  12. © 2025 GMO Flatt Security Inc. All Rights Reserved. ブラックボックス診断

    弊社データセット(OJS-BB-Only)内 70% 検知率 弊社データセット(OJS-All)内 48% 検知率 よりエージェントの取る行動が過激に 結果として自由度が課題に
  13. © 2025 GMO Flatt Security Inc. All Rights Reserved. ブラックボックス診断エンジンの概念図

    入力されたURL等をもとに、ブラウザ操作&攻撃コードを実行し、疑似攻撃する 出力: 診断結果 入力: URL・制約等 生成した攻撃コードの実行 ブラウザ操作 LLM 通信 Takumi byGMO (AI) アプリケーション サーバ https://target.example ID Password パスワードが間違っています https://target.example ID Password パスワードが間違っています https://target.example ID Password パスワードが間違っています
  14. © 2025 GMO Flatt Security Inc. All Rights Reserved. 入力されたURL等をもとに、ブラウザ操作&攻撃コードを実行し、疑似攻撃する

    通信 アプリケーション サーバ https://target.example ID Password パスワードが間違っています https://target.example ID Password パスワードが間違っています https://target.example ID Password パスワードが間違っています 試験毎に独立したブラウザインスタンスが必要 もはや、エージェントと同じ環境内でアプリを動かしたい場合も
  15. © 2025 GMO Flatt Security Inc. All Rights Reserved. 入力されたURL等をもとに、ブラウザ操作&攻撃コードを実行し、疑似攻撃する

    生成した攻撃コードの実行 通信 アプリケーション サーバ https://target.example ID Password パスワードが間違っています https://target.example ID Password パスワードが間違っています https://target.example ID Password パスワードが間違っています この可否も性能を大きく左右 しかし、かなりセンシティブ
  16. © 2025 GMO Flatt Security Inc. All Rights Reserved. AIエージェント動作環境に期待されること

    顧客の安全のため つねに必要なデータのみが触れてほしい なにしてもいい環境がほしい 優れた性能のため
  17. © 2025 GMO Flatt Security Inc. All Rights Reserved. その他の用例

    無償提供プログラムの多数展開。ユーザー数がこれまでにないペースで増加 エンジニア応援プログラム for スタートアップ for バイブコーダー
  18. © 2025 GMO Flatt Security Inc. All Rights Reserved. 体験(仕様や速さ含)と「安い」の両立も大切に

    体験上は (論理的に) 常時起動したい すぐレスしたいので 待ち受けていたい チャット型 UX の場合 セッション中のデータ保持も必要 💥 💥 < Fine! 費用上は (物理的に) 極力停止したい 常時起動では、顧客数増が通信費増に強く直結 💥
  19. © 2025 GMO Flatt Security Inc. All Rights Reserved. 体験(仕様や速さ含)と「安い」の両立も大切に

    体験上は (論理的に) 常時起動したい すぐレスしたいので 待ち受けていたい チャット型 UX の場合 セッション中のデータ保持も必要 💥 💥 < Fine! 費用上は (物理的に) 極力停止したい 常時起動では、顧客数増が通信費増に強く直結 💥
  20. © 2025 GMO Flatt Security Inc. All Rights Reserved. 体験(仕様や速さ含)と「安い」の両立も大切に

    体験上は (論理的に) 常時起動したい すぐレスしたいので 待ち受けていたい チャット型 UX の場合 セッション中のデータ保持も必要 💥 💥 < Fine! 費用上は (物理的に) 極力停止したい 常時起動では、顧客数増が通信費増に強く直結 💥 ここにはトレードオフ
  21. © 2025 GMO Flatt Security Inc. All Rights Reserved. AIエージェント動作環境に期待されること

    顧客の安全のため つねに必要なデータのみが触れてほしい なにしてもいい環境がほしい 優れた性能のため 高速 かつ 安く立ち上がってほしい 優れた体験のため
  22. © 2025 GMO Flatt Security Inc. All Rights Reserved. AIエージェント動作環境に期待されること

    顧客の安全のため つねに必要なデータのみが触れてほしい なにしてもいい環境がほしい 優れた性能のため 高速 かつ 安く立ち上がってほしい 優れた体験のため これが解きたくて 自社基盤を運用しています
  23. © 2025 GMO Flatt Security Inc. All Rights Reserved. Sunaba(すなば)とは

    Flatt 内製のAIエージェント動作基盤 要約すると「エージェントを起動して!と 頼むといい感じに microVMs を起動して、 適度なタイミングで殺してくれる君」 Takumi の主要処理は、たいてい Sunaba の上で動作している
  24. © 2025 GMO Flatt Security Inc. All Rights Reserved. Sunaba

    - 大まかなコンポーネント Node (VM pool) apiserver = microVM Forward
 request Give me a VM! ……
  25. © 2025 GMO Flatt Security Inc. All Rights Reserved. Sunaba

    - Takumi の場合 Node (VM pool) apiserver Takumi システム = microVM Forward
 request Give me a VM! 「XXXの診断して!」 空きノードを選択し microVM を作成依頼
  26. © 2025 GMO Flatt Security Inc. All Rights Reserved. Sunaba

    - Takumi の場合 Node (VM pool) apiserver Takumi システム 「XXXの診断して!」 Takumi は Sunaba ユーザーの例 エージェント実行時、Sunaba を呼び出す
  27. © 2025 GMO Flatt Security Inc. All Rights Reserved. Sunaba

    - Takumi の場合 Node (VM pool) apiserver Takumi システム Give me a VM! 2つの microVMs (後述) からなる エージェント の作成を依頼する
  28. © 2025 GMO Flatt Security Inc. All Rights Reserved. Sunaba

    - Takumi の場合 Node (VM pool) apiserver Takumi システム Forward
 request 空きノードを選択し microVM を作成依頼 apiserver はノードの状態を知っている いい感じ (後述) にスケジューリングし、 相手方ノードに microVMs の作成を依頼
  29. © 2025 GMO Flatt Security Inc. All Rights Reserved. Sunaba

    - Takumi の場合 Node (VM pool) apiserver Takumi システム ノード内では nodeproxy なるコンポーネントが動作 VMM と連携し microVM を実際に生成する ※ 不要 microVM の GC や、apiserver との状態同期も責務内
  30. © 2025 GMO Flatt Security Inc. All Rights Reserved. AIエージェント動作環境に期待されること

    顧客の安全のため つねに必要なデータのみが触れてほしい なにしてもいい環境がほしい 優れた性能のため 高速 かつ 安く立ち上がってほしい 優れた体験のため
  31. © 2025 GMO Flatt Security Inc. All Rights Reserved. いわゆるコンテナでの分離だと?

    Hardware Linux Kernel App rootfs Linux namespace App rootfs Linux namespace あくまでユーザーランド内の 1 プロセス userns, pidns 等で空間分離されてるだけ
  32. © 2025 GMO Flatt Security Inc. All Rights Reserved. いわゆるコンテナでの分離だと?

    Hardware Linux Kernel App rootfs Linux namespace App rootfs Linux namespace gVisor 等がそうであるように、ptrace(2) や seccomp とかでゴニョゴニョする余地はありますが… syscall はホスト側カーネルへ直通 syscall は多様な為、攻撃平面多め syscall
  33. © 2025 GMO Flatt Security Inc. All Rights Reserved. Sunaba

    - Takumi の場合 Node (VM pool) apiserver Takumi システム あと Devin の ように、ユーザーに直接エージェント環境内を触らせる可能性も 加味しておく必要があった。すると悪意のある人間が狙って Escape しにくるかも ここでAIエージェント Takumi が動くが エージェントの行動制御は確実にはしにくい ふつうのコンテナより、ホスト侵害リスクを高く評価したい
  34. © 2025 GMO Flatt Security Inc. All Rights Reserved. Sunaba

    - Takumi の場合 Node (VM pool) apiserver Takumi システム いろいろ加味して KVM + Firecracker で microVM を立て、ここでエージェントを実行している
  35. © 2025 GMO Flatt Security Inc. All Rights Reserved. KVM

    ベースでの分離? Hardware Linux Kernel Linux Kernel KVM + VMM Guest OS App Guest OS App アプリはゲストOS上の1プロセスになる
  36. © 2025 GMO Flatt Security Inc. All Rights Reserved. KVM

    ベースでの分離? Hardware Linux Kernel Linux Kernel KVM + VMM Guest OS App Guest OS App syscall syscall は Guest OS までしか届かない カーネル脆弱性だけではホスト侵害は難
  37. © 2025 GMO Flatt Security Inc. All Rights Reserved. KVM

    ベースでの分離? Hardware Linux Kernel Linux Kernel KVM + VMM Guest OS App Guest OS App VMExit VMEntry ホスト側に戻ってくる場面はある 一方、Linux syscalls に比べ攻撃平面は少 あくまで相対的に、ではある 特に VMM に Firecracker を選ぶ限り、device emulation もかなり限定的で、 VM Escape は相当難易度高いだろうと思っている
  38. © 2025 GMO Flatt Security Inc. All Rights Reserved. Kubernetes

    っぽいが… Node (VM pool) apiserver Takumi システム Forward
 request 空きノードを選択し microVM を作成依頼 kube-apiserver っぽい? kubelet っぽい?
  39. © 2025 GMO Flatt Security Inc. All Rights Reserved. Kubernetes

    と Sunaba kube-apiserver kubelet High-level Runtime containerd とか Low-level Runtime runc とか High-level Runtime containerd とか Low-level Runtime runc とか CRI CRI kubelet apiserver nodeproxy Firecracker +KVM Firecracker +KVM nodeproxy
  40. © 2025 GMO Flatt Security Inc. All Rights Reserved. Kubernetes

    と Sunaba kube-apiserver kubelet High-level Runtime containerd とか Low-level Runtime runc とか High-level Runtime containerd とか Low-level Runtime runc とか kubelet apiserver nodeproxy Firecracker +KVM Firecracker +KVM nodeproxy コントロールプレーン側の責務は近い クラスタ全体を管理する責務 ただし実装はかなり軽い ∵ K8s 機能の大半はオーバースペックで不要だった為
  41. © 2025 GMO Flatt Security Inc. All Rights Reserved. Kubernetes

    と Sunaba kube-apiserver kubelet High-level Runtime containerd とか Low-level Runtime runc とか High-level Runtime containerd とか Low-level Runtime runc とか kubelet apiserver nodeproxy Firecracker +KVM Firecracker +KVM nodeproxy 同じく責務は似ている 同じく実装は軽量
  42. © 2025 GMO Flatt Security Inc. All Rights Reserved. Kubernetes

    と Sunaba kube-apiserver kubelet High-level Runtime containerd とか Low-level Runtime runc とか High-level Runtime containerd とか Low-level Runtime runc とか kubelet apiserver nodeproxy Firecracker +KVM Firecracker +KVM nodeproxy やりたいことに特化、抽象化少なめ エコシステム充実しており階層多 勿論この辺で Kata + Firecracker みたいな選択肢も浮かばなくなかったが、 不要な機能も多く、今後の独自要件のために遠回りが必要な感覚もあった
  43. © 2025 GMO Flatt Security Inc. All Rights Reserved. 余談:

    この技術選定は、いまのところどうだったか 結論、いい感じで、このまま行きます 今回は「巨人の肩に乗らない」ほうを選んだと言える 実際、再発明箇所もしばしばある たぶん普通の事業なら、これを作る決断はしない 一方、われわれの事業だと、逃げられない選択肢だった 今後見知らぬ人のコードを Takumi はもっと実行する。既存基盤での対応難がち よく睨むとAIのComputingの自由度は我々の事業の核。生殺与奪を握らせるな 作るのも重すぎないくらいだった(開発も数人・3ヶ月程度)
  44. © 2025 GMO Flatt Security Inc. All Rights Reserved. AIエージェント動作環境に期待されること

    顧客の安全のため つねに必要なデータのみが触れてほしい なにしてもいい環境がほしい 優れた性能のため 高速 かつ 安く立ち上がってほしい 優れた体験のため
  45. © 2025 GMO Flatt Security Inc. All Rights Reserved. LLM

    App の基本構造と課題 total 0 drwxr-xr-x@ ... App exec([“ls”, “./hello”]) 💥 LLM ShellTool(“ls ./hello”) LLM App は、LLM の Tool Use Response をもとに、様々な行動をとる 実行可能 Tool の自由度が高いほど、実行環境 (Compute) 内のリスクも高くなる
  46. © 2025 GMO Flatt Security Inc. All Rights Reserved. LLM

    App の基本構造 total 0 drwxr-xr-x@ ... App exec([“ls”, “./hello”]) 💥 LLM ShellTool(“ls ./hello”) LLM App は、LLM の Tool Use Response をもとに、様々な行動をとる 実行可能 Tool の自由度が高いほど、実行環境 (Compute) 内のリスクも高くなる 自分自身の実行ファイルが持ち出されるかも 例: cat /path/to/takumi | base64 -d | curl ...
  47. © 2025 GMO Flatt Security Inc. All Rights Reserved. LLM

    App の基本構造 ListRepos() App gh repo list ... 💥 LLM Here’s the list: shisho-security/test1 shisho-security/test2 ... LLM App は、LLM の Tool Use Response をもとに、様々な行動をとる 実行可能 Tool の自由度が高いほど、実行環境 (Compute) 内のリスクも高くなる API キー等が持ち出されてしまうかも ※ ツール向けのキー、LLM API向けのキー等
  48. © 2025 GMO Flatt Security Inc. All Rights Reserved. Brain-Compute

    Isolation (詳細) Sunaba では、LLM の制動部分 (Brain) と、Tool 一部の実行環境 (Compute) を分離 Run “ls ./hello” Run “ls ./hello” Sunaba Agent (in a Sunaba Node) microVM microVM total 0 drwxr-xr-x@ ... Brain Compute LLM Sonnet 等 total 0 drwxr-xr-x@ ... sandboxd sandboxd exec([“ls”, “./hello”]) 💥
  49. © 2025 GMO Flatt Security Inc. All Rights Reserved. Brain-Compute

    Isolation (詳細) Sunaba では、LLM の制動部分 (Brain) と、Tool 一部の実行環境 (Compute) を分離 Run “ls ./hello” Run “ls ./hello” Sunaba Agent (in a Sunaba Node) microVM microVM total 0 drwxr-xr-x@ ... Brain Compute LLM Sonnet 等 total 0 drwxr-xr-x@ ... sandboxd sandboxd exec([“ls”, “./hello”]) 💥 APIキーなどは Brain 側にのみ設置 任意コマンド実行時等に漏れない
  50. © 2025 GMO Flatt Security Inc. All Rights Reserved. Brain-Compute

    Isolation (詳細) Sunaba では、LLM の制動部分 (Brain) と、Tool 一部の実行環境 (Compute) を分離 Run “ls ./hello” Run “ls ./hello” Sunaba Agent (in a Sunaba Node) microVM microVM total 0 drwxr-xr-x@ ... Brain Compute LLM Sonnet 等 total 0 drwxr-xr-x@ ... sandboxd sandboxd exec([“ls”, “./hello”]) 💥 Compute 側には最小のデーモンを設置 極論 Compute 内に漏れてまずいシステムデータはない
  51. © 2025 GMO Flatt Security Inc. All Rights Reserved. AIエージェント動作環境に期待されること

    顧客の安全のため つねに必要なデータのみが触れてほしい なにしてもいい環境がほしい 優れた性能のため 高速 かつ 安く立ち上がってほしい 優れた体験のため
  52. © 2025 GMO Flatt Security Inc. All Rights Reserved. トレードオフ

    ゼロから立ち上げるとクリーンだが… 診断に必要なデータを fetch/clone するだけで 数分かかる場合も(& rate limitもある) 💥 < Fine! ずっと起動すると高速だが… 常時起動では、顧客数増が通信費増に強く直結 💥
  53. © 2025 GMO Flatt Security Inc. All Rights Reserved. (A)

    Snapshot & OverlayFS(さわりだけ) 予め必要なファイルを含むレイヤ(Snapshot)を準備 利用時は上に書き込み可能レイヤを OverlayFS として被せる < Fine! (1) エージェントを起動する際、 ベースイメージがあればダウンロード cat /etc/hosts echo “foo” > /etc/hosts Read: RO FS から読むだけ Write: Copy-on-Write (2) ベースイメージは R/O で 上にR/Wレイヤを被せてマウント・起動 Read-Write FS Read-Only FS Copy Modify Read
  54. © 2025 GMO Flatt Security Inc. All Rights Reserved. (B)

    Zero Scaling(さわりだけ) 各 microVM 内のデーモンを経由して、タスクの状態を外部に Expose いらなくなったエージェントは、よしなに殺される(i.e. garbager collection) < Fine! … 一定時間は VM を維持 … 暇になったタイミングで死亡 💥 時間の都合上、詳細説明はできず… すみません Terminating State の Agent を いい感じに GC する
  55. © 2025 GMO Flatt Security Inc. All Rights Reserved. AIエージェント動作環境に期待されること

    顧客の安全のため つねに必要なデータのみが触れてほしい → Brain-Compute Isolation で実現 なにしてもいい環境がほしい 優れた性能のため → ワークロードのVMレベル分離で実現 (Firecracker + KVM) 高速 かつ 安く立ち上がってほしい 優れた体験のため → Snapshot + Zero-Scaling を実装し実現
  56. © 2025 GMO Flatt Security Inc. All Rights Reserved. プロフェッショナル品質の

    セキュリティ診断 AI セキュリティエンジニア セキュリティに不安のある開発者 主な利用者 ホワイトボックス型診断(AI-SAST) ブラックボックス型 Web診断(AI-DAST) できること 税抜月額7万円(250クレジット分利用可能) たくさん利用したい月はクレジット追加可能 費用 開発・提供 いつでも使えます! 􀊫Takumi セキュリティ
  57. © 2025 GMO Flatt Security Inc. All Rights Reserved. OSS開発者・コントリビューター

    対象者 Takumi byGMO の全機能を 所定の期間内利用可能 支援内容 所定のクレジット枠内で クレジットは支援期間内は毎月充填 無料 費用 􀊫 GMO OSS 応援 いつでも使えます!