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