一、国内企业自主开发源代码安全状况
2024年,国内企业自主开发软件的源代码高危缺陷密度为0.55个/千行,处于历年来较低水平,但整体缺陷密度为13.26个/千行,持续升高。主要使用的编程语言为Java、C/C++和Python,注入、密码管理、日志伪造、跨站脚本、NULL引用、配置管理、输入验证、资源管理、路径遍历、API误用等10类典型安全缺陷的总体检出率为69.8%,低于前两年水平。
二、开源软件生态发展与安全状况
- 开源软件生态发展状况:2024年,主流开源软件包生态系统中开源项目总量增长23.7%,首次突破1000万;平均每个开源项目有11.5个版本。NPM和Godoc分别位列开源项目数量和增速第一。
- 开源软件源代码安全状况:2024年,检测的2262个开源软件项目的源代码中,整体缺陷密度为16.54个/千行,高危缺陷密度为0.78个/千行,高危缺陷密度处于5年来最低水平。主要使用的编程语言为Java、C/C++、JavaScript和Python。
- 开源软件公开报告漏洞状况:截至2024年底,CVE/NVD、CNNVD、CNVD等公开漏洞库中共收录开源软件相关漏洞74500个,其中10320个漏洞为2024年新增。LinuxKernel、Chromium(GoogleChrome)和MozillaFirefox等开源项目依然排在历史漏洞总数排名前20位。
- 开源软件活跃度状况:2024年,主流开源软件包生态系统中不活跃的开源软件项目数量为7453176个,占比高达74.5%,呈现出增高的趋势。版本频繁更新的项目较去年增长超1/3。
- 关键基础开源软件分析:主流开源生态中关键基础开源软件数量为5485款,近9成关键基础开源软件从未公开披露过漏洞,但存在较大的运维风险,半年内未发布过新版本的关键基础开源软件有3648款,占比为66.5%。
三、国内企业软件开发中开源软件应用状况
- 开源软件总体使用情况:2024年,平均每个软件项目使用了168个开源软件,持续增长。最流行的开源软件被38.6%的软件项目使用。
- 开源软件漏洞风险分析:2024年,存在已知开源软件漏洞的项目有1260个,占比为81.9%;存在已知高危开源软件漏洞的项目有1123个,占比为73.0%;存在已知超危开源软件漏洞的项目有883个,占比为57.4%。容易利用的漏洞的项目有885个,占比为57.5%。项目的平均已知开源软件漏洞数明显减少,已回落至五年前的水平。影响最广的容易利用漏洞存在于1/4的项目中。多个软件项目中依然存在20年前的开源软件漏洞。
- 开源软件许可协议风险分析:最流行的开源许可协议在45.9%的项目中使用,超、高危开源许可协议在21.2%的项目中使用。
- 开源软件运维风险分析:近30年前的老旧开源软件版本仍在使用,开源软件版本的使用依然混乱。
四、重点领域软件供应链安全风险专题分析
- 智能网联汽车关键部件软件供应链安全风险分析:5家主流汽车厂商的关键部件固件均存在严重的软件供应链安全风险,使用了大量第三方组件,引入了大量的已知漏洞。
- 开源大模型推理框架软件供应链安全风险分析:10款开源大模型推理框架的典型版本均存在较为严重的软件供应链安全风险,使用了大量的开源软件,引入了一系列已知漏洞。
五、总结及建议
国内软件供应链安全态势总体向好,但整体风险仍处于高位。应加快软件供应链安全标准体系的建设和落地进程,加大对重点行业软件供应链的风险排查和安全监管力度,加强组织机构的软件供应链安全管理和技术能力。