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解压的文件夹设置环境变量
运行命令行
代码语言:javascript复制λ 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 项目目录
需要等待很长时间才能执行结束
代码语言:javascript复制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:UsersDownloadstest -out output2.html
最好生成的output2.html是在opensca-cli解压目录
代码语言:javascript复制C:Usersteatoolsopensca-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#安装插件
打开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 |