推出容器镜像扫描

目录

容器镜像是打包和部署应用程序的流行方式。这些是现代云原生世界中的可部署制品。然而,它们通常包含漏洞和恶意包。传统的容器镜像扫描工具专注于容器镜像的漏洞(CVE)识别。然而,恶意或被篡改的包没有 CVE。为了防范漏洞和恶意包的风险,必须对可部署的容器镜像进行安全风险评估。vet 现在支持使用 --image 标志扫描容器镜像。

扫描本地镜像

本地 docker 服务器目录中可用的容器镜像可以通过以下命令扫描:

shell
vet scan --image redis:latest

扫描远程镜像

vet 会在容器镜像不在本地 docker 服务器目录中时拉取镜像数据。

shell
vet scan --image redis:latest

扫描本地 Tar 包

导出的容器镜像可以通过以下命令扫描:

shell
vet scan --image /path/to/image.tar

可以使用 tarball 命令创建此 docker save。当您想要扫描本地 docker 服务器目录中不可用的容器镜像时,这非常有用。

shell
docker save redis:latest -o image.tar

恶意包扫描

容器扫描可以与恶意软件检测结合使用,只需添加 --malware 标志。它还支持多种报告格式,包括 --report-cdx--report-json,用于生成标准化输出。

shell
vet scan --image redis:latest --malware
shell
vet scan --image redis:latest --report-cdx=report.cdx.json

策略驱动的容器扫描

vet 被设计为策略优先。它使用基于通用表达式语言的策略引擎来允许灵活的策略。例如,要防止包含恶意软件或严重漏洞的容器被部署,您可以使用以下策略运行 vet

shell
vet scan --image redis:latest --malware --filter 'vulns.critical.exists(p, true)' --filter-fail

注意:​ 检测到恶意包时,vet 将始终失败。

其他扫描选项

有关将 vet 与容器扫描结合使用的更多详细信息,请参阅文档

演示

Bug 与反馈

发现了 bug 或有建议?我们非常乐意听取您的意见!请在我们的 vet GitHub 仓库 中提交 issue。要讨论 vet 和其他 SafeDep 工具,请加入我们友好的开发者社区 Discord。我们始终很高兴能与志同道合的开发者交流,听取您的想法!

  • container-scanning
  • malware
  • security

SafeDep 博客的最新动态

关注以获取开源安全与工程方面的最新更新和见解