opensca

opensca-cli 命令行

OpenSCA-cli 发行版 - Gitee.com

https://github.com/XmirrorSecurity/OpenSCA-cli/releases

首先下载编译好的包

windows下载opensca-cli_v1.0.10_Darwin_x86_64.tar.gz这个

然后把opensca解压的文件夹设置环境变量

运行命令行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
λ opensca-cli
-cache
(可选,建议开启) 缓存下载的文件(例如pom文件),重复检测相同组件时会节省时间,下载的文件会保存到工具所在目录
-config string
(可选) 指定配置文件路径,指定后启动程序时将默认使用配置参数,配置参数与命令行输入参数冲突时优先使用输入参
-db string
(可选) 指定本地漏洞库文件,希望使用自己漏洞库时可用,漏洞库文件为json格式,具体格式会在开源项目文档中给出;
-dedup用云端漏洞库与本地漏洞库,漏洞查询结果取并集,例: -db db.json
(可选) 相同组件去重
-out string
(可选) 将检测结果保存到指定文件,根据后缀生成不同格式的文件,默认为json格式,例: -out output.json
-path string
(必须) 指定要检测的文件或目录路径,例: -path ./foo 或 -path ./foo.zip
-progress
(可选) 显示进度条
-token string
(可选,与url需一起使用) 云服务验证token,需要在云服务平台申请
-url string
(可选,与token需一起使用) 从云漏洞库查询漏洞,指定要连接云服务的地址,例:-url https://opensca.xmirror.cn
-vuln
(可选) 结果仅保留有漏洞信息的组件,使用该参数不会保留组件层级结构

然后执行

token需要注册登录之后后台获取

https://opensca.xmirror.cn/pages/auth-token

project_path 项目目录

需要等待很长时间才能执行结束

1
2
3
4
opensca-cli -url https://opensca.xmirror.cn -token ${token} -path ${project_path} -out output.html

C:\Users>opensca-cli -url https://opensca.xmirror.cn -token test -path C:\Users\Downloads\test -out output2.html

最好生成的output2.html是在opensca-cli解压目录

1
2
3
4
C:\Users\tea\tools\opensca-cli_v1.0.10_Windows_x86_64
λ ls
LICENSE opensca.log opensca-cli.exe* output.html output2.html README.md

opensca idea插件

https://opensca.xmirror.cn/docs/v1/idea.html#%E5%AE%89%E8%A3%85%E6%8F%92%E4%BB%B6

打开IDEA-Settings-Plugins-搜索opensca xcheck

安装成功之后会在打印输出的位置多出来OpenSCA的选项卡

点击左侧的绿色三角就可以执行了,执行需要很久

需要在IDEA-Settings-OpenSca Setting设置URL Token

URL https://opensca.xmirror.cn

Tokentoken需要注册登录之后后台获取

https://opensca.xmirror.cn/pages/auth-token

然后点击测试链接

支持语言

支持语言 包管理器 解析文件
Java Maven pom.xml
Java Gradle .gradle .gradle.kts
JavaScript Npm package-lock.json package.json yarn.lock
PHP Composer composer.json composer.lock
Ruby gem gemfile.lock
Golang gomod go.mod go.sum
Python Pip Pipfile Pipfile.lock setup.py requirements.txt requirements.in (后两者的解析需要具备pipenv环境,需要联网。)
Rust cargo Cargo.lock
Erlang Rebar rebar.lock