越來越多開源項目停更,Java 生態(tài)受影響最大
Sonatype 發(fā)布了最新的一份《軟件供應(yīng)鏈狀況》報告,深入探討了如何在充滿選擇的世界中定義更好的軟件,并探討人工智能 (AI) 對軟件開發(fā)的深遠(yuǎn)影響;還研究了開源供應(yīng)、需求和安全之間錯綜復(fù)雜的相互作用。
報告跟蹤了 Java (Maven)、JavaScript (npm)、Python (PyPI)、.NET (NuGet Gallery) 四大開源生態(tài)系統(tǒng)的開源應(yīng)用增長情況。2022 年至 2023 年間,可用開源項目的數(shù)量平均增長了 29%。2023 年,開源項目平均發(fā)布了 15 個可供使用的版本,不同開源注冊中心的特定生態(tài)系統(tǒng)平均有 10 到 22 個版本。這意味著每個月都會發(fā)布 1-2 個新版本,在觀察到的生態(tài)系統(tǒng)中總共發(fā)布了 6000 萬個新版本。
每個受檢測的生態(tài)系統(tǒng)都表現(xiàn)出一致的項目增長率,平均同比增長率高達 29%。
但隨著開源組件供應(yīng)量的持續(xù)增長,其需求卻未能與之同步。在過去兩年中,下載量的增長率逐漸下降。2023 年的平均增長率為 33%,與 2021 年 73% 的增長率相比大幅下降。
與此同時,開源軟件安全問題沒有放緩的跡象。截至 2023 年 9 月,研究團隊共發(fā)現(xiàn)了 245,032 個惡意軟件包,是往年總和的 2 倍。八分之一的開源下載存在已知風(fēng)險,且仍有 23% 的 Log4j 下載存在嚴(yán)重漏洞。
開源項目的主動維護也變得越來越少。研究表明,去年有近五分之一(18.6%)的項目停止維護,影響了 Java 和 JavaScript 生態(tài)系統(tǒng)。只有 11% 的開源項目實際上得到了積極維護。盡管存在這些缺陷,但 Sonatype 仍然表示,近 96% 存在已知漏洞的組件下載可以通過選擇無漏洞版本來避免。
就軟件開發(fā)中的人工智能而言,97% 的受訪 DevOps 和 SecOps 領(lǐng)導(dǎo)者表示,他們目前在工作流程中某種程度上使用了人工智能,大多數(shù)人每天使用兩個或更多工具。去年,企業(yè)環(huán)境中 AI 和 ML 組件的采用率增加了 135%。
研究還發(fā)現(xiàn),企業(yè)自認(rèn)為的安全程度與實際情況之間存在脫節(jié)。67% 的公司表示,他們確信自己的系統(tǒng)中沒有來自漏洞庫的代碼,但今年有 10% 的公司因漏洞組件而遭遇安全漏洞。39% 的公司可以在 1 到 7 天的時間內(nèi)發(fā)現(xiàn)漏洞,29% 的公司需要一周以上的時間,28% 的公司只需要不到一天的時間。