Grype:容器镜像漏洞扫描,一行命令搞定

做安全扫描这件事,很多团队的现状是:知道重要,但嫌麻烦。装一堆工具,配置一堆规则,扫完还得人工过滤误报。Grype 这个工具把这件事简化到了极致——一行命令,扫描容器镜像或本地文件夹,直接告诉你哪些依赖有漏洞

项目来自 Anchore 公司,GitHub 上已经拿到 1.2 万 Star,Apache-2.0 协议,代码完全开源。

正文顶部截图

它能扫什么

Grype 支持的扫描目标覆盖面很广:

  • 容器镜像:Docker、OCI、Singularity 格式都支持
  • 本地文件夹:直接指向项目目录就行
  • SBOM 文件:配合 Syft 生成的软件物料清单,扫描速度更快

操作系统层面,Alpine、Debian、Ubuntu、RHEL、Oracle Linux、Amazon Linux 这些主流发行版全包了。语言包方面,Ruby、Java、JavaScript、Python、.NET、Go、PHP、Rust 也都在支持列表里。

简单说,你的项目不管用什么技术栈,Grype 大概率都能扫。

用法有多简单

安装就一行:

curl -sSfL https://get.anchore.io/grype | sudo sh -s -- -b /usr/local/bin

扫描容器镜像:

grype alpine:latest

扫描本地项目:

grype ./my-project

扫描 SBOM:

grype sbom:./sbom.json

没有复杂的配置文件,没有前置的注册流程。装完就能用,输出结果直接列出来哪些包有漏洞、漏洞严重程度、是否有已知修复方案。

README区域截图

漏洞优先级排序

光列出漏洞不够,还得知道先修哪个。Grype 集成了 EPSS(漏洞被利用的概率)和 KEV(已知被利用的漏洞库),再加上自己的风险评分,帮你排出优先级。

这个功能对运维团队很实用。几千个漏洞列表看着头疼,但真正需要马上处理的可能就几十个。Grype 帮你把这几十个挑出来。

和 Syft 配合使用

Grype 和 Syft 是同一团队出的两个工具。Syft 负责生成 SBOM(软件物料清单),Grype 负责扫描漏洞。两个工具配合起来,先用 Syft 提取依赖清单,再用 Grype 扫描,速度比直接扫镜像快不少。

而且生成的 SBOM 符合 OpenVEX 标准,可以用来过滤和补充扫描结果,在合规场景下也能派上用场。

适合谁用

如果你在做容器化部署,CI/CD 流水线里加一步 Grype 扫描,成本很低,收益明显。特别是对外交付镜像的团队,提前扫一遍能避免不少安全问题。

做安全审计的时候也方便,给一个镜像地址就能出报告,不用折腾半天环境配置。

Anchore 公司在背后持续维护,社区也有定期的线上交流会,不用担心用着用着没人管了。

镜像地址就能出报告,不用折腾半天环境配置。

Anchore 公司在背后持续维护,社区也有定期的线上交流会,不用担心用着用着没人管了。

更多推荐