1.基本概念
软件成分分析(SCA,Software Composition Analysis)是一种对二进制软件的组成部分进行识别、分析和追踪的技术。专门用于分析开发人员使用的各种源码、模块、框架和库,以识别和清点开源软件(OSS)的组件及其构成和依赖关系,并识别已知的安全漏洞或者潜在的许可证授权问题,把这些风险排查在应用系统投产之前,也适用于应用系统运行中的诊断分析。在开源软件日益盛行的今天,开源安全威胁成为企业组织无法回避的话题,与此同时,应用交付规模和频率的正在快速增长,软件成分分析对于安全合规风险管控和安全态势感知都是必不可少的能力。
2.基本原理
SCA 的目标是第三方基础组件/可执行程序/源代码等类型的以二进制形式存储的文件,包括但不限于源代码片段或 Package,可执行的二进制组件/程序,基础 lib,tar/tgz 压缩文件,镜像/镜像层,广义的软件构建过程等等。因此,所有以二进制形式存储的文件皆可以是其分