近期,一份由Black Duck發布的《2025年開源安全分析報告》揭示了商業代碼庫中的嚴峻安全現狀。報告顯示,高風險和過時的開源軟件組件在商業代碼庫中泛濫,成為安全漏洞頻發的主要原因。
這份報告深入分析了來自16個不同行業的965個商業代碼庫,結果令人震驚。高達97%的代碼庫中均含有開源組件,而其中的86%更是包含了易受攻擊的開源組件。特別值得注意的是,jQuery庫中的過時漏洞問題尤為突出,成為安全隱患的重災區。復雜的依賴關系和許可證沖突進一步加劇了這一風險。
自2020年以來,應用程序中的平均開源文件數量激增了兩倍,從5386個上升到16082個。這一增長趨勢不僅未能帶來安全性的提升,反而使得81%的代碼庫中都包含了高危或嚴重的漏洞。報告指出,十大最常見的高危漏洞中,有八個都與jQuery Java庫相關。其中,CVE-2020-11023和CVE-2020-11022這兩個跨站腳本(XSS)漏洞尤為普遍,存在于超過三分之一的代碼庫中。盡管這些漏洞的補丁早在2020年4月就已發布,但它們仍然廣泛存在于商業代碼庫中,凸顯了更新和維護開源組件的重要性。
報告還發現,64%的開源組件是通過傳遞依賴項引入的。這一多層依賴關系不僅增加了安全漏洞的風險,還帶來了法律風險。近一半的高危和嚴重漏洞源于傳遞依賴項,而近30%的許可證沖突也同樣來自傳遞依賴項。總體而言,56%的代碼庫都存在許可證沖突問題,這可能引發法律糾紛并導致產品上市延遲。
更令人擔憂的是,商業代碼庫中對過時開源組件的依賴程度驚人。報告顯示,90%的代碼庫使用了超過四年未更新的開源組件,91%的代碼庫使用了兩年內未進行新開發的組件,而90%的代碼庫則使用了比最新版本落后10個以上版本的組件。這些過時組件的存在無疑為黑客提供了可乘之機,增加了安全攻擊的風險。
面對這一嚴峻形勢,Black Duck建議組織采取積極措施來加強開源組件的管理。組織應密切關注項目網站和代碼庫,及時獲取最新的安全信息和漏洞補丁。同時,使用包管理器、自動化監控工具和版本跟蹤工具等技術手段,實現對開源組件的全面監控和管理。雖然保持所有軟件組件100%最新可能不太現實,但主動管理和修復已知漏洞是確保代碼庫安全的關鍵。