首页 > 其他分享 >技术文档 | 免下载、0配置、多任务并发,在Docker Image中使用OpenSCA

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

时间:2023-09-11 14:08:06浏览次数:46  
标签:opensca cli src -- Image OpenSCA ti Docker

想跳过下载步骤快速使用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,参与我们的开源安全共建计划,与社区成员共同建设充满可能性的开源解决方案。

标签:opensca,cli,src,--,Image,OpenSCA,ti,Docker
From: https://blog.51cto.com/u_15951902/7435392

相关文章

  • docker安装mysql
    Docker环境下安装mysql总的来说,不推荐把mysql安装到docker下。首先是数据安全性问题:将mysql安装到docker容器,除了需要处理mysql的问题,还要考虑docker环境自身的问题,多了个docker,相当于平白无故多了一些风险项。其次是项目实施问题:首先,mysql大部分人会,但是不......
  • Docker nginx 配置 SSL 证书 cannot load certificate
    错误原因分析:cannotloadcertificate"/etc/nginx/test.com.crt":BIO_new_file()failed(SSL:error:02001002:systemlibrary:fopen:Nosuchfileordirectory:fopen('/etc/nginx/test.com.pem','r')error:2006D080:BIOroutines:BIO_new_file......
  • 8 个 Docker 关键命令
    Docker容器将应用程序配置收集到可以在各种环境中无缝运行的单元中。Docker提供了各种命令来执行其操作。您可以使用这些命令轻松创建、运行、停止、删除和管理Docker容器。1、dockerpull使用Dockerpull命令从注册表下载Docker镜像。DockerHub上有许多预构建的镜像,您可以在不......
  • docker 学习笔记
    1、基本命令dockerversion#查看docker的版本信息dockerinfo#查看docker的系统信息,包括镜像和容器数量docker命令--help#查看命令帮助文档命令的帮助文档地址:https://docs.docker.com/engine/reference/commandline/docker/ 2、镜像命令docker......
  • 基于Docker安装RockerMQ
    1、拉取RockerMQ镜像dockerpullapache/rocketmq2、创建namesrv服务mkdir-p/usr/local/rocketmq/data/namesrv/logs/usr/local/rocketmq/data/namesrv/store3、构建namesrv容器 dockerrun-d\--restart=always\--namermqnamesrv\--privileged=true\-p98......
  • Centos7环境下Docker搭建vulhub
    @[toc]Docker是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。varcode="7ba6071e-929c-4a38-8b5d-49be072baba6"vulnhub是个提供各种漏洞平台的综合靶场,可供下载多种虚拟机......
  • Navicat连接Docker创建的MySQL运行实例
    一步步教你在Docker中安装MySQL(qq.com)Docker部署MySql应用-魔鬼YU天使-博客园(cnblogs.com)拉取MySQL镜像我们可以通过Docker提供的命令,直接从DockerHub上拉取MySQL的官方镜像。打开终端,输入如下命令:dockerpullmysql:8.0其中,:8.0表示我们需要下载的MySQL版本,你也......
  • 安装基于WSL2的Docker Hub
    windows10使用wsl2安装docker_Aurora-vv的博客-CSDN博客排雷|WSL2+docker安装若干问题与解法(qq.com)整个安装过程的原理是:windows使用docker,必须先安装一个Linux虚拟机,才可运行docker,而采用wsl2安装虚拟机是目前最好的方法1安装WSL2控制面板->程序->启用或关闭Windows功......
  • Docker的网络模式简介
    1)docker网络常用命令查看docker的网络模式dockernetworklsdocker网络常用命令参数connect #连接容器到网络create#创建网络disconnect#断开容器与网络的连接inspect#显示一个或多个网络的详细信息ls#列出所有网络prune#删除所有未使用的......
  • 达梦数据库教程:docker安装DM8数据库
    安装前准备软硬件版本终端X86-64架构Docker2023年6月版下载Docker安装包请在达梦数据库官网下载Docker安装包。导入安装包拷贝安装包到/opt目录下,执行以下命令导入安装包:dockerload-idm8_20230808_rev197096_x86_rh6_64_single.tar结果显示如下:导入完成后,可以使用doc......