技术文档 | 免下载、0配置、多任务并发,在Docker Image中使用OpenSCA
想跳过下载步骤快速使用OpenSCA检测代码风险?想实现多个项目并发扫描?
在Docker Image中使用OpenSCA即可轻松实现。一起来look look
目的
-
方便用户使用最新版本的 OpenSCA-cli
-
保证环境的一致性,消除不同操作系统对结果的影响
-
可以方便在本地维护不同版本的 OpenSCA-cli
-
方便在特定情况下并发扫描的需求
使用方法
命令行传参方式使用
检测当前目录的依赖关系
docker run -ti --rm -v $(PWD):/src opensca/opensca-cli
使用云端数据库检测漏洞
docker run -ti --rm -v $(PWD):/src opensca/opensca-cli -token xxxx
使用本地数据库检测漏洞
docker run -ti --rm -v $(PWD):/src -v /localDB:/data opensca/opensca-cli -db /data/db.json
检查依赖关系并生成 SBOM
docker run -ti --rm -v $(PWD):/src opensca/opensca-cli -out /src/output.spdx
配置文件方式使用
OpenSCA-cli Docker 镜像默认从当前 /src 目录查找 config.json 配置文件,因此若希望对每一个项目进行单独配置,只需在不同项目的根目录维护配置文件即可。
例如如下目录结构:
. ├── LICENSE ├── README.md ├── config.json ├── pom.xml ├── src │ ├── config │ └── main ├── testfiles │ └── ... └── tools └── ...
config.json 内容
{ "path": "/src", "out": "/src/output.spdx", "vuln": true, "dedup": true, "progress": true, "url": "https://opensca.xmirror.cn", "token": "xxxx-xxxx-xxxx-xxxx", "origin": { "": { "dsn": "" } }, "maven": [ { "repo": "", "user": "", "password": "" } ] }
docker run -ti --rm -v $(PWD):/src opensca/opensca-cli
升级 OpenSCA-cli 镜像
可在引用时追加版本号,例如
docker run -ti --rm -v $(PWD):/src opensca/opensca-cli:v1.0.13
或者使用 pull 命令获取最新镜像
docker pull opensca/opensca-cli:latestdocker run -ti --rm -v $(PWD):/src opensca/opensca-cli