開源組件生態蓬勃發展,重要原因是組件獨立、可復用。組件化可以大幅度提高開發效率、可測試性、可復用性、提升應用性能。
一、開源組件生態安全風險分析
近年來,開源組件生態中的漏洞數呈上漲趨勢,截至2020年,開源組件生態漏洞數3426個,較上年增加981個,同比增長40.12%。
2015-2020年開源組件生態漏洞分布
資料來源:國家互聯網應急中心、智研咨詢整理
2015-2020年,組件漏洞數量最多是Maven倉庫,漏洞數量為3533個;npm倉庫漏洞數量為2507個;Composer倉庫漏洞數量為1552個;Go倉庫漏洞數量最少,漏洞數量為348個;平均每個倉庫漏洞數量為 1413 個。
2015-2020年各組件倉庫漏洞情況
資料來源:國家互聯網應急中心、智研咨詢整理
2020年新增漏洞中,高危漏洞數量最高,數量為1826 個,占比53.3%;超危漏洞逐年遞增,數量下降至220個,占比6.42%;中危漏洞呈現平穩增長趨勢,數量為1235個,占比36.05%;低危漏洞逐年遞增,數量為145個,占比4.23%。
2015-2020年新增漏洞風險等級分布
資料來源:國家互聯網應急中心、智研咨詢整理
相關報告:智班咨詢發布的《2021-2027年中國信息安全行業市場發展模式及戰略咨詢研究報告》
2020年,Rubygems倉庫含高危以上漏洞數最多,數量為756個,占Rubygems倉庫新增漏洞的96.06%;Go倉庫含高危以上漏洞數最少,數量為79個,占Go倉庫新增漏洞的38.73%。
2020年各倉庫中含高危以上漏洞數量
資料來源:國家互聯網應急中心、智研咨詢整理
2020年各倉庫新增漏洞,平均版本漏洞數量最多的是TOP25組件,其中,Composer倉庫的組件數最多,組件數12個,占比約 5 成左右;PyPI倉庫的組件數排名第二,組件數7個。
平均版本漏洞最多TOP25組件倉庫分布
資料來源:國家互聯網應急中心、智研咨詢整理
二、開源安全風險建議
開源生態帶來的正面效應已在信息經濟生活中發揮重要影響,如何在安全可控的情況下使用開源,已成為開源生態的關鍵任務。開源安全風險防范措施應貫穿軟件開發的整個生命周期。
開源安全風險建議
資料來源:智研咨詢整理



