世界を動かす技術を、日本語で。

脆弱性研究は煮詰まった

2026年3月31日原文(sockpuppet.org)

概要

  • AIコーディングエージェントがセキュリティ脆弱性の発見と悪用の方法を根本的に変革
  • LLM(大規模言語モデル)が脆弱性研究とエクスプロイト開発を効率化
  • 従来の人的リソース依存からAIによる自動化への劇的な転換
  • オープンソースやレガシーシステムも含め、広範な攻撃対象の拡大
  • 規制や防御策の遅れによる新たなセキュリティリスクの顕在化

AIによる脆弱性研究とエクスプロイト開発の変革

  • AIコーディングエージェント の登場により、脆弱性発見と悪用のプロセスが劇的に効率化
  • LLM(大規模言語モデル) は、膨大なソースコードや既知のバグクラスの知識を活用
  • ソースツリーにエージェントを適用し、「ゼロデイを探せ」と入力するだけで高精度な脆弱性発見が可能
  • 脆弱性研究は、もはやエリート専門家の独占領域ではなくなりつつある現状
  • AIがもたらす変化は、情報セキュリティ分野およびインターネット全体に大きな影響

脆弱性発見の歴史とAIの優位性

  • 1990年代、 手作業によるスタックオーバーフロー解析 など、専門知識が必須だった時代
    • コードの内部構造やアーキテクチャ、フォントライブラリの挙動など細部に精通する必要性
  • 現代では、 脆弱性は目立つ「セキュリティ」部分ではなく、プログラム全体のデータフローに隠れる傾向
  • これまで攻撃が少なかったのは、 エリート人材の希少性 も大きな要因
  • LLMは、既存のバグパターンの認識と、到達可能性や悪用可能性の制約解決に優れる
  • AIエージェントは「飽きずに永遠に探索」できるため、人的制約を超えた脆弱性発見が可能

AIによる実際の脆弱性発見プロセス

  • AnthropicのNicholas Carliniによる Claude Opus 4.6 での高精度脆弱性発見事例
    • ソースリポジトリ全体を対象に自動で「脆弱性発見→レポート生成→検証」を繰り返すスクリプト
    • 成功率はほぼ100%、多様なバグクラスやWebアプリにも適用可能
  • LLMは、過去の複雑な脆弱性チェーン(例:RailsのYAMLパラメータ問題)も「尋ねるだけ」で発見可能
  • 「分析ツールの活用」よりも「直接エクスプロイト生成」へのシフト が進行

セキュリティ業界へのインパクトと今後の課題

  • これまで 人的リソースと時間を要した脆弱性発見作業 が、AIにより「普遍的なジグソーパズル解決機」と化す
  • 2025年以降、 ChromeやiOS、Androidなど主要ターゲット への攻撃リスク増大
  • オープンソース開発者 への負担増加、従来の「スロップな脆弱性報告」から「本物の深刻な脆弱性報告」への転換
  • エージェントは多層のサンドボックスやカーネル、ハイパーバイザーも突破可能な フルチェーンエクスプロイト 生成能力
  • クローズドソースコードの防御力低下、バイナリからの直接推論や逆アセンブルもAIが自動化

AI規制とセキュリティ規制の混乱

  • AIへの社会的注目と規制議論 の高まり
  • セキュリティ研究の倫理的合意(「それはコンピュータサイエンス」)と、政策立案者の認識の乖離
  • AIによるゼロデイ発見・悪用が社会問題化 し、拙速かつ非効率な規制導入の懸念
  • セキュリティ規制の失敗が、逆に新たなリスクや混乱を招く可能性

今後の情報セキュリティの展望

  • AI主導の脆弱性研究・エクスプロイト開発 が常態化する未来
  • 攻撃対象の拡大 :OS、データベース、ネットワーク機器、IoTなど、あらゆるシステムが標的
  • パッチ適用や防御の遅れが深刻なリスク となる現実
  • 従来の「人的希少性による防御」モデルの崩壊、量的・質的に新次元の攻撃時代到来
  • 業界・社会・政策レベルでの抜本的な対応策の必要性

Hackerたちの意見

なんでここでの結論が「すべてが常に悪用される」ってなるのか理解できない(何か見落としてるのかな)。もしLLMが本当に俺のソフトウェアの脆弱性をたくさん見つけられるなら、なんでそれを使って脆弱性を修正して、完璧に安全なソフトウェアを作らないの?少なくとも、LLMが新しい脆弱性を見つけられないソフトウェアになるはずじゃん。

それが一つの結果かもしれない、特にこの分野に詳しい大手ベンダーにとってはね。俺が本当に興味があるのは、脆弱性研究者たちのフィールドがどうなるかだ。

その圧力は予測される脆弱性の爆発の結果としてしか起こらないし、その前には起こらないよ。それにはコストがかかるし、脆弱性の検索を行うためには専任でやる気のある人が必要だ。修正を適用して、次のデプロイの前に何も出てこないまで再チェックする必要がある。予測としては、数ヶ月以内にコーディングエージェントがエクスプロイト開発の実践と経済を劇的に変えるだろう。フロンティアモデルの改善はゆっくり進むものじゃなくて、ステップ関数になる。高影響の脆弱性研究が、エージェントをソースツリーに向けて「ゼロデイを見つけて」って打つだけで行われるだろう。

この非対称性はかなり重要な問題だと思う。特に、攻撃者は一つの成功パスが必要だけど、防御者はすべてのパスを閉じる必要がある。実際には、パッチの速度はリリースサイクルやQAの問題、回帰リスク、そして確認が必要なコードベースの数によって制限される。

バグトラッカーが常に空っぽな状態に入ったのはいつからだろう?バグ削減の制約要因は発見ではなく、修正だよ。開発者のスモークテストでも、バグが見つかるスピードは修正できるよりもずっと早いし、実際のQAはもっとそう。公平を期すために言うと、修正の制約要因は通常、再現可能なテストケースを見つけることなんだけど、脆弱性は必然的にそれを必要とする。でも、ほとんどのシステムには再現可能なテストケースがついているバグがたくさんあると思うし、それが修正リソースのボトルネックになっているんじゃないかな。もちろん、設計上不安定なシステムをセキュリティにすることは、これまで大失敗だったってこととは別の話だけど。

もしLLMが本当に俺のソフトウェアの脆弱性をたくさん見つけられるなら、なんでそれを使って脆弱性を修正して、完璧に安全なソフトウェアを作らないの?多分、それをするのは犯罪になるからだろうね。少なくとも、犯罪の脅威があるから。企業が自分たちのソフトウェアのセキュリティがどれだけ悪いかを社会が公然と議論するのは恥ずかしいことだから。俺たちは企業の便利さのために国家の安全を犠牲にしてる。システムのセキュリティをテストすることは許されていない、なぜならそれは企業の責任だから。システムを所有している企業は、そのシステムが不安定で国の個人データの半分が漏れたときでも、責任を問われない。これがどういうことか分かる?検証可能でテスト可能なセキュリティがトップへの道を邪魔することは許されない。常にシステムが安全であることを期待するのも無理だよ。みんなで協力して、データが月に二回漏れているのに、セキュリティの脆弱性を見つけて責任を持って報告することができると思うかもしれない。でも、システムは企業のもので、彼らが唯一の責任者なんだ。でも、(これが非常に重要なんだけど)彼らは責任を負わず、特に金銭的な責任もない。

攻撃者は一度成功すればいいけど、防御者はずっと成功し続けなきゃいけないってこと?

何かを壊すのは直すより簡単だよね。

見つけてからパッチを当てるのは、バグを新しく作るよりも早く修正できる場合にしか機能しない。一部の組織はこれができるけど、できないところもある。

あなたが出荷するパッチは、リリースや依存関係の動いているトレッドミルの上に乗ることになる。新しいコードが古いゴミにくっついて、古い仮定が次のバージョンに漏れ出す。攻撃者はあなたと同じモデルを実行できるから、バグを見つけて修正するギャップは縮まっていく。あなたのチームは機械に対して清掃作業をしているようなものだ。「完全に安全な」ソフトウェアは哲学のセミナーであって、結果ではない。バグのプールをかなり減らすことはできるけど、潮は引かず、砂のお城は崩れ続ける。

前に働いてた会社では、Linuxマシンで作業したいからって、中古のThinkPadを300ドルで買うのに反対されたことがあったんだよね。でも、脆弱性を見つけるために無限にお金を使うことには躊躇しないみたい。遅すぎるってなってからじゃないとね。

18歳の時に著者のインターンをしてたんだ。セキュリティテストはこういう風に機能すると思ってた:1. 静的解析でほぼすべてのバグをキャッチする 2. プライベートツールでさらにそのカバレッジを広げる、これが契約者の価値を生む 3. 人間は設計の欠陥や、電磁波からの暗号的サイドチャネルみたいな変なハードウェアバグに集中する。結局、すべてのバグを見つけるのは本当に難しい。コードベースやコンパイラの出力は20年で複雑さが爆発的に増して、静的解析のビジョンには逆効果だった。今の緩和策は当時と比べて素晴らしいけど、今月だけで、ハードウェア緩和策にとって最高のプラットフォームの一つで2つ目の0dayチェーンがパッチされた。LLMは、18歳の時に思ってたこの仕事に近づけてくれる気がする。

Hacker Newsで議論の続きを見る