技术文档丨 OpenSCA使用攻略
“
点击蓝字 / 关注我们
”
1
OpenSCA介绍
软件成分分析(Software Composition Analysis, SCA)是Gartner定义的一种应用程序安全检测技术,该技术用于分析开源软件以及第三方商业软件涉及的各种源码、模块、框架和库等,以识别和清点开源软件的组件及其构成和依赖关系,并检测是否存在已知的安全和功能漏洞、安全补丁是否已经过时或是否存在许可证合规或兼容性风险等安全问题,帮助确保企业软件供应链中组件的安全。
OpenSCA是SCA技术原理的实现。作为悬镜安全旗下源鉴OSS开源威胁管控产品的开源版本,OpenSCA继承了源鉴OSS的多源SCA开源应用安全缺陷检测等核心能力,通过软件成分分析、依赖分析、特征分析、引用识别、合规分析等方法,深度挖掘组件中潜藏的各类安全漏洞及开源协议风险,保障应用开源组件引入的安全。
2
版本说明
最新版本:v1.0.1
3
检测能力
OpenSCA现已支持以下编程语言相关的配置文件解析及对应的包管理器,后续会逐步支持更多编程语言,丰富相关配置文件的解析。
支持语言 | 包管理器 | 解析文件 |
Java | Maven | pom.xml |
JavaScript | Npm | package-lock.json package.json |
PHP | Composer | composer.lock |
Ruby | gem | gemfile.lock |
4
产品优势
01. 丰富的语言支持,海量知识库支撑
支持主流编程语言的软件成分分析,如:Java、JavaScript、PHP、Ruby;
云平台实时的组件库/漏洞库/许可证库/特征库等海量知识库支撑。
02. 组件依赖解析,可视化SBOM分析
组件的直接依赖及间接依赖解析分析;
组件安全漏洞分析,可快速定位漏洞影响范围并及时修复
透明化SBOM(软件物料清单),助力快速梳理内部软件资产。
03. 许可合规分析,知识产权安全保障
支持主流许可证的检出;
分析开源许可证的合规性及兼容性风险
04. 企业级核心引擎,更高检出更低误报
拥有企业级SCA核心检测引擎及分析引擎;
基于海量知识库,多源SCA开源应用安全缺陷检测等算法,对特征文件进行精准识别,提高组件的检出率。
5
使用流程
OpenSCA-cli是OpenSCA的命令行工具,支持在Windows/Linux/MacOS操作系统运行使用。
Step1 下载安装
访问下面地址,下载最新版本的对应系统架构的可执行程序压缩包:
https://github.com/XmirrorSecurity/OpenSCA-cli/releases
将压缩包解压到本地任意目录下:
Step2 开始检测
opensca-cli 工具需要关联漏洞库,方可有组件漏洞检测数据。我们提供了云平台漏洞库和离线漏洞库两种关联方式,来满足用户的在线和离线使用需求。
云平台漏洞库:可关联最新的漏洞数据,通过将本地解析的组件信息(不包含代码信息)上传至OpenSCA云平台;
离线漏洞库:需要按照OpenSCA提供的漏洞库格式准备自己的漏洞库信息,无需将解析的组件信息传输到OpenSCA云平台,就可完成组件漏洞检测。
云端在线检测
(1)生成Token
访问OpenSCA官网(opensca.xmirror.cn)登录或注册进入OpenSCA云平台;
进入【认证令牌】菜单内,选择令牌到期时间,点击生成令牌,生成所需的认证令牌。
点击【复制令牌】按钮,复制令牌。认证令牌用于本地检测应用包或项目时访问云端知识库的认证,每个账号的令牌是唯一的,且有失效时间。
(2)检测应用包或项目
根据不同的操作系统环境,在命令行工具内执行如下命令:
MacOS/Linux
opensca-cli -url https://opensca.xmirror.cn -token ${token} -path ${project_path} -out output.json
Windows
opensca-cli.exe -url https://opensca.xmirror.cn -token ${token} -path ${project_path} -out output.json
本地离线检测
MacOS/Linux
opensca-cli -path ${project_path} -out output.json
Windows
opensca-cli.exe -path ${project_path} -out output.json
参数说明
url:OpenSCA云平台的url,当前为https://opensca.xmirror.cn;
token:从OpenSCA云平台申请的个人token;
path:指定检测的应用包或项目路径;
out:指定保存检测结果的文件,文件类型为json格式。
更多参数说明请访问OpenSCA官网 或OpenSCA-cli开源项目查看。
Step3 查看检测结果
组件检测结果会保存在 opensca-cli 所在目录的 output.json文件。
6
升级与卸载
升级
删除旧版本目录包,下载最新版本的安装包重新解压即可。若旧版本目录下存有检测结果文件,请自行备份。
卸载
删除旧版本目录包即可完成卸载。
7
参与开源贡献
开源文化具有"创新、开放、自由、共享、协同、绿色、民主化"等价值,通过开源的方式,可以让更多的人参与到开源安全中来,一起拥抱开源,我们将依托软件供应链安全技术,布局开源安全产业生态,以前瞻性产业视角构筑行业安全生产线,不断拓展人类认知实践的边界,在更大的范围帮助更多的企业实现开源风险治理,助力开源生态健康有序发展。
代码会在GitHub和Gitee持续迭代,欢迎Star和PR,成为我们的开源贡献者,也可提交问题或建议至Issues,我们会参考大家的建议不断完善OpenSCA开源项目,敬请期待更多功能的支持。
GitHub:
https://github.com/XmirrorSecurity/OpenSCA-cli/
Gitee:
https://gitee.com/XmirrorSecurity/OpenSCA-cli/
OpenSCA官网
https://opensca.xmirror.cn/