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