blog of morioka12

morioka12のブログ (Security Blog)

バグバウンティハンターにおけるタイプと好みとAIについて

1. 始めに

こんにちは、morioka12 です。

本稿では、バグバウンティプラットフォームで脆弱性を探す「バグバウンティハンター(Bug Bounty Hunter)」におけるタイプと好みと AI について紹介します。


免責事項

本稿の内容は、セキュリティに関する知見を広く共有する目的で執筆されており、悪用行為を推奨するものではありません。


想定読者

  • バグバウンティ(脆弱性報酬金制度)に興味ある方
  • バグハンターやバグハンティングに興味ある方
  • 脆弱性診断やペネトレーションテストなどに興味がある方

特に、バグバウンティに興味ある入門者や初心者に向けて、バグバウンティハンターについて整理した内容になります。


前提知識

バグバウンティとは (クリックで表示)

バグバウンティ (Bug Bounty, 脆弱性報奨金制度)とは、Web サービスやスマホアプリなどを提供する企業が、外部のバグハンターの力を借りて対象の脆弱性を発見してもらい、その対価として報奨金がバグハンターに支払われる制度のことです。

バグバウンティは、バグバウンティプラットフォームを導入したり、自社で脆弱性報告窓口を設置して受け付けることなどで実施されます。

有名なバグバウンティプラットフォームとしては、HackerOneBugcrowdIntigriti などがあり、日本では IssueHunt という国産プラットフォームも存在します。

自社スタイルとしては、サイボウズSky が自社でバグバウンティプログラムを運用していたり、NTTコミュニケーションズ は社内限定でバグバウンティプログラムを実施していたりします。

また、バグバウンティ系のイベントとしては、IssueHunt が「P3NFEST」という学生向けのイベントを開催したり、千葉大学が「セキュリティバグハンティングコンテスト」というコンテストを開催したり、電気通信大学が「UEC Bug Bounty」という大会を学内で実施したりしています。

バグバウンティハンターとは (クリックで表示)

  • バグハンティング (Bug Hunting)
    • 脆弱性を調査して報告する活動のこと。
  • バグハンター (Bug Hunter)
    • 脆弱性を調査して報告する人のこと。
  • バグバウンティハンター (Bug Bounty Hunter)
    • バグバウンティプログラムを対象に脆弱性を調査して報告し、対価で報奨金を獲得する人のこと。


2. バグバウンティハンターのタイプについて

元ネタ「Where to get started in bug bounty」

このセクションでは、バグバウンティハンターで著名な「Justin @Rhynorater」さんが公開するブログをもとに、筆者自身の経験も踏まえて紹介します。

また、前提として基本的には、Web サイトや Web アプリケーションなどのドメインを対象に、ブラックボックス形式でのバグハンティングとします。

rhynorater.github.io


バグバウンティハンターのタイプ

バグバウンティハンターには、主に3つのタイプがあります。

  • 深掘タイプのバグバウンティハンター (Deep type)
  • 幅広タイプのバグバウンティハンター (Wide type)
  • 両者タイプのバグバウンティハンター (Both type)


深掘タイプ (Deep type)

深掘タイプ(Deep type)とは、いくつかのコアなアプリケーションをターゲットとして、それらを重点的に深く調査するタイプを指します。

ターゲット

深掘タイプの主なターゲットは、企業の主力サービスをメインに調査することが多いです。

例えば、以下のようなキーワードがサブドメイン名に付くターゲットなどが、主力サービスや多様な機能を備えている場合があります。

  • www
  • app
  • shop
  • mail
  • developer
  • ...

スコープを見た際に一番わかりやすい判断軸は、スコープの中で報酬金が高く設定されている対象は企業が最も気にしているターゲットということになります。

アプローチ

深掘タイプの主なアプローチは、一つのターゲットに対してじっくりとアプリケーションを理解して、深く細かい点まで時間をかけてターゲットを把握します。

まず、アプリケーションの仕様や機能を理解するために、以下のような初期調査を実施します。

  • アプリケーションを動的に触りながら理解する
  • アプリケーションに関するドキュメントや仕様書を読んで理解する
  • JavaScript ファイルを収集してエンドポイントやパラメーターなどをホワイトボックス形式で確認する
  • Google Dorks や Wayback Machine からアーカイブ情報を参照して手軽にエンドポイントやファイルなどを確認する
  • ...

このようにアプリケーションから得れる情報を隅々まで確認した上で、怪しい挙動や脆弱性を検証していきます。

目的思考

深掘タイプの主な目的思考は、アプリケーションで何かしらの目的となるゴールをイメージした上で、そのゴール達成できる脆弱性や脅威の高い脆弱性を発見することにフォーカスします。

脅威の高い脆弱性には、単一の脆弱性で達成できる場合や複数の脆弱性を組み合わせることで達成できる場合など、様々な達成方法があります。

また、Self XSS や Open Redirect、Cookie Injection などの挙動をガジェットとしてメモして、他の脆弱性と組み合わせたりすることで脅威の高い脆弱性を編み出すといった手法もあります。(バグバウンティにおけるガジェットやエスカレーションについてはまた別途ブログで公開するつもりです。)

脆弱性

深掘タイプが主に発見する脆弱性は、先ほどの目的思考により、例えば以下のような脆弱性が発見される可能性があります。

  • XSS によるアカウントの乗っ取り
  • OAuth や SSO の設定ミスによるアカウントの乗っ取り
  • IDOR によるアカウント情報の漏洩
  • SSRF による機密情報の漏洩
  • ビジネスロジックの不備
  • 決済処理の回避
  • RCE

以上が、深掘タイプのバグバウンティハンター(Deep type)の特徴でした。


幅広タイプ (Wide type)

幅広タイプ(Wide type)とは、スコープ内の全てのドメインに対して偵察を行なって、スコープ全体を広く調査するタイプを指します。

ターゲット

幅広タイプの主なターゲットは、スコープ内の全てのドメインに対して幅広く調査します。

特に、企業の非主力サービスや過去に使われていただろうサブドメインなど、見落とされているようなドメインを調査することが多いです。

これには、サブドメインを列挙する「Subfinder」のようなツールを用いて徹底的に隅々までターゲットのドメインを列挙します。

アプローチ

幅広タイプの主なアプローチは、ツールによる偵察(Recon)を徹底的に行います。

偵察(Recon)とは、初期調査で実施する一つのテクニックで、ツールを活用してターゲットから得れるシステム情報などを収集します。

主に、以下のような情報を収集したりして、見逃されている領域に対して脆弱性を探したりします。

  • サブドメインの列挙
  • ポート番号の列挙
  • ディレクトリパスの列挙
  • パラメーターの列挙
  • サーバー情報の収集
  • 既知の脆弱性(CVE)のスキャン
  • ...

これらの情報収集は、OSINT ツールやスキャンツールなどを用いて独自のスクリプトを作成したりすることで、一定の自動化に取り組んでいることも多かったりします。

その上で、直接的に脆弱性になりそうなものは指摘し、怪しい箇所に対しては手動で検証したりします。

目的思考

幅広タイプの主な目的思考は、より効率的に情報収集や怪しいターゲットの洗い出すことで、他のハンターが見逃しているだろう領域から脆弱性を発見することがあります。

そのため、主力サービスではない数多くのドメインを主軸として調査します。

脆弱性

幅広タイプが主に発見する脆弱性は、先ほどの目的思考により、例えば以下のような脆弱性が発見される可能性があります。

  • XSS や SQLi などの基本的な脆弱性
  • 顧客情報を含む PDF ファイル等の漏洩
  • 設定不備による管理画面への不正アクセス
  • ハードコードされた認証情報の漏洩
  • サブドメインの乗っ取り
  • CMS やフレームワークなどのサードパーティの既知の脆弱性
    • WordPress, Swagger UI, Cisco, Windows IIS, ...

以上が、幅広タイプのバグバウンティハンター(Wide type)の特徴でした。


両者タイプ (Both type)

両者タイプ(Both type)とは、深掘タイプと幅広タイプの両方を神懸かるレベルでこなせるタイプを指します。

多くのバグバウンティハンターは、深掘タイプと幅広タイプのどちらかに重点を置くことが多いのに対して、両者タイプはどちらも高い能力を持っている方のみを指します。


研究タイプ (Research type)

ちなみに、高度で特殊な能力を持つセキュリティリサーチャーもいたりします。

研究タイプは、0-day Bug Hunter の方が意味合いは近く、RCE や CWE (Common Weakness Enumeration, 共通脆弱性タイプ)に分類することが難しい脆弱性を発見したりします。


小まとめ

ここでは、「深掘タイプ」と「幅広タイプ」に関する特徴を紹介しました。

バグバウンティハンターのタイプには、その人の好みのアプローチによって相性があったりします。

例えば、Hack The Box や OSINT 、自動化などが好きな方は、「幅広タイプ」の方が相性は良いと思います。

逆に、「幅広タイプ」ではなく、Web アプリの仕様を深掘ったり、JavaScript を読んだりして脆弱性を探す方が良い方は、「深掘タイプ」の方が相性は良いと思います。

ちなみに、筆者はどちらかというと「深堀タイプ」の方で、オススメも「深堀タイプ」の方です。


3. バグバウンティハンターの好みの脆弱性について

バグバウンティハンターには、それぞれ好みの脆弱性があったりします。

大きく分けると、「フロントエンド寄りの脆弱性」と「バックエンド寄りの脆弱性」があると思います。

実際に、2024年の「Bug Bounty Top 10 Vulnerability Types」では、以下のようなランキングがあります。

  1. Cross-Site Scripting (XSS)
  2. Information Disclosure
  3. Improper Access Control
  4. Misconfiguration
  5. Insecure Direct Object Reference (IDOR)
  6. Improper Authentication
  7. Privilege Escalation
  8. Open Redirect
  9. Business Logic Errors
  10. SQL Injection

詳しくは、以下のブログをご覧ください。

scgajge12.hatenablog.com

ちなみに、以前の日本人バグハンター11人にインタビューした「好きな脆弱性」の項目では、以下のように様々な回答がありました。

  1. Open Redirect と Client Side Path Traversal を組み合わせた XSS
  2. 発見に手間がかかるような複雑なもの
  3. サニタイザーやサンドボックスなどの回避が可能な脆弱性
  4. XSS
  5. XSS
  6. サイト間の連携処理に潜む脆弱性
  7. XSS とプロトコルや仕様の組み合わせで発生する脆弱性
  8. 複数のシステムが連携した際に解釈の違いから生まれる Smuggling Attack や Desync Attack
  9. Open Redirect
  10. SSRF や LFI のようなサーバー側のリソースにアクセスできる類の脆弱性
  11. レースコンディション

詳しくは、以下のブログをご覧ください。

scgajge12.hatenablog.com


小まとめ

これらの情報を踏まえて、バグバウンティハンターは「深掘タイプ」と「幅広タイプ」の2つのタイプがあると紹介しましたが、さらに脆弱性の好みもあることがわかると思います。

バグバウンティは、脆弱性診断のようにある程度の網羅性が求められるわけではなく、他のバグバウンティハンターがまだ見つけられていない脆弱性を見つけられるか、そして如何に脅威の高い脆弱性を示せるかが肝になります。

そのため、入門者や初心者の方は、自分自身の好みや能力を分析して、どのタイプのアプローチを極めると良さそうか、どのタイプの脆弱性を探す知見を蓄えると良さそうか、などを整理してみると良いと思います。

その結果、自分の強みとなるスキルをさらに向上させることができ、そのうち結果にも良き影響が出てくると思います。

ちなみに、脆弱性の概要を学習する際は、「Web Security Academy」や「PentesterLab」などの学習コンテンツから学ぶことをオススメします。


4. バグバウンティハンターと AI について

AI ツール

近年、生成 AI / LLM は、凄まじい発展を遂げていますが、バグバウンティ業界にも影響を与えています。

バグバウンティにおける LLM の活用事例については、別途ブログで公開していますが、偵察や解析の手助けとして使える AI ツールは既に多く存在します。

特に、バグバウンティハンターにとって、AI ツールの活用は特に偵察(Recon)などを遥かに効率的&楽にすると思われます。

例えば、大規模なターゲットの JavaScript ファイルをダウンロードして LLM に解読させることで怪しいポイントなどを整理してくれたり、効率的なペイロードリストを生成してもらったりできます。

詳しくは、以下をご覧ください。

scgajge12.hatenablog.com

また、Burp Suite や Caido などのプロキシツールにも AI 機能が備わりつつあり、プロキシ内での機能の補助などで役に立っています。詳しくは、以下をご覧ください。

scgajge12.hatenablog.com


AI エージェント

ここで紹介する事例は、バグバウンティ業界に参入している AI エージェントについてです。

XBOW

少し前に海外で話題になりましたが、「XBOW」という Offensive Security AI エージェントが HackerOne の US ランキングで1位になったそうです。

xbow.com

XBOW については、公式 Web ページや昨年の Bug Bounty Village でも Talk されているため、以下の YouTube 動画をご覧ください。(2024年8月時点)

Leveraging AI for Smarter Bug Bounties | Bug Bounty Village, DEF CON 32

www.youtube.com

上の動画内でも性能のベンチマーク等の話は紹介されていますが、細かいベンチマークの結果も以下のスプレッドシートで公開されています。

docs.google.com

StealthNetAI

他にも、「StealthNetAI」といった AI エージェントもバグバウンティで動作検証を実施していたりするそうです。

www.stealthnet.ai

Cybersecurity AI (CAI)

また、「CAI」というバグバウンティに対応した AI フレームワークも存在するそうです。

CAI は、単なるスキャナーではなく AI を活用した独自のバグバウンティアシスタントを構築できるプラットフォームで、実際に HackerOne のプログラムで API の脆弱性を検出した実績があるそうです。

github.com

arxiv.org

aliasrobotics.com

routezero.security

このように、バグバウンティ業界でも AI エージェントによって発見された脆弱性の事例が登場しつつあります。

バグバウンティのプログラムで脆弱性を検出するということは、Hack The Box のようにあえて脆弱なやられ環境とは異なり、リアルワールドのサービスにおいて野良の脆弱性を検出していることを意味します。

しかし、脆弱性スキャナーで検出できるような脆弱性を AI エージェントでも検出できるようにはなってきていますが、まだアプリケーションの仕様や機能におけるロジックの不備、決済処理やアカウントの登録などの繊細な機能における脆弱性などは難しいように思われます。

そのため、近い将来は、「幅広タイプ」は AI エージェントで解決でき、「深掘タイプ」はまだ人間(バグバウンティハンター)の方が得意かもしれません。

これらを踏まえて、ぜひ rez0 さんの "This is How They Tell Me Bug Bounty Ends" のブログを読んでみてください。

このブログでは、高度な AI エージェントと、賢いオペレーター(バグバウンティハンター)が組み合わさって共存していくことを述べています。

では、バグバウンティは終焉を迎えたのでしょうか? まだです。 今日ではありません。 でもいつかは?ええ…私たちが知っているバグバウンティは、おそらく消滅するでしょう。

しかし、ハッカーの精神、アプローチ、物事の仕組みを理解し、それを破壊しようとする意欲は? それは生き続けます。永遠に繁栄し続けるでしょう。 そして、私たちはそこにいるでしょう。 システムを悪用する。 いつものように。

これは終わりではありません。 ただ、次のバージョンに過ぎません。 - ジョセフ

ぜひ、以下のブログをご覧ください。

josephthacker.com


5. その他

バグバウンティハンターの目的について

バグバウンティハンターがバグバウンティで脆弱性を探す目的(動機)としては、68%が「挑戦するため (To be challenged)」と答えています。

その次に、「お金稼ぎのため」「知見やテクニックの学びのため」「楽しむため」「キャリアアップのため」などが該当しています。

バグバウンティハンターについては、以下のブログをご覧ください。

scgajge12.hatenablog.com


実践的なバグバウンティ入門

以下のスライドは、「P3NFEST 2025 Winter」で行われたハンズオン講座の一般公開用スライドです。

speakerdeck.com


Hack Fes. 2025

7/19(土)に秋葉原で日本ハッカー協会が主催する「Hack Fes. 2025」で「バグバウンティ入門講座」をやります。 (事前チケット購入制)

hackfes2025.hacker.or.jp


6. 終わりに

本稿では、バグバウンティプラットフォームで脆弱性を探す「バグバウンティハンター(Bug Bounty Hunter)」におけるタイプと好みと AI について紹介しました。

少しでも入門者や初心者などのバグバウンティハンターに対する整理した知見として参考になれば幸いです。

今後も、バグバウンティ業界における AI エージェントについてはキャッチアップしていければと思います。


ここまでお読みいただきありがとうございました。