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