越来越多开源项目停更,Java生态受影响最大
Sonatype 发布了最新的一份《软件供应链状况》报告,深入探讨了如何在充满选择的世界中定义更好的软件,并探讨人工智能 (AI) 对软件开发的深远影响;还研究了开源供应、需求和安全之间错综复杂的相互作用。
报告跟踪了 Java (Maven)、JavaScript (npm)、Python (PyPI)、.NET (NuGet Gallery) 四大开源生态系统的开源应用增长情况。2022 年至 2023 年间,可用开源项目的数量平均增长了 29%。2023 年,开源项目平均发布了 15 个可供使用的版本,不同开源注册中心的特定生态系统平均有 10 到 22 个版本。这意味着每个月都会发布 1-2 个新版本,在观察到的生态系统中总共发布了 6000 万个新版本。
每个受检测的生态系统都表现出一致的项目增长率,平均同比增长率高达 29%。
但随着开源组件供应量的持续增长,其需求却未能与之同步。在过去两年中,下载量的增长率逐渐下降。2023 年的平均增长率为 33%,与 2021 年 73% 的增长率相比大幅下降。
与此同时,开源软件安全问题没有放缓的迹象。截至 2023 年 9 月,研究团队共发现了 245,032 个恶意软件包,是往年总和的 2 倍。八分之一的开源下载存在已知风险,且仍有 23% 的 Log4j 下载存在严重漏洞。
开源项目的主动维护也变得越来越少。研究表明,去年有近五分之一(18.6%)的项目停止维护,影响了 Java 和 JavaScript 生态系统。只有 11% 的开源项目实际上得到了积极维护。尽管存在这些缺陷,但 Sonatype 仍然表示,近 96% 存在已知漏洞的组件下载可以通过选择无漏洞版本来避免。
就软件开发中的人工智能而言,97% 的受访 DevOps 和 SecOps 领导者表示,他们目前在工作流程中某种程度上使用了人工智能,大多数人每天使用两个或更多工具。去年,企业环境中 AI 和 ML 组件的采用率增加了 135%。
研究还发现,企业自认为的安全程度与实际情况之间存在脱节。67% 的公司表示,他们确信自己的系统中没有来自漏洞库的代码,但今年有 10% 的公司因漏洞组件而遭遇安全漏洞。39% 的公司可以在 1 到 7 天的时间内发现漏洞,29% 的公司需要一周以上的时间,28% 的公司只需要不到一天的时间。
更多详情可查看完整报告:https://www.sonatype.com/state-of-the-software-supply-chain/introduction。
推荐阅读
Java新特性中的Preview功能如何运行和调试 Java 21 新特性:Unnamed Classes and Instance Main Methods Java 21 新特性:虚拟线程(Virtual Threads)
点击卡片关注我,分享一线前沿干货