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

コードを読まない時代の死角: 検出から検証へ、脆弱性診断AIエージェントの現在地 / stat...

コードを読まない時代の死角: 検出から検証へ、脆弱性診断AIエージェントの現在地 / state-of-vulnerability-ai-agents

Avatar for GMO Flatt Security

GMO Flatt Security

July 22, 2026

More Decks by GMO Flatt Security

Transcript

  1. 自己紹介 志賀 遼太 @Ga_ryo_ ・ GMO Flatt Security(株) 執行役員 Co-CTO

    ・ 手動脆弱性診断とペネトレーションテストをリード ・ 脆弱性リサーチ (Pwn2Own 2021) © 2026 GMO Flatt Security Inc. All Rights Reserved.
  2. SAST (Static Application Security Testing) 自動化の現在地とAI SASTは、人がコードを読む工程の一部を自動化した 「怪しい」と「成立する」の間には、まだ距離が残る できること ・

    危険なAPIの使い方をコード全体から探す ・ ユーザー入力が危険な処理まで届くかを追う ・ 既知の危ないパターンを広く高速に当てる 届かないこと ・ ルールに無い問題は探しにいけない ・ フレームワークや設定の意味の解釈が難しい ・ 「コード上そう見える」と「本当に攻撃が通 る」は別 © 2026 GMO Flatt Security Inc. All Rights Reserved.
  3. DAST (Dynamic Application Security Testing) 自動化の現在地とAI DASTは、動かして観測するところまで自動化した 「何を観るか」は、依然として事前設計 / 人

    できること ・ 実環境へ入力を送り応答や状態変化を観測 ・ fuzzingで入力を変化させクラッシュや異常 を発火 ・ 「動かして結果を見る」検証を人手を介さず 回す 届かないこと ・ 何を試すべきかの試験設計 ・ 反応を見て次の仮説をどう立てるか ・ 複数機能をまたぐ探索と、それが仕様上リス クかの判断 © 2026 GMO Flatt Security Inc. All Rights Reserved.
  4. AIエージェント 自動化の現在地とAI SASTとDASTが共通で抱えた「何を観るか」の限界を、 AIエージェントが文脈理解と適応的な探索で埋め始めた 入力 コード・仕様・実行結果 → ↺ AIエージェント →

    行動 調べる場所・使うツール・試す入力 反応を見て、仮説を切り替えながら探索を続ける ・ コードだけでなく仕様や実行結果もあわせて見て、状況を掴む ・ 反応を踏まえて、次にどこを調べるか、何を試すかを自分で選ぶ ・ うまくいかなければ、別の仮説に切り替えて探索を続ける © 2026 GMO Flatt Security Inc. All Rights Reserved.
  5. AIの能力の見取り図 自動化の現在地とAI 「AIが見つける」を構成する4つの要素 ① 候補評価 目の前のコードが危ないかを判断する ② 探索 ③ 成立確認

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

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

    Mythosが押し上げたのは、探索の広さと侵害の深さの上限 ・ Mythosは、その能力の上限を大きく押し上 げた ・ 広い実コードから難所を探し、複数の問題を 組み合わせ、より深いexploitまで自力で構築 ・ 見取り図でいう ② 探索の広さ と ③ 成立確 認の深さ が、一段上がった 出典:Anthropic Project Glasswing (https://www.anthropic.com/research/glasswing-initial-update) © 2026 GMO Flatt Security Inc. All Rights Reserved.
  8. 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.
  9. 検出だけでは埋まらない差 検出の限界 候補を速く出すほど、詰まる場所が「生成」から「確認・修正」へ移るだけ ・ 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.
  10. 検出だけでは埋まらない差 検出の限界 発見はもう律速ではない 律速は、検証と修正のループにある 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.
  11. CHAPTER 03 検出から 「検証」へ ① 「発見」の検証 それは本物か ② 「無い」の検証 03

    見落としていないか ③ 「修正」の検証 本当に直ったか © 2026 GMO Flatt Security Inc. All Rights Reserved.
  12. 「発見」の検証 検出から検証へ 発見したものが全て再現可能とは限らない 検証の核心は、外から観測できる事実で成否を「確定」させること SQLi ・ SSRF RCE XSS Memory

    Safety 条件で応答が変わるか / 意図した遅延が起きるか 自分の管理下サーバに通信が実際に届くか ブラウザ上で仕込んだ JavaScript が実際に実行されたか Sanitizer が違反を検出するか モデルが何と言うかではなく、現実に何が起きたかで確定させる © 2026 GMO Flatt Security Inc. All Rights Reserved.
  13. 「発見」の検証 検出から検証へ 事象ごとに、適した判定器を用意していく。確定困難な事象も 例:投稿がデフォルトで全員に見える SNS ― 同じ挙動が、仕様で分かれる 正常仕様 オープンな SNS

    なら正常 脆弱性 クローズドな場のつもりなら情報漏洩 静的・動的で確定できるものはオラクルで、仕様依存は LLM と人間で © 2026 GMO Flatt Security Inc. All Rights Reserved.
  14. 「無い」の検証 検出から検証へ 攻撃側は一本でいい。防御側は全部。だから理想的には「存在しないこと」まで検証する 攻撃側 ・ どこか一本、経路が通れば成功する ・ 他の機能・観点は調べなくていい ・ AI

    でその一本を探す力が上がっている 防御側 ・ 一本でも通されたら負け=全部塞ぐ ・ 一件見つけても他が安全な証明にならない ・ この非対称性は拡大している © 2026 GMO Flatt Security Inc. All Rights Reserved.
  15. 「無い」の検証 検出から検証へ どこを見るか(マトリクス)と、本物か(オラクル) 二つが噛み合って、面が一マスずつ確定 対象マス ファイル取得 × 認可 ↓ 攻撃仮説

    別ユーザーのファイル ID で、所有者確認を迂回して取得できるのでは ↓ 確かめ方 判定器で確定。他人のファイルが返れば • 脆弱性あり、返らなければ ◦ 問題なさそう © 2026 GMO Flatt Security Inc. All Rights Reserved.
  16. 発見を「検証できる形」にする 検出から検証へ 候補を挙げることと、診断結果は違う。次の対応に移れる形にして、初めて診断結果 確定した候補 → 対応できる形 ・ 対応に必要な情報を揃える:成立条件 / 再現手順と観測結果

    / 影響範囲 / 仕様上の問題点 / 修 正の方針 ・ 候補のまま渡すと、その真偽を確かめ直す負荷が残る ・ 揃えた根拠は、そのまま修正後の再検査にも使える © 2026 GMO Flatt Security Inc. All Rights Reserved.
  17. 3つの検証と、それぞれの現実 ① 「発見」の検証 ― それは本物か ・ 判定器によって候補を検証 ・ 発見精度・コーディング能力の向上 で、「疑わしきは修正せよ」も現実

    的に ・ 一方で攻撃能力の向上により、報酬 ハックの懸念も ② 「無い」の検証 ― 見落としていないか ・ マトリクスで面を潰す ・ 一方で、一経路の不成立は「無い」 の証明ではない 検出から検証へ ③ 「修正」の検証 ― 本当に直ったか ・ 同じ判定器で再評価 ・ 大幅な書き換えでは、再検出から回 し直す 変化に追従して回し続ける必要がある © 2026 GMO Flatt Security Inc. All Rights Reserved.
  18. 変化への追従 検出から検証へ 問われているのは「一度で見つけ切れるか」ではなく、「変化に追従して確かめ続けられ るか」 PR / commit → 影響マスの再開放 →

    再検証 → 新しいカバレッジ ・ コードは変わり続ける。PR や commit のたびに、影響する機能・観点も変わる ・ 変更に応じて、関係するマスを開き直し、判定器で確かめ直す ・ 一度で全部見つけ切るのではなく、変化に追従してカバレッジを更新し続ける ・ これができて初めて、生成の速度に検証の速度を近づけられる © 2026 GMO Flatt Security Inc. All Rights Reserved.
  19. マトリクスで拾えない攻撃 深い探索と防御戦略 マスをまたぐ横断的な侵害経路は、一マスずつの確認からこぼれる 機能A △ → 機能B ◦ → 機能C

    △ → 重要資産 ・ 単体では正常に見える小さな挙動を、複数機能にまたいで組み合わせる ・ ある機能で得た情報を、別の機能に持ち込む ・ 個々のマスは △/◦ なのに、繋ぐと重要資産へ到達する © 2026 GMO Flatt Security Inc. All Rights Reserved.
  20. マトリクスで拾えない攻撃 深い探索と防御戦略 達成したい侵害のゴールから逆算して、経路を探し続ける ゴール ← 管理者権限を奪えるか ← 顧客データを持ち出せるか ← 本番の重要操作を実行できるか

    ・ 「この入力に XSS はあるか」ではなく、「ゴールに到達できるか」から逆算 ・ 途中で得た情報で、次にどこを攻めるかを変え、複数機能を横断 ・ これが、ゴール駆動のペネトレーションテスト © 2026 GMO Flatt Security Inc. All Rights Reserved.
  21. マトリクスで拾えない攻撃 深い探索と防御戦略 深さ = コスト 追加コストは「攻撃側がそこを狙う価値があるか」で決める 広く・継続的に 狭く・深く ・ 対象全体は

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

    AI で継続的にカバレッジを更新 ・ 変化に追従して面を確かめ続ける ・ 高価値な資産・経路にゴール駆動の深い探 索 ・ 顧客データ・決済・管理者権限など、狙う 価値のある場所 © 2026 GMO Flatt Security Inc. All Rights Reserved.
  23. 我々の歩み Hacking By Experts (~2024) ↓ Hacking By Experts, with

    AI (2025) ↓ Hacking By AI, with Experts © 2026 GMO Flatt Security Inc. All Rights Reserved.