Slide 1

Slide 1 text

コードを読まない 時代の死角 検出から検証へ、脆弱性診断AIエージェントの現在地 AI DevEx Conference 2026 執行役員 Co-CTO 志賀 遼太 @Ga_ryo_

Slide 2

Slide 2 text

自己紹介 志賀 遼太 @Ga_ryo_ ・ GMO Flatt Security(株) 執行役員 Co-CTO ・ 手動脆弱性診断とペネトレーションテストをリード ・ 脆弱性リサーチ (Pwn2Own 2021) © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

Takumi Guard を 作っている会社です 登壇者と提供領域 © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

生成速度と確認速度の乖離 速度の非対称性 コード生成の高速化だけでは、開発全体は速くならない ・ AIによるコード生成量の増加 ・ 変更・リリース頻度の上昇 ・ レビュー能力による律速 必要なのは、コード生成の自動化に追従する 「確認能力の自動化」 © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 7

Slide 7 text

本日の流れ 1 2 3 4 5 自動化の現在地とAI 検出の限界 検出から検証へ 深い探索と防御戦略 結論 © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 8

Slide 8 text

CHAPTER 01 自動化の現在地とAI 01 © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 9

Slide 9 text

SAST (Static Application Security Testing) 自動化の現在地とAI SASTは、人がコードを読む工程の一部を自動化した 「怪しい」と「成立する」の間には、まだ距離が残る できること ・ 危険なAPIの使い方をコード全体から探す ・ ユーザー入力が危険な処理まで届くかを追う ・ 既知の危ないパターンを広く高速に当てる 届かないこと ・ ルールに無い問題は探しにいけない ・ フレームワークや設定の意味の解釈が難しい ・ 「コード上そう見える」と「本当に攻撃が通 る」は別 © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 10

Slide 10 text

DAST (Dynamic Application Security Testing) 自動化の現在地とAI DASTは、動かして観測するところまで自動化した 「何を観るか」は、依然として事前設計 / 人 できること ・ 実環境へ入力を送り応答や状態変化を観測 ・ fuzzingで入力を変化させクラッシュや異常 を発火 ・ 「動かして結果を見る」検証を人手を介さず 回す 届かないこと ・ 何を試すべきかの試験設計 ・ 反応を見て次の仮説をどう立てるか ・ 複数機能をまたぐ探索と、それが仕様上リス クかの判断 © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 11

Slide 11 text

AIエージェント 自動化の現在地とAI SASTとDASTが共通で抱えた「何を観るか」の限界を、 AIエージェントが文脈理解と適応的な探索で埋め始めた 入力 コード・仕様・実行結果 → ↺ AIエージェント → 行動 調べる場所・使うツール・試す入力 反応を見て、仮説を切り替えながら探索を続ける ・ コードだけでなく仕様や実行結果もあわせて見て、状況を掴む ・ 反応を踏まえて、次にどこを調べるか、何を試すかを自分で選ぶ ・ うまくいかなければ、別の仮説に切り替えて探索を続ける © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 12

Slide 12 text

AIの能力の見取り図 自動化の現在地とAI 「AIが見つける」を構成する4つの要素 ① 候補評価 目の前のコードが危ないかを判断する ② 探索 ③ 成立確認 ④ 継続運用 広い対象から、見るべき場所を選ぶ 攻撃の条件を作って、実際に発火させる 変化に追従して、人手をかけずに回し続ける © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 13

Slide 13 text

AIの能力の見取り図 ① 候補評価 ② 探索 ③ 成立確認 自動化の現在地とAI ④ 継続運用 AIが見つけられるか、は既に証明されてきた ・ AIが脆弱性を見つけられるか。これは一年以上前に、我々自身が実証済み ・ 世界的な脆弱性報告のコンテスト(Pwn2Own)もパンク © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 14

Slide 14 text

AIの能力の見取り図 ① 候補評価 ② 探索 ③ 成立確認 自動化の現在地とAI ④ 継続運用 Mythosが押し上げたのは、探索の広さと侵害の深さの上限 ・ Mythosは、その能力の上限を大きく押し上 げた ・ 広い実コードから難所を探し、複数の問題を 組み合わせ、より深いexploitまで自力で構築 ・ 見取り図でいう ② 探索の広さ と ③ 成立確 認の深さ が、一段上がった 出典:Anthropic Project Glasswing (https://www.anthropic.com/research/glasswing-initial-update) © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 15

Slide 15 text

AIの能力の見取り図 ① 候補評価 ② 探索 ③ 成立確認 自動化の現在地とAI ④ 継続運用 高性能なモデル x Claude Codeに「脆弱性見つけて」で良くない? 実際、かなりいける。ただし"見つけた"の先が残る ・ ① 候補評価のコモディティ化は、Mythos以前から起きていた。切り出された問題なら、安価なモデルでも判断できる (AISLEも同傾向) ・ ②③がどれだけ賢くなっても、④ 継続運用が人手のままなら、診断全体は回らない ・ Anthropic自身、モデルを裸で置かず、対象選定・実行環境・反証・重複排除まで組んで成果にしている(Glasswing) 問題は"見つける"ではない。検証を走らせ続ける仕組みがあるか 出典:AISLE「AI Cybersecurity after Mythos: The Jagged Frontier」(https://aisle.com/blog/ai-cybersecurity-after-mythos-the-jagged-frontier) Anthropic Project Glasswing (https://www.anthropic.com/research/glasswing-initial-update) © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 16

Slide 16 text

CHAPTER 02 検出の限界 02 © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 17

Slide 17 text

検出だけでは埋まらない差 検出の限界 候補を速く出すほど、詰まる場所が「生成」から「確認・修正」へ移るだけ ・ AIは候補を大量に出せる。候補を出すこと自体は もうボトルネックではない ・ 確かめていない候補は、真偽を確認する負荷をそ のまま下流へ押し出す ・ curlは、AI slop を含む低品質報告の急増で確認が 追いつかず、HackerOne 上の Bug Bounty を終了 ・ 人間が確かめる速度は、コード生成ほどには増え ない 出典:curl / Daniel Stenberg ( https://daniel.haxx.se/blog/2025/07/14/death-by-a-thousand-slops/ ) © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 18

Slide 18 text

検出だけでは埋まらない差 検出の限界 発見はもう律速ではない 律速は、検証と修正のループにある candidates 23,019 reviewed confirmed reported patched 97 ・ 候補生成をいくら速くしても、後段が人手なら そこが新しいボトルネック ・ コードは高頻度で変わり続ける。一度の診断結 果は、次の変更で古くなる ・ 必要なのは、見つけて終わりではなく、修正と 再検査まで含めて変化に追従して回し続けるこ と 出典:Anthropic CVD dashboard (https://www.anthropic.com/research/glasswing-initial-update) © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 19

Slide 19 text

CHAPTER 03 検出から 「検証」へ ① 「発見」の検証 それは本物か ② 「無い」の検証 03 見落としていないか ③ 「修正」の検証 本当に直ったか © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 20

Slide 20 text

「発見」の検証 検出から検証へ 発見したものが全て再現可能とは限らない 検証の核心は、外から観測できる事実で成否を「確定」させること SQLi ・ SSRF RCE XSS Memory Safety 条件で応答が変わるか / 意図した遅延が起きるか 自分の管理下サーバに通信が実際に届くか ブラウザ上で仕込んだ JavaScript が実際に実行されたか Sanitizer が違反を検出するか モデルが何と言うかではなく、現実に何が起きたかで確定させる © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 21

Slide 21 text

「発見」の検証 検出から検証へ 判定器は確かさを固めるだけでなく、後で「直ったか」を確かめる物差しになる ・ 確定できれば、それは必ず「修正すべき対象」だと言い切れる ・ 確定できれば、「何が起きなければ直ったと言えるか」も同時に決まる ・ 判定器(オラクル)を持っていること自体が、再検査につながる © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 22

Slide 22 text

「発見」の検証 検出から検証へ 事象ごとに、適した判定器を用意していく。確定困難な事象も 例:投稿がデフォルトで全員に見える SNS ― 同じ挙動が、仕様で分かれる 正常仕様 オープンな SNS なら正常 脆弱性 クローズドな場のつもりなら情報漏洩 静的・動的で確定できるものはオラクルで、仕様依存は LLM と人間で © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 23

Slide 23 text

「無い」の検証 検出から検証へ 攻撃側は一本でいい。防御側は、理想的にはすべてを塞ぎたい。 ・ ここまでの検証は「見つかった候補が本物か」の話 ・ 見つかっていないが、存在している脆弱性は多数 ・ 「何も見つからなかった」は「無い」ことの証明にはならな い 究極的な理想は「存在しないこと」の証明。 現実には、未確認領域を減らし続けること。 © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 24

Slide 24 text

「無い」の検証 検出から検証へ 攻撃側は一本でいい。防御側は全部。だから理想的には「存在しないこと」まで検証する 攻撃側 ・ どこか一本、経路が通れば成功する ・ 他の機能・観点は調べなくていい ・ AI でその一本を探す力が上がっている 防御側 ・ 一本でも通されたら負け=全部塞ぐ ・ 一件見つけても他が安全な証明にならない ・ この非対称性は拡大している © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 25

Slide 25 text

「無い」の検証 検出から検証へ 機能×観点を一マスずつ「調べて問題なさそう」で埋め、攻撃側の使える面を潰す 認証 認可 入力検証 情報漏洩 ログイン ユーザー参照 ファイル取得 決済 脆弱性あり 調べて問題なさそう © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 26

Slide 26 text

「無い」の検証 検出から検証へ どこを見るか(マトリクス)と、本物か(オラクル) 二つが噛み合って、面が一マスずつ確定 対象マス ファイル取得 × 認可 ↓ 攻撃仮説 別ユーザーのファイル ID で、所有者確認を迂回して取得できるのでは ↓ 確かめ方 判定器で確定。他人のファイルが返れば ● 脆弱性あり、返らなければ ○ 問題なさそう © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 27

Slide 27 text

発見を「検証できる形」にする 検出から検証へ 候補を挙げることと、診断結果は違う。次の対応に移れる形にして、初めて診断結果 確定した候補 → 対応できる形 ・ 対応に必要な情報を揃える:成立条件 / 再現手順と観測結果 / 影響範囲 / 仕様上の問題点 / 修 正の方針 ・ 候補のまま渡すと、その真偽を確かめ直す負荷が残る ・ 揃えた根拠は、そのまま修正後の再検査にも使える © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 28

Slide 28 text

「修正」の検証 検出から検証へ 「直った」はコードの変更では証明されない。判定器で確かめて初めて、直ったと言える 修正前 ユーザーAの認証で、別ユーザーのファイル が返る ● 成立 修正後 同じ観点で確かめ直すと、他人のファイルは 返らない ○ 成立しない 成立していた攻撃が、成立しなくなったことを根拠で確かめる © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 29

Slide 29 text

3つの検証と、それぞれの現実 ① 「発見」の検証 ― それは本物か ・ 判定器によって候補を検証 ・ 発見精度・コーディング能力の向上 で、「疑わしきは修正せよ」も現実 的に ・ 一方で攻撃能力の向上により、報酬 ハックの懸念も ② 「無い」の検証 ― 見落としていないか ・ マトリクスで面を潰す ・ 一方で、一経路の不成立は「無い」 の証明ではない 検出から検証へ ③ 「修正」の検証 ― 本当に直ったか ・ 同じ判定器で再評価 ・ 大幅な書き換えでは、再検出から回 し直す 変化に追従して回し続ける必要がある © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 30

Slide 30 text

変化への追従 検出から検証へ 問われているのは「一度で見つけ切れるか」ではなく、「変化に追従して確かめ続けられ るか」 PR / commit → 影響マスの再開放 → 再検証 → 新しいカバレッジ ・ コードは変わり続ける。PR や commit のたびに、影響する機能・観点も変わる ・ 変更に応じて、関係するマスを開き直し、判定器で確かめ直す ・ 一度で全部見つけ切るのではなく、変化に追従してカバレッジを更新し続ける ・ これができて初めて、生成の速度に検証の速度を近づけられる © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 31

Slide 31 text

検証を走らせる器 検出から検証へ モデルの賢さだけでは、検証は回らない。検証を走らせる器(ハーネス)が要る ・ 検出はコモディティ化していく。差がつくの は、その先の検証 ・ 検証は、実際にコードを動かし、攻撃を試し、 結果を観測する必要がある ・ 任意コード実行を安全に隔離して走らせる実行 環境が要る。セッションごとに使い捨てる VM 基盤を自前で構築 © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 32

Slide 32 text

CHAPTER 04 深い探索と防御戦略 04 © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 33

Slide 33 text

マトリクスで拾えない攻撃 深い探索と防御戦略 マスをまたぐ横断的な侵害経路は、一マスずつの確認からこぼれる 機能A △ → 機能B ○ → 機能C △ → 重要資産 ・ 単体では正常に見える小さな挙動を、複数機能にまたいで組み合わせる ・ ある機能で得た情報を、別の機能に持ち込む ・ 個々のマスは △/○ なのに、繋ぐと重要資産へ到達する © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 34

Slide 34 text

マトリクスで拾えない攻撃 深い探索と防御戦略 達成したい侵害のゴールから逆算して、経路を探し続ける ゴール ← 管理者権限を奪えるか ← 顧客データを持ち出せるか ← 本番の重要操作を実行できるか ・ 「この入力に XSS はあるか」ではなく、「ゴールに到達できるか」から逆算 ・ 途中で得た情報で、次にどこを攻めるかを変え、複数機能を横断 ・ これが、ゴール駆動のペネトレーションテスト © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 35

Slide 35 text

マトリクスで拾えない攻撃 深い探索と防御戦略 深さ = コスト 追加コストは「攻撃側がそこを狙う価値があるか」で決める 広く・継続的に 狭く・深く ・ 対象全体は AI で継続的にカバレッジを更新 ・ 変化に追従して面を確かめ続ける ・ 高価値な資産・経路にゴール駆動の深い探 索 ・ 顧客データ・決済・管理者権限など、狙う 価値のある場所 © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 36

Slide 36 text

マトリクスで拾えない攻撃 深い探索と防御戦略 深さ = コスト 追加コストは「攻撃側がそこを狙う価値があるか」で決める 広く・継続的に 狭く・深く ・ 対象全体は AI で継続的にカバレッジを更新 ・ 変化に追従して面を確かめ続ける ・ 高価値な資産・経路にゴール駆動の深い探 索 ・ 顧客データ・決済・管理者権限など、狙う 価値のある場所 © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 37

Slide 37 text

割に合わなくする守り 深い探索と防御戦略 目指すのは「完璧な安全」ではなく、「攻撃側の採算割れ」 ・ AI は攻撃側にとって「攻撃原価を下げる道具」。探索・武器化・再現のコストが下がる ・ これまで割に合わなかった小さな標的も、採算に乗る ・ 生成が増えて防御側の面は広がり、攻撃側は一本通せばいい。速度に続き、経済でも非対称性が加速 防御側は、攻撃側の探索能力を先に自分へ向け続ける。割に合わない状態を先に作る © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 38

Slide 38 text

割に合わなくする守り 深い探索と防御戦略 生産性を落とさずに、確認の速度を生成の速度へ近づける ・ セキュリティのために開発の速度を元に戻す、はもう選べない ・ すべてを人間レビューへ差し戻すのではなく、AI で広く継続的に確かめる ・ 根拠がそろったものだけを開発者に返す ・ 深い探索のコストは、高価値な場所に集中させる © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 39

Slide 39 text

三つの持ち帰り 1 2 3 AI の発見能力は既に前提。差は、検出・検証・修正・再検査を回し続けられるか 診断は、検証の連続。本物であること、広く探索していること、正しく直っていること 攻撃側が AI で安価に攻撃する時代。防御側も先に AI を自分へ向ける © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 40

Slide 40 text

我々の歩み Hacking By Experts (~2024) ↓ Hacking By Experts, with AI (2025) ↓ Hacking By AI, with Experts © 2026 GMO Flatt Security Inc. All Rights Reserved.

Slide 41

Slide 41 text

No content