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

AIエージェントの「作業場」としてのサンドボックス技術

 AIエージェントの「作業場」としてのサンドボックス技術

AIエージェント開発Night(https://layerx.connpass.com/event/357058/) にて、CTO米内が登壇した際のスライド資料です。

Avatar for GMO Flatt Security

GMO Flatt Security

July 16, 2025
Tweet

More Decks by GMO Flatt Security

Transcript

  1. © 2025 GMO Flatt Security Inc. All Rights Reserved. 自己紹介/会社概要

    米内 貴志 / GMO Flatt Security 職業: 日本語ラップフリーy ∵ 脆弱性探し業が AI に持っていかれたので
  2. © 2025 GMO Flatt Security Inc. All Rights Reserved. AIエージェントといっしょに

    に貢献 世界の安全 CVE-2025-29768 potential data loss with zip.vim and special crafted zip gles in Vim < v9.1.1198 vim/vim CVE-2025-30218 x-middleware-subrequest-id may be leaked to external hostm vercel/next.js CVE-2025-31483 Stored XSS in Mini ux Media Proxy due to improper Content-Security- Policy congguration mini®ux/v2 CVE-2025-32391 XSS possibility through malicious SVG uploads hedgedoc/hedgedoc 修正中 × 6 ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ Takumi、大活躍!
  3. © 2025 GMO Flatt Security Inc. All Rights Reserved. AIエージェントといっしょに

    に貢献 お客様の安全 ※ もちろん、AI使用に関しては、お客様との種々のご調整の上で 14k メッセージ 3~6月 3~6月 2k レポート お客様システムの診断/ペンテストでk アシスタントとして Takumi を活用
  4. © 2025 GMO Flatt Security Inc. All Rights Reserved. エージェント実行環境にかかるモチベーション

    計算資源を分離したい 部分の暴走で詰まないように データを分離したい 余計なものを渡したくない ユーザ毎に分離したい 当然 Production では必須 仕事毎に分離したい 並列作業させるには必須
  5. © 2025 GMO Flatt Security Inc. All Rights Reserved. エージェント実行環境にかかるモチベーション

    計算資源を分離したい 部分の暴走で詰まないように データを分離したい 余計なものを渡したくない ユーザ毎に分離したい 当然 Production では必須 仕事毎に分離したい 並列作業させるには必須
  6. © 2025 GMO Flatt Security Inc. All Rights Reserved. 例)

    データを分離したい w モデルの Tool Use 経由でデータが外に抜けていくケース、回避しがたq w なので、 しておきたq w この点で、以下にエージェント実行毎に、渡りうるデータ範囲を制限するかが重要 同一 Context Window 内に入りうる情報は、現状同一の機密レベルに https://invariantlabs.ai/blog/mcp-github-vulnerability https://blog.­att.tech/entry/mcp_security_second
  7. © 2025 GMO Flatt Security Inc. All Rights Reserved. とりあえず気にすべきこと

    計算資源を分離したい Tool がどの程度消費しそう? データを分離したい あのツールの結果がこのツー ルに飛ぶとだめ、はある? ユーザ毎に分離したい 何を境界に分離すべき? 仕事毎に分離したい 分離できると嬉しいが・・s 起動スピードの要件は?
  8. © 2025 GMO Flatt Security Inc. All Rights Reserved. 自社(Takumi)の場合

    計算資源を分離したい 結構重たいのが走る データを分離したい 例: 外部CVEデータの取得等で コードが飛んではいけない ユーザ毎に分離したい 最低限Slackワークスペース毎 仕事毎に分離したい チャットから呼びだすので、 <10s 程度でないと違和感
  9. © 2025 GMO Flatt Security Inc. All Rights Reserved. Takumi

    くんの場合 ― コンテナレベルの分離 + アプリレベルの分離 — 現行バージョンは Kubernetes (EKS) 上で構i — ツール構成が簡素なので、この程度で十分動作してくれた 計算資源を分離したい Pod の Resource Requests/Limitで実現 データを分離したい ストレージの分離 + Tool Use 時の検証 ユーザ毎に分離したい テナント毎に Deployment/Pod を発行 仕事毎に分離したい Slack チャンネル単位での分離を実現 Takumi AI セキュリティ診断AIエージェント
  10. © 2025 GMO Flatt Security Inc. All Rights Reserved. Takumi

    くんの場合 ― コンテナレベルの分離 + アプリレベルの分離 計算資源を分離したい Pod の Resource Requests/Limitで実現 データを分離したい ストレージの分離 + Tool Use 時の検証 ユーザ毎に分離したい テナント毎に Deployment/Pod を発行 仕事毎に分離したい Slack チャンネル単位での分離を実現
  11. © 2025 GMO Flatt Security Inc. All Rights Reserved. Takumi

    くんの場合 ― コンテナレベルの分離 + アプリレベルの分離 計算資源を分離したい Pod の Resource Requests/Limitで実現 データを分離したい ストレージの分離 + Tool Use 時の検証 ユーザ毎に分離したい テナント毎に Deployment/Pod を発行 仕事毎に分離したい Slack チャンネル単位での分離を実現
  12. © 2025 GMO Flatt Security Inc. All Rights Reserved. Takumi

    くんの場合 ― コンテナレベルの分離 + アプリレベルの分離 計算資源を分離したい Pod の Resource Requests/Limitで実現 データを分離したい ストレージの分離 + Tool Use 時の検証 ユーザ毎に分離したい テナント毎に Deployment/Pod を発行 仕事毎に分離したい Slack チャンネル単位での分離を実現 Ç Pod の Schedule は超高速ではな¬ → ゼロスケールが若干難し« Ç いうてもコンテ· →カーネルの脆弱性は不安
  13. © 2025 GMO Flatt Security Inc. All Rights Reserved. (micro)VM

    レベルの分離という道 microsandbox (libkrun) e2b (Firecracker) Fly.io (Firecracker) | 最近は libkrun, Firecracker などをフロントで使っている例がよく見られ™ | 掘り下げると Hypervisor.Framework (macOS) や KVM (Linuxo | Devin も (たぶん) Firecracker; see /opt/.devi° | Takumi も 7 月に Firecracker ベースの基盤に移行予定
  14. © 2025 GMO Flatt Security Inc. All Rights Reserved. まとめ

    p エージェントの実行環境は悩みのタネがh p 要件に合わせ、コンテナレベル分離/microVMレベルの分離を使い分けたx p 一通り加味して、エージェントを安全に稼働させよう