应用安全
SCA(软件成分分析)
别称: 开源安全, 依赖扫描
定义
对应用使用的开源与第三方组件进行自动化分析,识别已知漏洞、许可证风险以及过时或高风险依赖。
SCA 工具会解析依赖清单(package.json、pom.xml、go.mod、requirements.txt 等)、锁文件和二进制产物,生成软件物料清单(SBOM),并与 NVD、GitHub Advisory Database、OSV 等漏洞库比对。它会标记存在漏洞的版本、推荐安全的升级路径、识别传递依赖,并暴露许可证风险。现代 SCA 越来越多地引入可达性分析,以优先关注代码中真正可被利用的 CVE。常见工具包括 Snyk Open Source、Dependabot、Sonatype Nexus IQ、Mend(原 WhiteSource)、JFrog Xray 以及 OWASP Dependency-Check。
示例
- Dependabot 自动提交 PR,升级存在漏洞的 npm 包。
- 在 CI 中运行 Snyk Open Source,当存在可修复的 Critical 级 CVE 时使构建失败。
相关术语
SAST(静态应用安全测试)
在不执行代码的前提下,对源代码、字节码或二进制进行自动化分析,以发现注入、不安全 API 或弱加密等安全缺陷。
DAST(动态应用安全测试)
对运行中的应用进行黑盒安全测试,通过网络发送请求并观察响应,以发现仅在运行时才暴露的注入、认证缺陷与配置问题。
CVE(通用漏洞披露)
为每个已披露的软件或硬件漏洞分配唯一标识符的公共目录,使其能在全行业被明确引用。
DevSecOps
一种将安全责任融入 DevOps 流程的文化与实践,使团队能够持续、高效地交付安全的软件。
供应链攻击
通过攻陷可信的第三方软件、硬件或服务提供商,进而入侵其下游客户的攻击方式。
Log4Shell (CVE-2021-44228)
2021 年 12 月披露的 Apache Log4j 2 严重远程代码执行漏洞,攻击者只需让一段 JNDI 查询字符串被记入日志即可执行任意代码。