AIを活用した脆弱性診断とは?メリットと課題をホワイトハッカーが解説
アジャイル開発やCI/CDの普及により、Webアプリケーションの開発とリリースのサイクルは短期化しています。
生成AIを活用した開発でも、個別の実装作業を短縮できた事例が報告されており、開発の高速化をさらに後押しする場面があります。
一方、従来型の脆弱性診断は、対象範囲の調整から診断、確認、報告までに一定の期間を要します。
そのため、リリースのたびに従来型の脆弱性診断を完了させようとすると、診断にかかる期間が開発スケジュールのボトルネックになる場合があります。
この時間差を縮める手段として注目されているのが、AIを活用した脆弱性診断です。
AIは診断対象の探索、テスト、結果整理を効率化し、セキュリティ確認をより短いサイクルで実施しやすくします。ただし、AIだけで手動診断が不要になるわけではありません。サービス固有の利用条件や権限設計を踏まえた判断では、ホワイトハッカーの知識と経験が診断品質を左右します。
本記事では、AIを活用した脆弱性診断のメリットや課題、有効性について解説します。
この記事の執筆者
GMOサイバーセキュリティ byイエラエ株式会社
西谷 完太
資格:
Offensive Security Web Expert (OSWE)
出版と執筆:
- 実践 Webペネトレーションテスト(西谷 完太、山崎 啓太郎、渡部 裕 著)
- ハンズオンWebAssembly―EmscriptenとC++を使って学ぶWebAssemblyアプリケーションの開発方法
- アプリケーション脆弱性診断ガイドライン 第1.2版 他
目次
AIを活用した脆弱性診断とは
AIを活用した脆弱性診断とは、AIが実際に動作するWebアプリケーションを操作し、画面やAPIの応答から攻撃に悪用される可能性がある問題を探す診断手法です。
AIは、稼働中のWebアプリケーションに外部からアクセスし、実際の応答を確認しながら脆弱性を検査するDAST(Dynamic Application Security Testing)、画面やAPIをたどるクローリング、検査対象の選定、検出結果の優先順位付けなどに利用できます。
AI活用の特徴は、従来は主にサービス提供側のホワイトハッカーが担っていた判断を伴う作業の一部を、自動化できることです。
従来のスキャナーが事前に定義されたパターンを広く試すのに対し、AIエージェントは画面やAPIの応答からアプリケーションの構造を把握し、優先して調べる対象や次のテストを決められます。
AIエージェントが情報収集、診断計画、テスト、結果整理を連続して進めることで、診断開始から結果報告までの時間を短縮できます。
AIを活用した脆弱性診断と従来の診断の違い
ツール診断、AI診断、ホワイトハッカーによる手動診断には、それぞれ得意な範囲があります。
| 比較軸 | 従来のツール診断 | AI診断 | 手動診断 |
|---|---|---|---|
| 診断速度の目安 | 最短定型パターンを自動で一括検査 | 短い探索と判断の一部も自動化 | 長いホワイトハッカーが対象ごとに調査して判断 |
| 費用の目安 | 低い定型検査を自動化 | 中程度探索と判断も自動化 | 高い専門家の工数が必要 |
| 誤検知 | 残りやすいルール一致で機械的に判定 | 減らせる場合があるAIによる再現確認を行う方式 | 最も除外しやすいホワイトハッカーが再現して判断 |
| 業務ロジックと認可の検出力 | 低い定型ルールでは判断が難しい | 中程度画面や応答から一部を推論 | 高い仕様と運用を踏まえて検証 |
| 脆弱性と判定する根拠 | 検査ルールへの一致 | 画面やAPIの応答とAIによる推論 | 再現結果と仕様、運用の確認 |
短時間で広く確認したい場合は、従来のツール診断が向いています。
事前に用意された検査を一括で実行するため、結果が出るまでが早く、費用も抑えやすいからです。
ただし、判定は検査ルールに一致したかどうかが中心となるため、仕様上は問題のない挙動が指摘として残ることがあります。
誤検知が多いと、発注側の開発者は報告された指摘を一件ずつ再現し、修正が必要か確認しなければなりません。
ツールの利用費用を抑えられても、指摘内容を確認する発注側の開発者の負担が大きくなる場合があります。
AI診断では、画面やAPIの応答を読み取り、優先して調べる対象や次のテストを変えながら診断します。
その分、定型的なツール診断より時間はかかりますが、ホワイトハッカーが行っていた探索や判断の一部を自動化できるため、手動診断より短期間かつ低コストで実施しやすくなります。
手動診断では、ホワイトハッカーが仕様と実際の挙動を照らし合わせ、脆弱性かどうかを判断します。
たとえば認可の診断では、「一般ユーザーは他人のデータを閲覧できない」という仕様を確認したうえで、本当に他人のデータを取得できるかを試します。
こうした確認には時間と費用がかかりますが、アプリケーションロジックや認可など、サービス固有の利用条件や処理の流れに関わる脆弱性を詳しく調べられます。
リリース前に主要な問題を早く確認したい場合はAI診断、複雑な権限設計を調べたい場合や診断範囲の網羅性が必要な場合は手動診断というように、目的に応じて使い分けることが現実的です。
AIを活用した脆弱性診断のメリット
AI診断のメリットは、診断にかかる時間を抑えながら、誤検知かどうかを確かめる発注側の開発者の負担も軽減できることです。
手動診断はホワイトハッカーが一件ずつ調査するため、リリースまでの期間に合わない場合があります。
一方、ツール診断は短時間で実施できますが、誤検知が多いと、発注側の開発者が指摘を一件ずつ確認しなければなりません。
AI診断は、ホワイトハッカーが行っていた対象の探索やテストの判断を自動化することで、手動診断より結果を早く得やすくなります。
AIによる再現確認を組み込む方式では、再現できない指摘を報告対象から外し、ツール診断だけを行う場合よりも発注側の開発者の確認負担を減らせます。
手動診断では間に合わないものの、ツール診断の結果をそのまま受け取るのも避けたい場合に、AI診断は両者の間を埋める選択肢になります。
探索や判断を自動化することで、限られた予算でも確認範囲を広げやすくなる点もメリットです。
AIを活用した脆弱性診断の限界と課題
AI診断では、サービスが本来どう動くべきかという前提がないと、脆弱性かどうかを判断しにくい場合があります。
たとえば、同じ割引コードを何度も使える機能があったとします。
利用は一人一回という決まりなら問題ですが、回数制限のないキャンペーンなら正常な動作です。
画面や通信だけでは、どちらに当たるか判断しにくい場合があります。
認可の診断でも同じです。
一般ユーザーのアカウントで他人のデータを取得できたとしても、そのデータが共有を前提としているなら脆弱性ではありません。
反対に、本人だけが見られるはずのデータなら、重大な問題になります。
こうした前提がAIへ十分に伝わっていなければ、正常な動作を脆弱性として報告したり、本来見つけるべき問題を見逃したりする可能性があります。
業務ロジックや認可では、ホワイトハッカーが仕様を確認しながら手動で検証することで、AIだけでは判断しにくい部分を補えます。
診断結果の精度とは別に、AIエージェントが診断中に行う操作の安全性も考える必要があります。
AIエージェントは、対象サイト内のリンクを自動でたどりながら検査します。
外部リンクやリダイレクト先まで診断対象だと誤認してしまうと、他社のサイトに対して診断を実行してしまう可能性があります。
対象サイト内でも、メールの大量送信やサービスをダウンさせてしまうといったミスが考えられます。
「対象外へアクセスしない」などプロンプトへ書くだけでは、すべての操作を確実に止められるとは限りません。
こうした意図しない操作を防ぐには、プロンプトによる指示だけでなく、AIエージェントの外側でアクセス先、利用できるツール、リクエストの頻度などを制限する防御機構が必要です。
AI活用診断が向いているケースと実施タイミング
AI活用診断は、リリース前の検証環境で主要な問題を早く把握したい場合に向いています。
受託開発会社が納品前に一次確認を行う場合や、複数サービスを定期的に診断する場合にも活用できます。
アジャイル開発やDevSecOpsでは、開発の節目ごとに診断を繰り返します。
一方、監査で診断範囲の網羅性を証明する場合、本番環境に操作上の制約が多い場合、複雑な決済などのアプリケーションロジックを扱う場合は、手動診断を検討すべきです。
自社に合った脆弱性診断の選び方はこちら
なぜ脆弱性診断が必要なのか?どのように手法を選べばいいのか?といった疑問をお持ちの方へ向けて、その理由や方法を解説する資料です。
資料ダウンロードサービスを選ぶ際のポイント
AI診断サービスを発注する際は、サービス提供側がAIによる診断結果の精度をどのように評価しているか、未診断箇所や意図しない操作にどう対処するか、診断データをどう管理するかを確認します。
それぞれについて、提供側が納品前に対処するのか、発注側で追加の確認が必要なのかを分けて見ます。
サービス提供側の診断体制
対象の探索、テスト、指摘の判定について、AIとホワイトハッカーの担当範囲を確認しておくとよいでしょう。
特に、AIの判定にホワイトハッカーの精査が入る段階まで把握しておくと、人の判断が加わる範囲が分かります。
診断結果の精度
誤検知の検証方法と、既知の脆弱性を使った検出力の測定方法を確認しておくと、サービスがどのように品質を維持しているか判断しやすくなります。
実案件で見逃した脆弱性の数を直接測ることはできないため、検証方法が判断材料になります。
意図しない操作の防止
対象外URLや外部APIへの通信、禁止操作を実行前に止める仕組みが整っているかも、選定時に見ておくとよいでしょう。
診断データの取り扱い
認証情報、通信内容、画面情報がどのAIへ送られ、保存や学習に利用されるかを契約前に把握しておくとよいでしょう。
機密情報の漏えいや社内規程への抵触を避けられるか判断しやすくなります。
非対応機能の説明
AIが扱えない認証方式、画面、診断項目を事前に提示しているかを選定基準に含めるとよいでしょう。
対象システムを予定どおり診断できるか、契約前に判断しやすくなります。
AIホワイトハッカー byGMO で行う脆弱性診断
GMOサイバーセキュリティ byイエラエは、サイバーセキュリティに特化したAI基盤「AIホワイトハッカー byGMO」を構築しています。これは、フロンティアAIと呼ばれる大規模AIモデルに、AIの動作を制御・検証する独自の仕組み(ハーネス)と、世界トップクラスのホワイトハッカーが実戦で培った知見を組み合わせ、脆弱性の発見から検証、対策までを高い精度で行えるように設計したものです。単一の製品ではなく、この基盤を活用した研究成果やサービスを順次展開していくシリーズの総称です。

GMOイエラエでは、この考え方をWebアプリケーション診断にも取り入れ、ホワイトハッカーの知見をAIエージェントに反映する形で納期短縮、品質の向上に取り組んでいます。
AI診断エンジンは、対象サイトの探索、テスト方法の決定、脆弱性の検出、検出結果の再確認、報告書の作成までを順に自動化します。さらに、脆弱性を検出したAIエージェントとは別に、検証用のAIエージェントが同じ操作を試し、実際に脆弱性を再現できるかを確認します。
そのうえで、人にしか判断できない領域はホワイトハッカーが担います。サイトの特性を踏まえてAIに診断させる対象を選び、対象外のURLや禁止された操作へ進まないよう、診断時の実行条件を設定します。
AIだけでは判断が難しい結果は、ホワイトハッカーが精査し、再現可能で対策につなげやすい指摘へと整えます。
短納期で主要な脆弱性を確認したい場合から、網羅的な手動診断が必要な場合まで、目的に応じた方法をご提案します。お気軽にご相談ください。
この記事の執筆者
GMOサイバーセキュリティ byイエラエ株式会社
西谷 完太
資格:
Offensive Security Web Expert (OSWE)
出版と執筆:
- 実践 Webペネトレーションテスト(西谷 完太、山崎 啓太郎、渡部 裕 著)
- ハンズオンWebAssembly―EmscriptenとC++を使って学ぶWebAssemblyアプリケーションの開発方法
- アプリケーション脆弱性診断ガイドライン 第1.2版 他