哈佛大學創新科學實驗室(LISH)和開源安全基金會(OpenSSF)聯合釋出了迄今為止最這是針對 FOSS 使用情況的第二次普查,基於來自合作伙伴軟體組合分析(SCA)公司的資料;該資料由 Snyk、Synopsys 網路安全研究中心(CyRC)和 FOSSA 提供。彙總的資料包括在數千家公司的生產應用中使用的 50 多萬個 FOSS 庫,報告旨在闡明在應用庫層面最常用的 FOSS 包,此外還有助於保護這些專案。
「FOSS 已成為現代經濟的重要組成部分。FOSS 專案數以千萬計,其中許多都存在於我們每天使用的軟體和產品中。然而鑑於 FOSS 是以分散和分散式的方式產生,因此很難充分了解其健康、經濟價值和安全性。」
本次普查將 500 個最常用的 FOSS 軟體包分成八個不同的領域。其中包含不同的資料切片,包括 versioned/version-agnostic、npm/non-npm 包管理器、以及直接/直接和間接軟體包呼叫。例如,被直接呼叫的前 10 個 version-agnostic 的 npm JavaScript 包是:
- lodash
- react
- axios
- debug
- @babel/core
- express
- semver
- uuid
- react-dom
- jquery
以上這些以及其他頂級庫都需要密切關注是否存在任何安全問題。報告指出,這些列表「代表了我們對不同應用程式使用最廣泛的 FOSS 軟體包的最佳估計,因為時間有限,我們彙總了廣泛但並非詳盡的資料。」
研究人員希望通過提高對最常用的開源軟體包的認識,可以幫助防止下一個 Log4j 或 Heartbleed 漏洞的發生。報告的作者兼哈佛商學院助理教授 Frank Nagle ,「希望下一個 Log4j 出現在我們的名單上,我們可以在嚴重問題出現之前解決它。」
報告作者希望,通過識別"critical FOSS packages",它可以幫助刺激開發人員和終端使用者分享資料、投資和協調努力,以保護通常由一小群志願開發人員維護的關鍵開源專案的安全。
報告還得出了五個總體發現:
- 需要為軟體元件提供更標準化的命名模式。
- 包版本控制仍然存在嚴重的複雜性。
- 大多數使用最廣泛的 FOSS 都是由少數貢獻者開發的。
- 個人開發者帳戶的安全性變得越來越重要。
- 開源空間中的遺留軟體仍然存在。
報告總結稱:「這次普查工作遠非關鍵 FOSS 專案的最終結論,它代表了關於如何確定重要軟體包並確保它們獲得足夠資源和支援的更廣泛對話的開始。」