記事のサマリー(TL;DR)
- OpenAIはLinuxカーネルを対象に、脆弱性の発見・動的検証・悪用可能性評価・パッチ生成・人間によるレビューの5段階からなる自動化パイプラインを構築し、2,308件の候補となる発見事項を特定、1,724件の脆弱性を動的に再現し、948件のローカル権限昇格(LPE)エクスプロイトを作成しました。
- このパイプラインはOpenAIの「Patch the Planet」の取り組みの一環であり、Linuxカーネルコミュニティの助言に従って重大な脆弱性から報告を開始し、候補パッチの開発とメンテナーへの報告を進めています。
- 各段階のAPIコストを計測したところ、脆弱性発見段階(Analyst agents)が316,549ドル、検証段階が73,330ドル、悪用可能性評価段階が775,929ドルなど、合計で相応の費用がかかっており、OpenAIはこれを研究目的のコスト上限の目安として報告しています。
対象と前提条件
この取り組みは、OpenAIが管理する研究環境内で実施されたプロトタイプによるものです。対象はLinuxカーネル(4,000万行以上のコード)で、システムコール、ネットワーキング、ファイルシステム、デバイスドライバーなど幅広い攻撃対象面を持つ点が選定理由として挙げられています。検証対象としたのは、低権限ユーザーから到達可能で、特別な権限を必要とせず、メモリ破損の測定可能な証拠を示す発見事項に限定されています。
詳細
なぜLinuxカーネルを対象としたか
Linuxカーネルは、Androidデバイス、クラウドインフラ、スーパーコンピュータなど、数十億人が利用するシステムの基盤となっています。4,000万行超のコードを抱え、システムコール、ネットワーキング、ファイルシステム、デバイスドライバーを通じて広い攻撃対象面を持ちます。OpenAIは、この規模と重要性を持つコードベースにおいて、最先端モデルがどの程度効果的に脆弱性を発見し、そのセキュリティ上の影響を実証できるかを検証するためにLinuxを選んだとしています。
発見段階では数千件の候補が生成され、セキュリティ研究者が手作業でレビュー・トリアージするには多すぎる量になりました。パイプラインにおける運用上の課題は発見そのものではなく、どの発見が再現可能か、どのセキュリティ境界を越えているか、どれがメンテナーの早期対応に値するかを判断することにあったとしています。
コスト分析について
OpenAIのCyberチームの使命は、世界が依拠するソフトウェアの保護を支援することだとしています。各段階のAPIコストは、他の研究者がこの作業を再現・拡張する際に必要なリソースを把握できるよう報告されています。これらのコストは、今回の評価で用いたモデル、ターゲット構成、ワークフローを反映したものです。OpenAIは、この研究ではコストではなく方法論とモデル能力の測定に重点を置いたとし、十分なハーネス(実行基盤)のエンジニアリングによって各段階のコストは大幅に削減できる可能性があるため、報告しているコストはむしろ上限に近いものだとしています。
脆弱性研究パイプラインの構成
このプロトタイプは、今後登場予定のサイバー向けモデルを中核に据えた、以下5段階のパイプラインです。
- 脆弱性発見:エージェントがコードベースのセキュリティ上重要な部分を特定し、候補となる発見事項をスキャンします。
- 動的検証:エージェントが各候補を隔離環境で再現し、実行時の証拠を保存します。このステップで再現・検証済みの脆弱性が出力されます。
- 悪用可能性評価:エージェントが、検証済みの脆弱性が情報漏えいやローカル権限昇格を可能にするかをテストします。
- パッチ生成:エージェントが特定された各脆弱性に対処するパッチを生成します。
- 人間によるレビュー:セキュリティ研究者がエクスプロイト、パッチ、提案された深刻度を、メンテナーへの報告前に確認します。
パイプラインの最後には、根本原因分析、最小限のクラッシュ再現用の概念実証(PoC)、候補パッチ、完全なエクスプロイトが一式にまとめられ、人間の研究者が脆弱性の深刻度を評価し、修正を上流に反映する作業を支援します。
脆弱性発見
Linuxカーネルのすべてのコード行がセキュリティ上重要というわけではありません。パイプラインではまず「Scout」エージェントのチームが高価値な監査対象を特定し、それを「Analyst」エージェントに渡して脆弱性スキャンを行う構成を採用しました。
Scoutエージェントは、各フォルダ・ファイルを読み、低権限ユーザーからの到達可能性とセキュリティ上の関連性に基づき監査対象を判断します。この段階で5,034件の監査対象(約280万行、Linuxカーネル全体のコードの約7%)が特定され、コードベース全体を分析する場合と比べて監査コストを大幅に削減したとしています。このステップのコストはAPIクレジットで3,426ドルでした。
Analystエージェントは、各監査対象を分析し、Codex Security pluginと類似したワークフローを用いて候補となる発見事項を生成しました。具体的には、割り当てられた監査対象のコードを読み、動作の仕組みと脅威モデルを理解した上で脆弱性を探します。12時間以内に、重複排除後で2,308件の候補が生成されました。このステージのコストは316,549ドルでした。
脆弱性の検証
候補となる発見事項は、検証済みの脆弱性と同じではありません。この規模では、すべての報告を手作業で調査することは研究チームにとって非現実的だとしています。そのためOpenAIは、(a) 低権限ユーザーから到達可能であること、(b) 特別な権限を必要としないこと、(c) メモリ破損の測定可能な証拠を示すこと、の3条件を満たす発見事項の検証に絞りました。
各候補について、トリアージ用エージェントがPoCを生成し、Kernel Address Sanitizer(KASAN)を有効化したLinuxカーネルを実行する隔離仮想マシン内でそれを実行しました。エージェントはプログラム出力とシステムコンソールの両方を観察し、報告された挙動が再現されるか、あるいは起動しうる手段を使い尽くすまでPoCを反復的に改良しました。
30時間以内に、2,308件の候補のうち約74.7%にあたる1,724件の脆弱性が再現されました。静的コードレビューだけでは誤検知が生じやすいため、Analystエージェントの精度と、候補事項の約4分の3について自律的に動作するPoCを作成したトリアージエージェントの有効性には驚かされたとしています。
残りの発見事項の大半は、昇格された権限を必要とするか、困難な競合状態、特定のトリガー条件(例:特定行での割り当て失敗が必要)、時間のかかる検証(例:参照カウントのラップアラウンド)のために時間内に再現できませんでした。モデルによる誤った分析(報告された脆弱性が実現不可能な条件を前提としていたケース)は3.1%にとどまりました。
検証ステージ全体のコストは73,330ドルでした。候補が実際の脆弱性かどうかを確認するためにPoCを生成する必要があった検証パイプラインでは、静的解析のみに基づく推奨を行うよりもコストが高く、真陽性と偽陽性の検証コストはほぼ同程度だったことが確認されました。そのため、パイプラインの早い段階で偽陽性を除去することが、コスト効率を大きく高めるとしています。
悪用可能性評価
検証によって脆弱性が実在することは確認できますが、それがどの程度緊急に対処すべきかはわかりません。例えば、ローカル権限昇格を可能にする脆弱性は、ローカルなサービス拒否しか引き起こせない脆弱性よりも優先度が高くなります。1,724件の検証済み脆弱性のうち、次の課題は最もセキュリティへの影響が大きい発見事項を特定することでした。
初期のスクリーニング用エージェントが、各報告、クラッシュログ、関連ソースコードを静的にレビューしました。深刻な発見事項を見落とさないよう意図的に緩やかな基準とし、悪用経路が見込めないケースのみを除外しました。これにより、313件の情報漏えい候補と1,238件のローカル権限昇格候補に絞り込まれました。
続いてExploitDevエージェントが、標準的なLinuxディストリビューションで有効化される保護機能(Supervisor Mode Execution Prevention:SMEP、Supervisor Mode Access Prevention:SMAP、Kernel Address Space Layout Randomization:KASLR、HARDENED_USERCOPY)を設定した隔離仮想マシン内でこれらの候補をテストしました。これにより、保護機能が無効化された状態に依存する非現実的な評価を防いだとしています。
エージェントは、情報漏えいに関する291件のPoCと、権限を持たないローカルユーザーにroot権限を与えうる1,169件の動作するローカル権限昇格エクスプロイトを作成しました。
OpenAIはバリアント分析を実施し、これらのエクスプロイトの背後にある脆弱性に対して948件の個別パッチを開発しました。この数値を、固有のLPEの総数を決定するために用いています。成功したエクスプロイトの開発には平均359ドルのクレジットがかかったとしており、これは防御側が発見された脆弱性の悪用可能性をテストするには比較的低コストだとしています。
初期の脆弱性スクリーニングエージェントのコストは44,194ドルでした。悪用ステージ全体のコストは775,929ドルで、うち情報漏えい候補の処理に84,929ドル、ローカル権限昇格候補の処理に691,000ドルがかかりました。
平均すると、ローカル権限昇格候補1件の処理(558ドル)は、情報漏えい候補1件の処理(271ドル)のおよそ2倍のコストでした。これは、情報漏えいのPoCが検証段階から引き継がれ、エクスプロイトとして使用可能にするための改変が少なくて済んだためです。一方、LPE候補からエクスプロイトを開発するには、悪用戦略の立案、悪用可能なオブジェクトの特定、緩和策の回避など多くの追加作業が必要でした。また、悪用に失敗した試み(69件で3,922ドル)は、成功した試み(1,169件で360ドル)よりもはるかに高コストだったことも確認されました。これは、競合状態などの一部の悪用困難な脆弱性が原因であり、例えば1時間進展がなければ試行を打ち切るといった妥当な中止条件を設定すれば、ExploitDevのコストを大幅に削減できたとしています。
パッチ生成
検証済みの各脆弱性について、システムはパッチも生成します。モデルには関連するソースコードを与え、パッチへの静的チェックの実施、近傍コードで使われているソフトウェア開発慣行への準拠、パッチの完全性を確認するためのバリアント分析の実施といったベストプラクティスに沿うよう指示しました。
Linuxカーネルコミュニティの提案に従い、OpenAIはすでに重大な脆弱性について数百件の報告とパッチを送付しており、Patch the Planetのパートナーと協力して残りのパッチも順次送付しているとしています。この取り組みは、オープンソースプロジェクトを支援するより広範な「Daybreak」の取り組みの一部だとしています。
調査から得られた知見
メンテナーは迅速に脆弱性を修正している
この研究の過程で、Linuxのメンテナーがユーザーを保護するために迅速に脆弱性を修正していることが観察されました。スキャンは2026年10月中旬の最新のLinuxカーネルに対して実施されました。自律スキャンと手動分析が10日後に完了した時点で、61件のLPEはすでに上流で修正済み、43件はステージングパッチが存在し、299件は公開の場で報告・議論が進行中でした。
OpenAIは、特定された問題を緊急に修正してきたLinuxメンテナーおよびセキュリティコミュニティ全体に謝意を示し、この迅速な脆弱性開示と修正のペースは、ユーザーや企業がソフトウェアを最新の状態に保つことの重要性を改めて示しているとしています。
教訓として、自動トリアージは迅速な修正サイクルを考慮に入れるべきであり、当初のスキャン後にマージされた新しいコードを含め、最新コードに対して発見事項を再検証することで、重複・陳腐化した報告を避けられるとしています。
より高性能なモデルほど多くの脆弱性を発見する
パイプライン開発中の2026年7月下旬、GPT‑5.6 Solは166件の固有LPE脆弱性を発見・悪用し、エンドツーエンドのAPIコストは513,690ドルでした。
2回目のスキャンとなる2026年10月中旬には、より新しいサイバー向けモデルが948件の固有LPE脆弱性を発見・悪用し、エンドツーエンドのコストは1,213,430ドルでした。いずれのキャンペーンでも、その時点での最新のLinuxカーネルmasterブランチをスキャンしています。
教訓として、モデルの能力が向上するにつれ、以前に監査したコードを再スキャンすべきであり、より高性能なモデルは、同じ研究用ハーネスを使っていても、以前のモデルが見逃した脆弱性を発見する可能性があるとしています。
新しい悪用手法
OpenAIはエージェントが開発した166件のエクスプロイトをサンプリングし、使用された悪用手法を分析しました。確認できた範囲では、エージェントはサンプル中で10種類の新しい悪用手法を使用していました。これらの手法はサードパーティのカーネル悪用の専門家にも共有されましたが、専門家にとっても新規のものだったとしています。
10種類のうち、2つはターゲットのカーネルキャッシュ内にオブジェクトをスプレーするための新しい永続的な弾力的オブジェクト、2つはエクスプロイトの信頼性を高める新しいページグルーミング手法、5つは権限昇格を直接または任意書き込み経由で得るための新しいデータオンリー手法、残る1つは任意の型混同に関わるものでした。安全上の理由から、これらの新しい悪用手法の詳細な技術情報はこの記事では共有していません。
教訓として、最先端モデルは既知の脆弱なコードパターンを単にパターンマッチングしたり、既知の悪用手法のみを使用したりするのではなく、創造性と新しいアプローチを示すとしています。
エクスプロイトのコストから防御側が学べること
OpenAIチームの使命の重要な部分は、脆弱性の発見・悪用にかかるコストを測定し、その証拠を防御投資の指針とすることだとしています。目標は、攻撃者が利用する前に防御側が脆弱性を修正できるよう支援し、ソフトウェアの悪用をコスト的に割に合わないものにすることです。この節では、パイプライン実行のコストと、特定された脆弱性に対するバグバウンティ制度の報奨額を比較しています。
実験で用いたターゲット仮想マシンは、弱体化していない一般的なデスクトップOSを実行しており、Pwn2OwnやTyphoonPWNなどのサイバーセキュリティ競技会と同じ脅威モデルの下で動作していました。歴史的に、Pwn2OwnとTyphoonPWNは、Linuxカーネルのローカル権限昇格エクスプロイトに対しそれぞれ20,000ドルと70,000ドルのバグバウンティを提供してきました。これらの過去の報奨額を948件のエクスプロイトに当てはめると、1,890万ドルから6,630万ドルという仮想的な評価額となり、これはパイプラインのコストの約16倍から55倍に相当します。
また、GoogleのkernelCTF脆弱性報奨プログラム(攻撃対象面を縮小した強化版Linuxカーネルを対象とする)に対してもパイプラインをテストしました。最新版のLinuxカーネル(kernelCTFのSLAB_VIRTUAL緩和策と互換性がなかったため設定から除外)に対し、kernelCTFの環境下でパイプラインを実行し、25件の情報漏えいPoCと21件のローカル権限昇格エクスプロイトを得ました。比較として、執筆時点で2026年中にkernelCTFが受理した確認済みの0-day LPEエクスプロイトは26件です。キャンペーン全体は112時間続き、コストは約32,936ドルで、うち脆弱性発見が全体のAPIコストの83.7%を占めました。仮にこの21件の脆弱性がプログラムに受理された場合、約150万ドルの報奨額、すなわちコストの約45倍に相当するとしています。
教訓として、公開されている報奨額に基づけば、現時点のサイバー能力を持つモデルを用いたこの脆弱性研究パイプラインは、この研究の時点で正味の利益が出る水準だったとし、防御側はソフトウェアの悪用をコスト的に割に合わないものにするため、自らのソフトウェアを積極的に分析すべきだとしています。
誤った0-dayを使用してしまうケース
悪用可能性評価の段階で、ExploitDevエージェントには脆弱性報告が与えられ、完全に機能するエクスプロイトの作成が課されました。パイプラインでは、root shellの取得に成功した場合に脆弱性が「悪用された」とみなす仕組みでした。初期の実行では、悪用ステージで200件のローカル権限昇格エクスプロイトの成功が報告されましたが、人間によるレビューの結果、そのうち20件は割り当てられたものとは別の0-day脆弱性を通じてroot権限を取得していたことが判明しました。これは、エージェントによる悪用成功であっても適切な検証が必要であることを示しているとしています。
その後、タスクの制約を厳格化し、各最終エクスプロイトが割り当てられた脆弱性を使用していることを確認する独立チェックを追加しました。
教訓として、自律的なセキュリティ研究では、結果そのものの検証に加え、結果に至る経路の検証も必要であり、隔離、監視、独立したチェックが必要な制御策であるとしています。
より高性能なモデルは軽量なオーケストレーションで済む
研究の初期段階で、エージェントのサイバー能力を高めるために周囲に重厚なオーケストレーションを構築すべきかという設計判断を検討しました。結果として、より強力なモデルほど軽量なオーケストレーションや手取り足取りの支援で済み、限界的な改善は維持コストに見合わないことが示唆されたため、重厚なオーケストレーションを取り除くことを決定しました。
この実験ではGPT‑5.5 CyberとGPT‑5.6 Cyberを比較しました。GPT‑5.5 Cyberは、既存のLinuxカーネル悪用手法をいつ・どのように適用すべきかを一貫して特定できませんでした。そこでOpenAIは103種類の手法をモデルが扱いやすい形式でまとめ、エージェントの環境で利用可能にし、それらを使うようエージェントに促しました。63件の悪用候補に対して、これにより成功率は76.2%から88.9%に向上しました。
GPT‑5.6 Cyberで同じ実験を繰り返したところ、このモデルは関連する手法を自力でより適切に発見・選択・適用できました。OpenAIは手法/スキルのオーケストレーションを取り除いたところ、この軽量なオーケストレーションのGPT‑5.6 Cyberのワークフローは、より重厚な足場を持つGPT‑5.5 Cyberのワークフローを上回りました。GPT‑5.6 Cyberに追加の手法レイヤーを再度加えても、1.5ポイントのわずかな改善にとどまりました。
教訓として、基盤モデルの能力変化に応じてオーケストレーションとハーネスを再評価すべきであり、あるモデル世代で大きな改善をもたらした足場も、より強力なモデルにはほとんど価値を加えない場合があるため、維持コストとのトレードオフを評価すべきだとしています。
反復によりパッチ生成の質が向上
当初、候補パッチの生成を直接指示すると、モデルはPoCを機能的に無効化する正しいパッチを作成しましたが、時に他の問題(必要以上のコード量、潜在的な性能上のトレードオフの導入、コーディング規約からの逸脱、同じ脆弱性のバリアントに関する関連コードの検討漏れによる不完全なパッチ)を引き起こすことがありました。
追加の指示とパッチ生成プロセスの反復によってパッチの質が向上したことから、適切な取り扱いを行えば、AIが生成するセキュリティパッチが正しく、最小限で、既存のコード規約と整合する形になり得ることが示唆されたとしています。これは現在も研究が進む領域であり、今後のモデルによってさらに容易かつ効果的になるとOpenAIは考えています。いくつかのケースでは、この研究用プロトタイプが人間の専門家が書いたパッチの問題点を特定し、マージ前に修正されたこともありました。
教訓として、モデルはパッチ作成プロセスを高速化できるものの、パッチが機能要件・非機能要件の両方を確実に満たすようにするには、パッチ作成のスキルとハーネスに反復が必要な場合があるとしています。また、人間とAIが生成したパッチの双方について、パッチが回避可能である、他の攻撃経路やバリアントを見落としているといった問題を特定するため、モデルを用いた敵対的レビューを行うことを推奨しています。
テスト用インフラにおける脆弱性
kernelCTFでの実行において、21件のLinuxカーネル0-dayエクスプロイトに加え、この研究用プロトタイプはQEMU TCGの脆弱性も発見・悪用しました。システムコールのエントリコードを分析するよう割り当てられたAnalystエージェントが、権限遷移を試すプログラムを作成している際に予期しないカーネルクラッシュに遭遇しました。エージェントはこのクラッシュをトリアージし、QEMUのソースコードにアクセスすることなく問題をQEMU TCGに特定し、この脆弱性を報告に含めました。その後、ExploitDevエージェントはこの脆弱性に対するローカル権限昇格エクスプロイトの開発に成功しました。OpenAIはこのQEMUの脆弱性をエクスプロイトの手動分析時に発見し、この脆弱性がQEMUの上流では修正済みであったものの、実験で使用したリリースビルドには反映されていなかったことを確認しました。
教訓として、最先端のサイバー能力を持つモデルはテスト用インフラにおける脆弱性も発見できるとし、攻撃的な脆弱性研究を実施する前にインフラの各部分をテストすることを推奨しています。OpenAIは自らのインフラを事前にテストし、Kata、Moby/Docker、gVisorなどのプロジェクトで多くの脆弱性を開示・パッチ適用してきたとしています。
結論
OpenAIは、モデル能力の向上をインターネットを保護する人々にとっての持続的な優位性に変えることを目標としているとしています。この研究は、最先端モデルの高まるサイバー能力が、Linuxカーネルのような複雑なソフトウェアにおける脆弱性の発見に効果的に活用できることを示しているとしています。Linuxなどの重要なオープンソースプロジェクトを強化することは、多くの下流システムとユーザーを保護し得るとしています。
Daybreakの取り組みの一環であるPatch the Planetを通じて、OpenAIはこの研究をより多くの重要なソフトウェアプロジェクトに拡張し、メンテナーおよびセキュリティパートナーとともに信頼性の高い自動パッチ適用の開発を目指すとしています。攻撃者が利用できる機会を着実に減らし、脆弱性の発見・悪用にかかるコストを引き上げ、想定される見返りが攻撃に見合わなくなるようにすることを目指すとしています。