AIによるLinux脆弱性報告が増加 ネットワーク修正プロセスへの影響

Linux 7.1のネットワーク系修正がパッチの洪水に見舞われている。AIによる脆弱性発見が加速するなか、修正がまた別の問題を呼ぶ状況がいつまで続くのか・・・メンテナー自身がそう問いかけている。

AIによるLinux脆弱性報告が増加 ネットワーク修正プロセスへの影響

Linux 7.1のネットワーク系修正がパッチの洪水に見舞われている。AIによる脆弱性発見が加速するなか、修正がまた別の問題を呼ぶ状況がいつまで続くのか・・・メンテナー自身がそう問いかけている。


AIが「掘り起こした」脆弱性の連鎖

Linux 7.1のネットワークサブシステムに、大規模な修正パッケージがマージされた。

ネットワークメンテナーのヤクブ・キチンスキ(Jakub Kicinski)が書いたプルリクエストは、そのまま記録として残した。

「終わりの見えない混乱が続いている。ドライバーの差し戻しは計算に入れても、これは前時代の水準に照らして相当な規模だ。最悪の状態はまだ来ていないとは思う。ただ良いニュースもある——AIが報告して人間が修正した、というケースをほとんど見ていない」

「良いニュース」と書きながら、その内容が楽観とは読めない。

AIが発見した問題を人間がまだ修正しきれていない状況がなかったというだけで、「だから平気だ」という意味ではない。むしろ、水面下で圧力がかかり続けている段階とも読める。

Sashikoという変数

この文脈で外せないのが、Linuxカーネルに導入されたAIコードレビューシステム「Sashiko」だ。Googleが開発し、Linux Foundationに寄贈したこのツールは現在、ほぼ全カーネルパッチを対象に稼働している。

もともとネットワーキングやBPFのサブシステムで使われていたAIレビューの仕組みを、統一インターフェースに集約したものだ。Googleの発表によれば、直近1,000件の既知の不具合を対象とした測定で 53%を検出 したという。「その問題の100%を人間のレビューアが見逃していた」という追記が、この数字の意味を変える。

ただし、Sashikoの検出能力が上がるほど、発見される問題の数も増える。修正のペースがそれに追いついていない場合、バグ報告だけが積み上がっていく。キチンスキの言葉にある「混乱」の一端は、ここに源がある。


今回マージされた修正の内容

187ファイル、4,442件の追加と1,277件の削除からなるこのパッチセットは、複数の層にまたがっている。

現行リリースの修正としては、Bluetoothドライバー(btmtk)のWMT FUNC_CTRLイベント処理、vsock/virtioのメモリ制限の調整が含まれる。現行リリースのリグレッションでは、InfiniBand(インフィニバンド)ドライバーがロック変更の影響でmlx5などを使う際に非同期モードを強制されるようになった問題が対処された。

過去リリースへのさかのぼり修正も広範囲に及ぶ。UDPのGSO(Generic Segmentation Offload)に関するセグメント長の誤り、AF_UNIXソケットでのユーザー空間フォールト読み取り問題、TCPの ISN予測リーク などが含まれる。

セキュリティ研究者とSashikoが報告した問題を受け、batman-adv(メッシュ無線ネットワーク)に大量の修正が入った。netfilterにもセキュリティ系の修正が複数含まれる

batman-advとnetfilterへの集中的な修正は、発見側(AIとセキュリティ研究者)と修正側(メンテナー)の間で何とか釣り合いが取れている現状を示している——今のところは。


削除されたはずのドライバーが帰ってきた

今回のコミットには、静かな副題がある。

3ヶ月前のLinux 7.1開発サイクルで、ネットワークサブシステムの整理として削除されたドライバーがある。1990年代の 10BASE-Tイーサネットカード 向けの「3c509」ドライバーだ。現代の環境ではほぼ使われておらず、メンテナーも不在だったため削除の判断は合理的だった。

今回のコミットの「その他」欄に1行あった。

「古い3c509ドライバーを戻す。マチェイが維持したいと言っている」

マチェイ・ロジツキ(Maciej W. Rozycki)が手を挙げた。MAINTAINERS記録でも、ロジツキ氏の名前が3c509担当として更新されている。1,543行のコード変更量がdiffstatに並ぶ。

削除と復活。ただそれだけなら微笑ましい話だが、背景を重ねると少し違って見える。AIがバグを見つけ、古いコードが問題を起こし、削除されたドライバーが戻ってくる——Linuxカーネルの開発が、AIという新しい変数を抱えながら、どこへ向かっているのか。キチンスキの言葉が引っかかるのはそのためだ。


「AIが報告して人間が修正した例がほとんどない」の意味

この言葉は二重に読める。

一方では安堵だ。AIが生成したバグ報告をそのまま人間が修正した「AIから人間へのリレー」がまだ確立していないため、品質管理が人間の手にある、という解釈ができる。

もう一方では警告だ。現状はAIが問題を見つけても、修正は人間が独立して行っている——だが、そのループがいつまで機能するかは分からない。Sashikoが53%の問題を発見できるなら、今後その比率は上がる。修正側の帯域は変わらないまま発見側だけが加速すれば、「終わりの見えない混乱」は文字通りに終わらない。

3c509ドライバーの復活には、もう一つの問いが宿っている。誰かが「維持する」と手を挙げれば、古いコードも生き延びる。では誰もいなくなったとき、AIはその穴を埋めるのか・・・それとも、問題を報告し続けるだけなのか。


参照元

関連記事

この記事を共有する

Read more