全部产品
Search
文档中心

代码安全:软件成分分析 SCA

更新时间:Jul 23, 2026

项目引入的第三方开源组件可能包含已公开的安全漏洞,手动排查依赖树既费时又容易遗漏。软件成分分析(SCA,Software Composition Analysis)自动识别项目中的所有第三方依赖并与漏洞数据库比对,在安全风险被利用前发现并修复问题。

功能介绍

SCA 通过以下方式检测项目的开源安全风险:

  1. 依赖识别:解析项目的依赖声明文件(如 package.json、pom.xml、go.mod、requirements.txt 等),提取所有直接依赖和传递依赖。

  2. 漏洞匹配:将识别到的组件及其版本号与 CVE(Common Vulnerabilities and Exposures)漏洞数据库进行比对,确认是否存在已知安全漏洞。

  3. 风险评估:根据漏洞的 CVSS 评分和利用难度,对每个漏洞标注严重等级,并给出修复建议(如升级到安全版本)。

与 SAST 的区别

对比维度

SCA(软件成分分析)

SAST(静态应用安全测试)

检测对象

第三方开源组件及其已知漏洞

项目自身源代码中的安全缺陷

检测方式

比对漏洞数据库(CVE)

静态分析源代码逻辑

典型发现

依赖包存在远程代码执行漏洞

代码中存在 SQL 注入风险

修复方式

升级依赖版本

修改代码逻辑

SAST 的功能介绍请参见静态应用安全测试 SAST。

适用场景

  • 项目引入了大量第三方开源库,需要了解依赖的安全状况。

  • 安全合规要求定期扫描第三方组件漏洞。

  • 在代码合并前检查新引入的依赖是否存在已知漏洞。

查看 SCA 扫描结果

通过以下任一方式完成包含 SCA 的扫描任务后,可通过扫描结果页面的 SCA 页签查看软件成分分析详情:

  • 手动上传扫描:创建项目时扫描类型选择了 SCA。详细步骤请参见手动上传扫描。

  • GitLab CI 接入:Pipeline 中的扫描 Job 已执行完成。详细步骤请参见自动注册项目。

操作步骤

  1. 登录代码安全控制台。

  2. 进入项目列表页面,找到目标项目,单击操作列的查看。

  3. 进入项目详情的任务列表,单击目标扫描任务操作列的查看,进入扫描结果页面。

  4. 单击SCA页签,查看软件成分分析结果。

解读扫描结果

SCA 页签展示本次扫描识别到的第三方依赖信息和关联的安全漏洞详情。

组件概览

页面顶部以卡片形式展示本次扫描的 SCA 汇总信息,包括:

  • CVE 漏洞数:本次扫描识别到的已知漏洞总数。

  • 严重风险组件数:关联严重或高危漏洞的组件数量。

  • 风险等级分布:各风险等级下的组件与漏洞分布。

依赖包列表

列表展示项目检测到的所有第三方依赖包及其安全状况:

字段

说明

组件名称

第三方依赖包的名称(如 log4j-core、lodash)

版本

当前项目使用的组件版本

组件风险等级

基于该组件关联漏洞的最高 CVSS 评分给出的综合风险等级

CVE 漏洞等级

该组件关联漏洞的最高等级(严重、高危、中危、低危)

漏洞详情

单击具体依赖包可查看其关联的漏洞信息:

字段

说明

CVE 编号

漏洞对应的 CVE 数据库唯一标识,如 CVE-2021-44228

风险等级

严重、高危、中危或低危,基于 CVSS 评分划分

漏洞描述

漏洞的影响范围和攻击方式说明

修复建议

建议升级到的安全版本号或替代方案

风险等级说明

等级

CVSS 评分范围

处置建议

严重

9.0~10.0

可被远程利用且无需用户交互,应立即修复

高危

7.0~8.9

存在较大安全风险,建议尽快修复

中危

4.0~6.9

存在一定风险,建议随版本迭代修复

低危

0.1~3.9

风险较低,可根据实际情况评估是否修复