バグバウンティの破綻を防ぐ「カナリア」と自動検証メカニズム | ScanNetSecurity
2026.09.11(金)

バグバウンティの破綻を防ぐ「カナリア」と自動検証メカニズム

 生成 AI の登場によって、AI にコードを読ませて「脆弱性らしきもの」を発見させ、口調だけは説得力に満ちた報告を捏造し、小銭を、なんなら大金を稼ごう、あまつさえ「あの有名プロジェクトの脆弱性を発見した天才エンジニアはこの私です」的な履歴をレジュメに書くことを目的とした、志のないバグハンターもどきが大量に発生した。

研修・セミナー・カンファレンス
(イメージ画像)
  • (イメージ画像)
  • XBOW, Brendan Dolan-Gavitt 氏
  • 脆弱性の分類:攻撃はほぼ自動 + ターゲットへの介入が難しい
  • Docker Hub では XSS の脆弱性を多く発見

 未知の脆弱性を発見し報告することは、技術的探究心と社会貢献が調和した、創造的な、ときに報告者の人間性を回復し、善性を向上させもするクリエイティブな活動だったはずだ。

 だが、生成 AI の登場によって、AI にコードを読ませて「脆弱性らしきもの」を発見させ、口調だけは説得力に満ちた報告を仕上げて、小銭を、なんなら大金を稼ごう、あまつさえ「あの有名プロジェクトの脆弱性を発見した天才エンジニアはこの私です」的な履歴をレジュメに書くことを主な目的とした、志のないバグハンターもどきが発生した。

 よく知られたプロジェクトやソフトウェアほど高い報奨金がつくし、発見者としての評価も得やすい。だから、数十億台の端末にインストールされているオープンソースツール「cURL」も、そうした十分な検証を経ない脆弱性報告の標的になった。そこでは探究心や社会貢献とはむしろ真逆の「ただただ低いコストで報奨金や実績を得たい」というインセンティブが前面に出る。一方で、これを報告者個人の倫理問題のみとして片づけるのは正確ではなく、従来のバグバウンティの設計そのものが、現実にそぐわないものになりつつあるとも言える。

 cURL ライブラリの創設者ダニエル・ステンバーグ( Daniel Stenberg )は、2025 年 7 月、自身のブログで、受け取るセキュリティ報告のうち実際の脆弱性がわずか 5 %(それまでは 15 %以上)にまで急落したと書いている。

 5 %、すなわち 20 件中 19 件がハルシネーションである報告に 7 人のボランティアのセキュリティチームが真摯に 1 件あたり 30 分から 3 時間を費やして真面目に対応を続けた結果、「終わりのないスロップ報告への対応は深刻な精神的負担となった。時に生きる気力すら削がれた」とまで書かれている。由々しき事態である。

 そして 2026 年 1 月、ステンバーグは 6 年間続けたバグ報奨金プログラムの終了を宣言。同年 7 月には、脆弱性報告の受付を 1 ヶ月間完全に停止した。

 こうした存在しないのに脅威や脆弱性が報告される状態は「偽陽性(False Positive, 誤検知)」と呼ばれる。

 この、AI による脆弱性発見の偽陽性問題に正面から向き合い技術的な解答を示そうとした研究者がいる。ニューヨーク大学准教授(休職中)で、AI エージェントを活用した自律型のオフェンシブ・セキュリティ・プラットフォームを開発する XBOW 社の AI 研究者、ブレンダン・ドラン=ガヴィット( Brendan Dolan-Gavitt )である(写真)。

 本稿でレポートするのは 2025 年の Black Hat USA の講演だが学びのある内容でお蔵入りは惜しいということで掲載に至った。

● 陽性判定と希少性の誤謬

 偽陽性の問題は、多くのセキュリティエンジニアが抱える共通の問題だ。つまるところ、これは生成 AI の判定精度の問題である。最初にドラン=ガヴィットが示したのは、ステンバーグの苦悩の数学的正体だった。

 「考えてみてほしい。ある病気で 99 %の検知精度を持つ検査方法があるとする。病気の人を 99 %正しく陽性と判定し、健康な人も 99 %正しく陰性と判定する。ただし、その疾病は非常に稀で 1 万人に 1 人しか罹患しない」

 「では 1 万人を検査したとしよう。実際の患者は 1 人。この 1 人は 99 %の確率で陽性と判定される。一方、健康な人は 9,999 人いる。この人たちの 1 %、つまり約 100 人が誤って陽性と判定される」

 「結果、陽性判定を受けるのは合計約 101 人。しかし本当に病気なのは 1 人だけだから、陽性判定を受けた人が実際に病気である確率は 1 ÷ 101、わずか約 1 %になる」

 検査が 99 %正確でも、対象が稀であれば陽性判定のほとんどが誤報になる。

 「脆弱性もコードの行数に対して稀な事象だ。AI の精度がそれなりに高くても『脆弱性あり』と報告されたもののほとんどが誤報になってしまう。ステンバーグが経験した有効率 5 %は、AI が特別に悪いからではない。脆弱性が稀だという数学的構造から必然的に生じる現象なのだ」

 ドラン=ガヴィットは、この構造的問題に対する現実的な解決策を提示する。

 これは AI の精度を上げるだけでは解決しない。99 %を 99.9 %にしても、向上はするが本質的な解決はできない。陽性判定と希少性の誤謬は注意して扱う必要がある。将来的には LLM が自己検証できるようになるかもしれないが、今できることは、LLM に自己検証をさせず、「炭鉱のカナリア」と「決定論的なコード」で検証する検証器を利用することだ。これが彼のセッションのテーマである。

● カナリアと検証器

 「カナリア」とは、検知対象の中に埋め込むデータだが、内容は推測および予測困難な値とする。CTF の旗のようにシステムの奥深くかつ重要なポイントに設置する。特定の情報や権限がなければ本来到達できないディレクトリやファイルに仕込む。つまり、AI エージェントがそのカナリアデータを発見したということは脆弱性が存在することを裏付ける。

 たとえば、

・ ファイル読取 / RCE の検証:サーバーのファイルシステム( Web ルート外)に「/flag.txt」を配置

・ SSRF 検証:ターゲットの内部ネットワークに Web サーバーを立て、フラグを配置

・ SQLi 検証:データベース内の新規テーブルにフラグを追加

 AI がこのフラグ( UUID 等の予測不可能な文字列)を取得できれば、脆弱性の存在は確定する。

 ただ、これだけで AI の検知結果を鵜呑みにするわけにはいかない。確たる証拠が必要である。検証器( Validator )は、AI が報告した脆弱性についてその手法を決定論的なアルゴリズム(非 AI ツール)で評価する。

 検証器の例がいくつか挙げられた。

《中尾 真二( Shinji Nakao )》

関連記事

「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」
「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」

ページ右上「ユーザー登録」から会員登録すれば会員限定記事を閲覧できます。毎週月曜の朝、先週一週間のセキュリティ動向を総括しふりかえるメルマガをお届け。(写真:ScanNetSecurity 永世名誉編集長 りく)

×