近年来,开源代码在软件制品中的占比越来越大,开源软件已然成为软件供应链的重要组成部分。由于其特殊性,开源代码的引入增加了软件应用的风险面,增强了软件供应链安全的脆弱性,一些重大漏洞带来的大范围负面影响可持续数年。
- 2020 年 12 月,SolarWinds 软件被植入恶意的后门应用程序,导致包括美国国家安全局和美国能源部在内的数千家机构受到影响;
- 2021 年 12 月,log4j2 漏洞爆发,影响6万+流行开源软件及全球70%以上的企业线上业务系统;
- 2022 年 3 月,Spring4Shell 漏洞爆发,对该漏洞的利用波及全球近五分之一的公司。
开源风险治理是软件供应链安全治理中至关重要的一环。当前,最常见的开源风险治理方案是依托 SCA(Software Composition Analysis,软件成分分析)技术对代码中引入的开源组件进行组件依赖梳理和漏洞风险分析。
今天马建仓就为大家推荐一款优质的开源 SCA 工具,希望帮助你和你的项目更好地管理开源风险。
项目名称: OpenSCA
项目作者: 悬镜安全
开源许可协议: Apache 2.0
项目地址:gitee.com/XmirrorSecu…
项目简介
OpenSCA用于识别和清点代码中引入的开源组件及对应依赖关系,并检出对应的安全漏洞及许可证合规风险。
项目优势
- 开源引擎:分析引擎完全开源,解析过程完全在本地执行,离线也可使用。
- 轻量易用:无需配置任何环境,可按需选用命令行、IDE 或 VSCode 插件形式检测,速度快、占用低。
- 自主配置:支持自主配置本地漏洞库(兼容JSON、MySQL、SQLite、Redis、Postgres等格式)或使用云漏洞库服务;可按需配置Maven私服库。
- 多种格式结果报告:可输出 JSON、XML、CSV、SQLite格式检测报告,HTML可视化报告 SPDX/CycloneDX/SWID标准格式 SBOM 清单。
如何使用
OpenSCA 支持 Linux、Windows 及 Mac,访问仓库下载对应系统架构的可执行文件压缩包,解压后直接使用一条命令执行检测即可:
(也可以下载源码自行编译,具体可访问仓库:gitee.com/XmirrorSecu…)
- 仅检测组件信息:
opensca-cli -path ${project_path}
- 使用云漏洞库服务:
opensca-cli -url https://opensca.xmirror.cn -token ${token} -path ${project_path}
- 或使用本地漏洞库:
opensca-cli -db db.json -path ${project_path}
生成的结果报告可通过参数及后缀控制,包含项目中的开源组件及其依赖路径、漏洞信息、许可证信息等,协助代码安全管理。以下为HTML可视化报告示例:
如果想了解更多0成本开源风险治理方案的详情,欢迎前往Gitee仓库获取更多信息并下载使用:gitee.com/XmirrorSecu…