引言
随着数字化转型逐渐成为企业选择的方向,越来越多的企业走向“软件+”模式,从使用软件到研发软件,在企业转型带来更大利润空间的同时也暗藏着风险隐患。为了快速抢占市场,研发人员在开发过程中会使用大量开源组件来缩短软件产品的交付过程。由于忽视了对安全的可控性,快速交付的产品有很大概率出现安全威胁进而造成企业损失。
为保证企业安全,守护软件供应链,悬镜推出OpenSCA对软件进行应用安全缺陷检测。OpenSCA继承了悬镜旗下产品源鉴OSS的核心技术,通过软件成分分析、依赖分析、特征分析、引用识别、合规分析等方法,深度挖掘组件中潜藏的各类安全漏洞及开源协议风险,保障应用开源组件引入的安全。
检测能力
支持语言 | 包管理器 | 解析文件 |
Java | Maven | pom.xml |
JavaScript | Npm | package-lock.json package.json yarn.lock |
PHP | Composer | composer.lock composer.json |
Ruby | Gem | gemfile.lock gems.locked |
Golang | Gomod | go.mod go.sum |
Rust | Cargo | cargo.lock |
Erlang | Rebar | rebar.lock[zrx1] |
功能概述
01.丰富的语言支持,海量知识库支撑
支持主流编程语言的软件成分分析,如:Java、JavaScript、PHP、Ruby;
云平台实时的组件库/漏洞库/许可证库/特征库等海量知识库支撑。
02. 组件依赖解析,可视化SBOM分析
组件的直接依赖及间接依赖解析分析;
组件安全漏洞分析,可快速定位漏洞影响范围并及时修复
透明化SBOM(软件物料清单),助力快速梳理内部软件资产。
03. 许可合规分析,知识产权安全保障
支持主流许可证的检出;
分析开源许可证的合规性及兼容性风险
04. 企业级核心引擎,更高检出更低误报
拥有企业级SCA核心检测引擎及分析引擎;
基于海量知识库,多源SCA开源应用安全缺陷检测等算法,对特征文件进行精准识别,提高组件的检出率。
使用流程
OpenSCA-cli是OpenSCA的命令行工具,支持在Windows/Linux/MacOS操作系统运行使用。
Step1 下载安装
访问下面地址,下载最新版本的对应系统架构的可执行程序压缩包:
https://gitee.com/XmirrorSecurity/OpenSCA-cli/
将压缩包解压到本地任意目录下:
Step2 开始检测
opensca-cli 工具需要关联漏洞库,方可有组件漏洞检测数据。我们提供了云平台漏洞库和离线漏洞库两种关联方式,来满足用户的在线和离线使用需求。
云平台漏洞库:可关联最新的漏洞数据,通过将本地解析的组件信息(不包含代码信息)上传至OpenSCA云平台;
离线漏洞库:需要按照OpenSCA提供的漏洞库格式准备自己的漏洞库信息,无需将解析的组件信息传输到OpenSCA云平台,就可完成组件漏洞检测。
云端在线检测
(1)生成Token
访问OpenSCA官网(opensca.xmirror.cn)登录或注册进入OpenSCA云平台;
进入【认证令牌】菜单内,选择令牌到期时间,点击生成令牌,生成所需的认证令牌。
点击【复制令牌】按钮,复制令牌。认证令牌用于本地检测应用包或项目时访问云端知识库的认证,每个账号的令牌是唯一的,且有失效时间。
(2)检测应用包或项目
根据不同的操作系统环境,在命令行工具内执行如下命令:
pPs:${}为参数占位符,实际检测运行命令时,请将${}替换为实际的参数值,无需带上${}
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
【示例】
本地离线检测
ps:${}为参数占位符,实际检测运行命令时,请将${}替换为实际的参数值,无需带上${}
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文件。为方便观察检出结果,可搜索json格式化网页,得到直观的检出结果。
【示例】
升级与卸载
升级
删除旧版本目录包,下载最新版本的安装包重新解压即可。若旧版本目录下存有检测结果文件,请自行备份。
卸载
删除旧版本目录包即可完成卸载。
总结
OpenSCA作为能够完成组件漏洞分析的扫描工具,对保护供应链安全起到了重要作用。目前OpenSCA最新版本更新至1.0.5,热爱开源的朋友们可点击下列地址关注最新动态。如果觉得我们不错的话,不要忘记star和pr哟~
Gitee:
https://gitee.com/XmirrorSecurity/OpenSCA-cli/
GitHub:
https://github.com/XmirrorSecurity/OpenSCA-cli/
OpenSCA官网:
发表评论
您还未登录,请先登录。
登录