想跳过下载步骤快速使用OpenSCA检测代码风险?想实现多个项目并发扫描?
在Docker Image中使用OpenSCA即可轻松实现。一起来look look
目的
- 方便用户使用最新版本的 OpenSCA-cli
- 保证环境的一致性,消除不同操作系统对结果的影响
- 可以方便在本地维护不同版本的 OpenSCA-cli
- 方便在特定情况下并发扫描的需求
使用方法
命令行传参方式使用
检测当前目录的依赖关系
代码语言:shell复制docker run -ti --rm -v $(PWD):/src opensca/opensca-cli
使用云端数据库检测漏洞
代码语言:shell复制docker run -ti --rm -v $(PWD):/src opensca/opensca-cli -token xxxx
使用本地数据库检测漏洞
代码语言:shell复制docker run -ti --rm -v $(PWD):/src -v /localDB:/data opensca/opensca-cli -db /data/db.json
检查依赖关系并生成 SBOM
代码语言:shell复制docker run -ti --rm -v $(PWD):/src opensca/opensca-cli -out /src/output.spdx
配置文件方式使用
OpenSCA-cli Docker 镜像默认从当前 /src 目录查找 config.json 配置文件,因此若希望对每一个项目进行单独配置,只需在不同项目的根目录维护配置文件即可。
例如如下目录结构:
代码语言:shell复制.├── LICENSE├── README.md├── config.json├── pom.xml├── src│ ├── config│ └── main├── testfiles│ └── ...└── tools └── ...
config.json 内容
代码语言:shell复制{ "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": "" } ]}
完成配置后,后续扫描无需修改命令,只需修改配置文件即可,方便在 CI/CD 的 Pipeline 中使用:
代码语言:shell复制docker run -ti --rm -v $(PWD):/src opensca/opensca-cli
升级 OpenSCA-cli 镜像
可在引用时追加版本号,例如
代码语言:shell复制docker run -ti --rm -v $(PWD):/src opensca/opensca-cli:v1.0.13
或者使用 pull 命令获取最新镜像
代码语言:shell复制docker pull opensca/opensca-cli:latestdocker run -ti --rm -v $(PWD):/src opensca/opensca-cli
开源安全共建
感谢每一位开源社区成员对OpenSCA的支持和贡献。OpenSCA的代码会在GitHub和Gitee持续迭代,欢迎Star和Fork,也欢迎向我们提交ISSUE和PR,参与我们的开源安全共建计划,与社区成员共同建设充满可能性的开源解决方案。