开源组件分析工具OpenSCA
软件简介
OpenSCA 是一款开源的软件成分分析工具,用来扫描项目的第三方组件依赖及漏洞信息。
作为悬镜安全旗下源鉴 OSS 开源威胁管控产品 (opens new window) 的开源版本,OpenSCA 继承了源鉴 OSS 的多源 SCA 开源应用安全缺陷检测等核心能力,通过软件成分分析、依赖分析、特征分析、引用识别、合规分析等方法,深度挖掘组件中潜藏的各类安全漏洞及开源协议风险,保障应用开源组件引入的安全。官方地址:https://opensca.xmirror.cn/
应用场景
安全开发
- OpenSCA 开源的 IDE 开源风险检测插件,帮助个人 / 企业开发者快速定位并修复漏洞
- 开发人员友好,轻量级低成本零门槛安装
- 企业级 SCA 核心引擎,支持二次开发
安全测试
- 产品第三方开源组件的安全测试
- 提高软件产品安全性,防止应用带病上线
安全管理
- 第三方组件及供应商软件的安全准入
- 企业内部安全组件库的建立
- 软件或组件资产可视化清单梳理
- 安全部门合规审查及相关开源治理工作
项目地址
https://gitee.com/XmirrorSecurity/OpenSCA-cli
下载安装
方法1:
下载opensca的源代码到本地
git clone https://gitee.com/XmirrorSecurity/OpenSCA-cli.git opensca
如果是在Windows系统安装需要安全git:
https://git-scm.com/download/win
安装以后在gitbash输入命令:
cd opensca
go work init cli analyzer util
go env -w GOPROXY= https://goproxy.cn
go build -o opensca-cli cli/main.go
方法2:
或者访问项目地址,下载最新版本的对应系统架构的可执行程序压缩包:
https://gitee.com/XmirrorSecurity/OpenSCA-cli/
下载地址: https://golang.google.cn/dl/,到本地
.傻瓜式安装,安装路径默认C盘,可修改安装到其他路径,一直下一步到安装完成
安装成功后,打开cmd,输入命令go version
配置环境变量(此电脑-高级系统配置-环境变量-系统变量)
然后在项目文件夹打开CMD:
go work init cli analyzer util
go env -w GOPROXY= https://goproxy.cn
go build -o opensca-cli cli/main.go
检测
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
我以Windows来演示:
先下载一个有漏洞的组件:
https://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.80/
在opensca文件夹打开cmd。执行下面命令:
opensca-cli.exe -url https://opensca.xmirror.cn -token 097ead7e-f7b1-425c-82f7-d5df9813537a -path fastjson-1.2.80.jar -out output.json
其他检测样例:
仅检测组件信息
opensca-cli -path ${project_path}
连接云平台opensca-cli -url ${url} -token ${token} -path ${project_path}
或使用本地漏洞库opensca-cli -db db.json -path ${project_path}
参数说明
查看结果
组件检测结果会保存在 opensca-cli 所在目录的 output.json文件。
查看json格式,可先到 站转换https://www.sojson.com/
举例:(我自己的扫描结果)
IDE中增加插件检测:
插件添加参考链接:
https://opensca.xmirror.cn/docs/v1/plugin.html#%E6%8F%92%E4%BB%B6%E5%8A%9F%E8%83%BD
打开组件包:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!