想跳过下载步骤快速使用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": ""
}
]
}
完成配置后,后续扫描无需修改命令,只需修改配置文件即可,方便在 CI/CD 的 Pipeline 中使用:
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:latest
docker run -ti --rm -v $(PWD):/src opensca/opensca-cli
开源安全共建
感谢每一位开源社区成员对OpenSCA的支持和贡献。OpenSCA的代码会在GitHub和Gitee持续迭代,欢迎Star和Fork,也欢迎向我们提交ISSUE和PR,参与我们的开源安全共建计划,与社区成员共同建设充满可能性的开源解决方案。