OBSERVATION NOTE / MDFOOB-HU
Google Mantis徹底解説 ― AIによる脆弱性の発見・再現・修正を自動化するセキュリティHarness
GoogleのMantisを、脆弱性の発見・反証・再現・修正・再検証までを複数AIエージェントとサンドボックスで閉ループ化するSecurity Harnessとして解説します。
サマリー
Googleが公開した「Mantis」は、単にAIへソースコードを読ませて脆弱性候補を列挙させるツールではない。
本質は、
脆弱性候補の発見 → 批判的検証 → サンドボックスでの再現 → 修正コード生成 → 再検証
までを、複数のAIエージェントとプログラム側のオーケストレーションで閉ループ化する「Security Harness」である。
Googleは、精度の低いAIコードスキャンでは真陽性率が7%未満となる場合があると指摘している。Mantisは、AIの出力をそのまま信じず、別エージェントによる反証、再現実験、修正後の検証を組み込むことで、この問題を緩和しようとしている。
また巨大リポジトリに対しては、ファイル→ディレクトリ→リポジトリ全体という階層型のセキュリティ要約を作成し、必要なコードだけを詳細に読む方式を採る。Googleはこれにより、重要な構造情報を維持しつつ、リポジトリ文脈を与える際のトークンオーバーヘッドを85%以上削減できたとしている。
Mantisの技術的な重要点は「85%削減」そのものよりも、AIを「答える機械」から「実験して証明する機械」へ移行させている点にある。
色付けアラート
| 評価軸 | 評価 | 解説 |
|---|---|---|
| 普通度 | 🔴 かなり異例 | 脆弱性の発見だけでなく、反証・再現・修正・再検証までエージェント化している |
| 信頼度 | 🟢 確からしい | Google Cloud公式解説とGoogle公式GitHubで主要事項を確認可能 |
| 安全度 | 🟡 やや危ない | AI生成コードやPoCを実行するため、隔離されたサンドボックスが必須 |
| 発展性 | 🟢 発展性あり | DevSecOps、CI/CD、AIコーディングエージェントと結合する可能性が高い |
| 成熟度 | 🟡 実証〜初期実用 | Google自身も完成製品ではなく、デモ・出発点として位置付けている |
1. Mantisとは何か
Googleは2026年9月2日、AIを利用してソフトウェアの脆弱性を発見し、候補の検証、再現、修正まで進めるオープンソースフレームワーク「Mantis」の詳細を公開した。
Mantisは、LLMそのものではない。
Gemini CLIなどのAIコーディングエージェントを動かし、その行動を制御・整理・検証するための「Harness」である。
概念的には次のようになる。
AI Model
|
v
Mantis
- orchestration
- state management
- repository research
- vulnerability review
- reproduction
- patching
- verification
|
v
Repository / SandboxしたがってMantisは、
AIセキュリティモデル
というより、
AI Security Engineerを組織化する実行基盤
と考える方が正確である。
2. 従来型AI脆弱性検査との違い
従来型のAIコード検査では、次のような流れになりやすい。
Source Code
|
v
LLM
|
v
"ここにSQL Injectionがあります"
"ここにメモリ破壊の可能性があります"最大の問題は、AIが「脆弱性らしいもの」を大量に列挙してしまうことである。
Googleは、精度の低いAIコードスキャンでは、実際に正しい脆弱性だった割合、すなわち真陽性率が7%未満になる場合があると説明している。
仮に100件の警告が出ても、本物が7件未満なら、残りの大半を人間が確認しなければならない。
これはセキュリティ担当者の負担削減にならない。
Mantisは、この問題を「AIの出力を別のAIと実験で検証する」ことで解決しようとしている。
Repository Understanding
|
v
Vulnerability Discovery
|
v
Critic / Review
|
v
Sandbox Reproduction
|
成立するか
|
Yes
v
Patch Generation
|
v
Re-verificationつまり、
AIの回答を信じるのではなく、AI自身に証拠を作らせる
という設計である。
3. 複数AIエージェント化が核心
Mantisでは、単一のLLMに全工程を任せない。
役割を分けた複数のエージェントまたはスキルを使う。
| 役割 | 内容 |
|---|---|
| Research | リポジトリ、Git履歴、過去の修正を調査 |
| Architecture | ソフトウェア構造を理解 |
| Threat Model | 攻撃面、資産、境界を整理 |
| Discovery | 脆弱性候補を探索 |
| Critic | 候補に対して反論し、成立条件を精査 |
| Review | 技術的妥当性を再確認 |
| Reproduce | サンドボックスでPoCを実行 |
| Patch | 修正コードを生成 |
| Verify | 修正後に再現しないことを確認 |
これは、人間のセキュリティチームに近い。
Security Researcher
|
v
Peer Review
|
v
Red Team / Reproduction
|
v
Developer
|
v
QA / Verificationこの構造をAIエージェントで実装する点がMantisの特徴である。
4. Git履歴を見る意味
Mantisは現在のソースコードだけを見るわけではない。
解析前に、
- 過去のcommit
- 過去のsecurity fix
- バグ修正履歴
- アーキテクチャ
- リポジトリ構造
などを調べる。
これは重要である。
例えば、過去に認証処理で脆弱性が修正されていたとする。
auth_check()その履歴からAIは、
このプロジェクトでは認証境界が脆弱になりやすい
という背景知識を得られる。
さらに類似実装を検索し、同系統の未修正脆弱性を探せる。
医学的にたとえるなら、
現在の所見だけではなく、既往歴・過去検査・治療歴まで参照して診断する
ことに近い。
5. 脅威モデルまでAIが構築する
通常、本格的なセキュリティ評価では脅威モデルを作成する。
典型的な要素は次の通りである。
- Asset
- Trust Boundary
- Attack Surface
- Authentication
- Authorization
- Data Flow
- Privilege
- External Interface
しかし現実の開発プロジェクトでは、脅威モデルや設計文書が十分に整備されていないことも多い。
Mantisは、
Repository
|
v
Architecture Model
|
v
Attack Surface
|
v
Threat Modelという形で、コードと履歴から背景情報を自動生成する。
これにより、ドキュメントが不十分なリポジトリでも、AIがセキュリティ解析に必要なコンテキストを自ら構築できる。
6. 85%以上のトークン削減とは何か
巨大リポジトリでは、全ファイルをそのままLLMへ送ると入力トークン数が膨大になる。
Mantisは、この問題に対して階層型のセキュリティ要約を採用する。
例えば次のようなリポジトリがある。
Repository
|
+-- auth/
| +-- login.py
| +-- session.py
| +-- oauth.py
|
+-- database/
| +-- sql.py
| +-- models.py
|
+-- api/まずファイル単位で要約を作る。
login.py -> summary
session.py -> summary
oauth.py -> summary次にディレクトリ単位でまとめる。
auth/
-> authentication subsystem
-> OAuth
-> session management
-> privilege boundaryさらにリポジトリ全体を上位要約する。
Root summary
+-- Authentication
+-- Database
+-- API
+-- External interfacesAIはまず要約で全体像を把握し、怪しい箇所だけ原文コードを読む。
Googleによると、この方式で重要な構造情報を保持しながら、リポジトリ文脈を与える際のトークンオーバーヘッドを85%以上削減できた。
ただし、これは
LLM利用料金全体が85%削減される
という意味ではない。
より正確には、
巨大リポジトリをAIへ理解させるためのコンテキスト投入オーバーヘッドを85%以上削減
という意味である。
7. Mantisの核心はLLMではなくHarness
Mantisで特に重要なのは、LLM自身に全体の行動順序を自由に決めさせない設計である。
危険な設計は次のようになる。
LLM
"次に何をするか自分で決める"
|
v
自由行動Mantisでは、より決定論的に流れを制御する。
Harness
|
v
Research
|
v
Review
|
v
Reproduce
|
v
Patch
|
v
Verifyつまり、LLMは各工程の知的処理を担当するが、工程順序そのものはプログラム側で制御する。
これはAIエージェントの暴走や意図しない行動を抑えるうえで重要な考え方である。
8. AIエージェント暴走問題との関係
AIエージェントでは、
- 指示外の行動
- サンドボックス逸脱
- 外部システムへのアクセス
- ゴール達成のための迂回
- 想定外ツール実行
などが問題になる。
Mantisはセキュリティ検査のためにPoCコードや修正コードを生成し、実際に動かす。
そのためGoogleは、AI生成コードを本番環境や内部ネットワークへアクセス可能な場所で実行しないよう強く警告している。
Mantisは防御ツールである一方、
AI Security Agent自体も危険なプログラムになり得る
という前提で設計されている。
9. Mantisのdual-useリスク
Mantisの能力は防御にも攻撃にも使える。
防御側では、
Repository
|
v
Vulnerability Discovery
|
v
PoC
|
v
Patchとなる。
しかし攻撃側なら、
Repository
|
v
Vulnerability Discovery
|
v
PoC
|
v
Exploitとなる。
つまり、脆弱性の自動発見・再現能力はそのまま攻撃自動化にも利用可能である。
| リスク | CGTA評価 |
|---|---|
| 誤検出 | 🟡 |
| 誤ったPatch | 🟡 |
| Sandbox逸脱 | 🔴 |
| Production誤操作 | 🔴 |
| 攻撃用途への転用 | 🔴 |
| 人間Reviewなしの自動修正 | 🔴 |
Google自身も、人間のセキュリティ専門家による確認、隔離環境、明確な脆弱性判定基準を推奨している。
10. SASTの次に来るものか
従来のSASTは、
SAST
|
v
Warning
|
v
Human Review
|
v
Patchという流れだった。
Mantis型では、
Agentic Security
|
v
Discovery
|
v
Critic
|
v
Reproduction
|
v
Patch
|
v
Verification
|
v
Human Approvalへ進む。
これは単なる「セキュリティスキャナー」の高度化ではない。
Security ScannerからSecurity Engineer Agentへの進化
と見る方が適切である。
11. DevSecOpsはどう変わるか
現在の一般的な流れは、
Developer
|
v
CI
|
v
SAST
|
v
Security Team
|
v
Patchである。
今後は、
Developer
|
v
AI Coding Agent
|
v
Mantis-like Security Agent
|
v
PoC Verification
|
v
Automatic Patch
|
v
CI
|
v
Human Approvalという形へ近づく可能性がある。
さらにMantisには「mantis-advise」があり、過去に見つけた脆弱性や修正方法を、コードを書く段階の助言へフィードバックすることを狙っている。
最終的には、
脆弱性を後から探す
より、
最初から脆弱性を作らせない
方向へ発展する可能性がある。
12. CGTAが見る重要ポイント
Mantisのニュースでは「トークン85%以上削減」が目を引く。
しかし技術的な重要度は次の順と考える。
| 順位 | 技術要素 | 重要度 |
|---|---|---|
| 1 | サンドボックスで脆弱性を実証 | ★★★★★ |
| 2 | 複数エージェントによる反証 | ★★★★★ |
| 3 | 決定論的Harness | ★★★★★ |
| 4 | Repository履歴の利用 | ★★★★☆ |
| 5 | 自動Threat Model | ★★★★☆ |
| 6 | 階層型要約 | ★★★★☆ |
| 7 | 85%以上のtoken overhead削減 | ★★★☆☆ |
核心は、
AIを「答える機械」から「実験して証明する機械」へ変えている
ことである。
13. 5段階シナリオ分析:2030年前後
以下は推測であり、Mantisそのものではなく「Mantis型Agentic Security」の普及シナリオである。
| Scenario | 2030年前後の状況 | 出現確率 |
|---|---|---|
| S5 | AIが開発とSecurity Reviewを常時相互監視し、脆弱性をcommit前に自動発見・修正 | 20% |
| S4 | 大企業のCI/CDへAgentic Securityが標準装備 | 40% |
| S3 | SASTとAI Agentの併用が主流、人間Reviewも大量に残る | 25% |
| S2 | 誤検出、コスト、sandbox問題で限定利用 | 10% |
| S1 | AIによるexploit自動化が防御を上回り、利用規制が強まる | 5% |
CGTAの中心シナリオはS4である。
14. 最終評価
Mantisは、
AIにコードを読ませて脆弱性を聞く技術
ではない。
より正確には、
AI Security Engineerチームをソフトウェア化する試み
である。
大きな流れとしては、
Human Coding
|
v
AI Coding
|
v
AI Review
|
v
AI Attack Simulation
|
v
AI Patch
|
v
AI Verificationへ進んでいる。
ここまで進めば、ソフトウェア開発は、
AIが作り、AIが攻撃し、AIが修正する閉ループ
へ近づく。
Mantisは、その方向性を明確に示した重要な事例である。
なおGoogleは、Mantisを内部リポジトリで使い、実際の脆弱性を発見したとしている一方、現時点では検出件数、precision、recall、false positive rateなどの包括的benchmarkは公開していない。
この部分は未確認であり、Mantisの実運用性能を数値的に断定することはできない。
略語・専門用語解説用語集
| 用語・略語 | 正式名称 / 原語 | 解説 |
|---|---|---|
| AI | Artificial Intelligence | 人工知能。Mantisではコード理解、脆弱性探索、批判、修正などに利用する |
| LLM | Large Language Model | 大規模言語モデル。自然言語だけでなくソースコードも処理できる |
| CLI | Command Line Interface | ターミナルから文字コマンドで操作するインターフェース |
| Gemini CLI | Gemini Command Line Interface | GoogleのGeminiモデルをCLIから利用するための開発ツール |
| Harness | Harness | AIモデルやエージェントを決められた手順で動かす制御・実行基盤 |
| Agent | AI Agent | 目的に応じて複数ステップの判断やツール実行を行うAI |
| Multi-Agent | Multi-Agent System | 複数のAIエージェントが役割分担して処理するシステム |
| Repository / Repo | Software Repository | ソースコード、履歴、設定ファイルなどをまとめて管理する場所 |
| Git | Git | ソフトウェアの変更履歴を管理する分散型バージョン管理システム |
| Commit | Commit | Gitに保存された1回分の変更記録 |
| PoC | Proof of Concept | 概念実証。脆弱性分野では「実際に攻撃が成立することを示す再現コード・手順」を意味することが多い |
| Exploit | Exploit | 脆弱性を利用して意図しない動作を引き起こすコードや手法 |
| Vulnerability | Vulnerability | ソフトウェアやシステムの脆弱性 |
| True Positive | True Positive | 脆弱性として検出されたものが、実際にも脆弱性だったケース |
| False Positive | False Positive | 脆弱性と判定されたが、実際には脆弱性ではなかった誤検出 |
| Precision | Precision | 検出したもののうち、実際に正しかった割合 |
| Recall | Recall | 実在する脆弱性のうち、検出できた割合 |
| SAST | Static Application Security Testing | プログラムを実行せず、ソースコードやバイナリを静的解析して脆弱性を探す手法 |
| DAST | Dynamic Application Security Testing | 実際にアプリケーションを動かし、外部からアクセスして脆弱性を検査する手法 |
| DevSecOps | Development, Security and Operations | 開発・セキュリティ・運用を統合し、開発工程の早い段階からセキュリティを組み込む考え方 |
| CI | Continuous Integration | 継続的インテグレーション。コード変更を頻繁に統合し、自動テストする仕組み |
| CD | Continuous Delivery / Deployment | 継続的デリバリー/デプロイ。テスト済みコードを自動または半自動で本番環境へ届ける仕組み |
| CI/CD | Continuous Integration / Continuous Delivery | コード統合、テスト、リリースを自動化する開発パイプライン |
| Sandbox | Sandbox | 本番環境から隔離された、安全な実験・実行環境 |
| Threat Model | Threat Model | 攻撃者、資産、攻撃経路、信頼境界などを整理した脅威分析モデル |
| Attack Surface | Attack Surface | 攻撃者がシステムへ接触・侵入できる可能性のある箇所の総体 |
| Trust Boundary | Trust Boundary | セキュリティ上の信頼レベルが変化する境界 |
| Authentication | Authentication | 認証。「誰であるか」を確認する仕組み |
| Authorization | Authorization | 認可。「何をしてよいか」を決める仕組み |
| Privilege | Privilege | 権限。システム内で許可された操作範囲 |
| Patch | Patch | 不具合や脆弱性を修正するコード変更 |
| Security Fix | Security Fix | セキュリティ上の問題を修正する変更 |
| Critic Agent | Critic Agent | 他のAIが出した脆弱性候補に反論し、誤検出を減らす役割のAI |
| Review Agent | Review Agent | 脆弱性候補や修正案の技術的妥当性を再評価するAI |
| Reproduce | Reproduce | 脆弱性やバグを実環境またはサンドボックスで再現すること |
| Verification | Verification | 修正後に問題が解消したことを確認する検証工程 |
| Orchestration | Orchestration | 複数の処理・エージェント・ツールを決められた順序で協調動作させる制御 |
| Deterministic | Deterministic | 同じ条件なら同じ処理順序・結果になるよう制御された状態 |
| Token | Token | LLMが文章やコードを処理する際の最小単位。入力・出力量や利用コストの計算単位になる |
| Context Window | Context Window | LLMが一度に参照できるトークン量の上限 |
| Token Overhead | Token Overhead | 本来の処理以外に、背景情報や構造理解のため追加で必要になるトークン量 |
| Hierarchical Summary | Hierarchical Summary | ファイル→ディレクトリ→リポジトリ全体のように階層的に要約する方式 |
| Dual-use | Dual-use Technology | 民生・防御にも攻撃・軍事にも転用可能な技術 |
| Red Team | Red Team | 攻撃者の立場からシステムの弱点を検証するチーム・活動 |
| Blue Team | Blue Team | システムを防御・監視・改善する側のチーム |
| QA | Quality Assurance | 品質保証。ソフトウェアが要求通り動作するか確認する工程 |
| SQL Injection | Structured Query Language Injection | 不正なSQLを入力してデータベースを操作する攻撃手法 |
| Memory Corruption | Memory Corruption | メモリ領域が不正に書き換えられ、クラッシュや任意コード実行につながる状態 |
| Production | Production Environment | 実際の利用者が使う本番環境 |
| Internal Network | Internal Network | 組織内部のネットワーク。MantisのようなAI生成コードを安易に接続すべきではない |
| mantis-advise | Mantis Advise | 過去に得た脆弱性知識・修正知識を、今後の開発時の助言へ再利用する仕組み |
| Agentic Security | Agentic Security | AIエージェントが自律的または半自律的にセキュリティ調査・検証・修正を行う考え方 |
| Security Harness | Security Harness | セキュリティ目的でAIエージェントの調査・検証・再現・修正工程を統御する実行基盤 |
出典
- Google Cloud Blog
"Getting started with the Mantis harness to find and fix bugs" https://cloud.google.com/blog/products/identity-security/getting-started-with-the-mantis-harness-to-find-and-fix-bugs
- Google Mantis GitHub Repository
README https://github.com/google/mantis
- Google Mantis Agent Reference
README_AGENTS.md https://github.com/google/mantis/blob/main/README_AGENTS.md
- Google Mantis Pipeline Adapter
SKILL.md https://github.com/google/mantis/blob/main/mantis-pipeline-adapter/SKILL.md
- GIGAZINE
"Googleが脆弱性の発見・再現・修正を自動化するオープンソースフレームワーク「Mantis」の詳細を公開、巨大リポジトリでもトークンのオーバーヘッドを85%超削減" 2026-09-03
Fact Checkメモ
- MantisがGoogleからオープンソースで公開されていること:確認済み。
- 脆弱性候補の発見・検証・再現・修正を複数工程で処理すること:確認済み。
- 粗いAIコードスキャンで真陽性率7%未満となる場合があるとのGoogleの記載:確認済み。
- 階層型要約でトークンオーバーヘッドを85%以上削減したとのGoogleの説明:確認済み。
- Googleが本番環境や内部ネットワークから隔離した環境での実行を推奨していること:確認済み。
- Mantisの包括的なprecision、recall、false positive rate、検出件数:現時点で十分な公開benchmarkは確認できず、未確認。
- 将来シナリオの出現確率:CGTAによる推測値であり、実測値ではない。