newsence

誰寫出了漏洞?深入分析 125,000 個核心漏洞

Hacker News·大約 1 個月前

這項分析探討了 Linux 核心漏洞背後的人為與企業因素,揭示了雖然 Intel 因貢獻大量程式碼而產生最多漏洞,但作者自我修復與超級審查員的存在顯著加快了漏洞發現的速度。

背景

這篇分析源自 Pebblebed 對 Linux 核心 12.5 萬個漏洞的深度研究,旨在探討漏洞產生的「人為因素」。研究指出,核心漏洞平均潛伏期為 2.1 年,而 Intel 由於貢獻了最多的程式碼,自然也成為引入最多漏洞的企業;此外,研究還定義了 117 位「超級審閱者」,他們發現漏洞的速度遠高於平均水準。

社群觀點

Hacker News 的討論對這份數據分析抱持著相當謹慎且帶有批判性的態度。許多開發者指出,單純依賴量化指標來衡量程式碼品質或開發者表現極具誤導性。有評論者直言,這種「數據驅動」的分析往往會讓決策者陷入「見樹不見林」的窘境,甚至可能被用來編造符合既定立場的敘事。例如,若僅因某位開發者引入的漏洞數量較多就將其解雇,可能會忽略該開發者實際上承擔了最複雜、最核心的子系統開發任務。這種對數據的過度解讀,被社群戲稱為可能導致像 Linus Torvalds 這樣的高產出核心人物反而成為被裁撤對象的荒謬結論。

針對企業與獨立開發者的對比,社群也提出了質疑。雖然原文認為獨立開發者仍佔據核心貢獻的半壁江山,但有留言指出,許多受雇於大型科技公司的工程師在提交程式碼時仍習慣使用個人信箱(如 Gmail 或個人網域),因此「企業接管核心」的程度可能被低估了。此外,企業貢獻者與獨立開發者的漏洞比例差異,可能源於工作內容的本質不同:企業通常負責開發龐大且複雜的驅動程式或新功能模組,而個人開發者則更多從事小規模的修補與維護,兩者的複雜度與出錯機率不可同日而語。

關於特定子系統(如 CAN 匯流排驅動)漏洞存續時間較長的現象,社群展開了有趣的技術推論。有開發者認為,這並非單純因為維護者不足,而是因為這類工業與車用系統的測試環境門檻較高,且開發者背景與傳統核心開發者不同,其心態往往傾向於「解決當下的運作問題」,而非追求長期的架構嚴謹性。同時,也有人指出這類程式碼的執行環境相對單一,導致某些隱蔽的漏洞難以在多樣化的壓力測試中現形。

最後,部分評論者對這份報告的寫作風格與統計嚴謹性表示保留。有人懷疑內容帶有強烈的人工智慧生成痕跡,且缺乏足夠的統計檢定來證明數據差異的顯著性。社群普遍認為,雖然這份研究提供了有趣的觀察視角,但若要將其轉化為具體的開發流程改進建議,仍需考慮不同子系統間的差異性,而非將漏洞視為一種標準化的商品來進行產量統計。

延伸閱讀

  • 研究者在 GitHub 上公開的原始數據與分析腳本:quguanni/kernel-archaeology。
https://pebblebed.com/blog/kernel-bugs-part2