powered by TechFeed
表示モード
Deep Dive

AIエージェントでLinuxカーネルのセキュリティパッチ適用が「1週間」から「30分〜3時間」に — 未修正CVEが2,000件超える安定版ブランチをどう守るか

11月2日、Trail of Bitsが「Backporting security fixes at scale with Codex」と題した記事を公開した。OpenAIのCodexを活用してLinuxカーネルなど安定版ソフトウェアへのセキュリティパッチのバックポート作業を大幅に効率化した実践事例を詳細に紹介している。

11月2日、Trail of Bitsが「Backporting security fixes at scale with Codex」と題した記事を公開した。OpenAIのCodexを活用してLinuxカーネルなど安定版ソフトウェアへのセキュリティパッチのバックポート作業を大幅に効率化した実践事例を詳細に紹介している。


「日単位」から「30分〜3時間」へ

Trail of Bitsは、OpenAIのCodex(コード生成・実行が可能なAIエージェント)を使い、Linuxカーネル安定版へのセキュリティパッチ適用作業を自動化するワークフローを構築した。その成果として、2026年10月29日時点で149件のCVE修正をLinuxカーネル安定版ツリーに取り込み、FedoraおよびUbuntuパッケージへの修正も複数届けている。

従来、バックポート作業の難所となるのは「古いコードベースへのパッチ適用」「依存関係の確認」「新たなバグの混入チェック」の3点だ。問題の切り分けだけで1週間以上かかることも珍しくなく、それでいて評価されにくい作業であるため、ボランティアが中心のオープンソースプロジェクトでは後回しにされてきた経緯がある。XFSの開発者Dave Chinnerはかつて、この作業を「事実上フルタイムの仕事」と表現している。

Trail of BitsがCodexで構築したワークフローでは、エージェントが以下を自動的にこなす:

  • 修正が適用されていないCVEの特定
  • 古いコードへのパッチ適用・改変
  • 検証エビデンスの収集
  • テストの実行
  • 提出パッケージの準備

人間のエンジニアはレビューとメンテナーへの提出のみを担当する。その結果、単純なバックポートであれば30分、複雑なケースでも約3時間の工数で完結するようになった。なお、リグレッションテストやメンテナーによる受理は引き続き人間が行う。

ワークフローの技術的詳細

元記事によれば、エージェントは段階的なアプローチで設計されている。まず差分がクリーンに適用できる「単純なバックポート」から着手し、コンテキストの違いによりパッチの手動改変が必要な「複雑なケース」へと難易度を上げていく構成だ。

エージェントが扱う主な困難として、元記事では以下が挙げられている:

  • コードの文脈のずれ:アップストリームでパッチが当たった行番号や周辺コードが、安定版ブランチでは異なっている
  • 依存コミットの欠落:修正パッチが前提とする別のコミットが安定版に取り込まれていないケース
  • リグレッションリスク:パッチ改変によって新たなバグが混入していないかの検証

これらの判断をエージェントが自動で行い、人間がレビューできる状態のパッケージとして出力する。精度や失敗率の具体的な数値は元記事では公開されていないが、149件という実績が現時点での有効性を示している。

また、タイトルが問いかける「未修正CVEが2,000件超えるブランチをどう守るか」に対する本記事の答えは明確だ。すなわち、AIエージェントによる自動化でバックポートのコストを下げ、人間が手を回せなかった領域を機械で補うという方向性である。完全自動化ではなく、人間のレビューを最終関門として残している点もこのアプローチの設計思想として重要だ。

「安定性か、セキュリティか」という問題

なぜバックポートがこれほど重要なのか。Ubuntu Linuxのインストール実績を見ると、約95%がLTS(長期サポート)版だ。Debianのpopconが示すデータでも、インストール済みLinuxカーネルの約96%は最新カーネルではなく旧安定版に基づいている。

つまり、ほとんどのユーザーは「最新かつ安全なバージョン」を実行していない。最新版にはセキュリティ修正のほかに望まない変更も含まれるため、意図的に古いバージョンを使い続ける判断は合理的だ。しかし安定版に未修正の脆弱性が残り続けるのであれば、「安定性か、セキュリティか」という二択を迫られることになる。

未修正CVEの規模

この問題の深刻さを数字で示すと、以下のとおりだ(2026年9月18日時点、kernel CVE teamのvulns.gitより):

ブランチ 未修正CVE数 高・致命的重大度
5.10.y 2,006 213件(19.0%)
5.15.y 1,889 195件(20.0%)
6.1.y 1,329 99件(17.0%)
6.6.y 1,012 65件(18.1%)
6.12.y 686 21件(13.7%)
6.18.y 337 3件(5.9%)

Linuxディストリビューションのパッケージも同様で、Debian 13では4,562件、Ubuntu 26.04では770件のユニークCVEが未修正のまま残っている。

元記事では、知名度の高いCVEでさえアップストリームでパッチが適用された後、数週間経ってもディストリビューションのカーネルに取り込まれていなかった具体例が挙げられている。無名の脆弱性はほぼバックポートされないのが現実であり、この構造的な問題こそが本ワークフローの開発動機となっている。

ワークフローの使用モデルと今後

Trail of BitsはCodexを中心としたAIエージェントを活用して運用している(記事中に登場するモデル名の詳細は元記事を参照されたい)。バックポートトラッカーは現在も更新が続いており、進捗を確認できる。

オープンソースプロジェクトやLinuxディストリビューションでバックポートの支援を希望する場合は、trailofbits.com/patch-the-planetから申し込めるとのことだ。


詳細はBackporting security fixes at scale with Codexを参照していただきたい。