技术文档 | 免下载、0配置、多任务并发,在Docker Image中使用OpenSCA

发布时间 2023-09-11 13:21:21作者: 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": ""
    }
  ]
}
完成配置后,后续扫描无需修改命令,只需修改配置文件即可,方便在 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:latestdocker run -ti --rm -v $(PWD):/src opensca/opensca-cli

 

开源安全共建

感谢每一位开源社区成员对OpenSCA的支持和贡献。OpenSCA的代码会在GitHub和Gitee持续迭代,欢迎Star和Fork,也欢迎向我们提交ISSUE和PR,参与我们的开源安全共建计划,与社区成员共同建设充满可能性的开源解决方案。