Artifact Analysis 提供两项用于扫描容器的功能:按需扫描和自动扫描。本文档介绍了每种方式的优势。Artifact Analysis 还提供元数据管理功能。如需详细了解如何结合使用扫描和元数据存储来端到端保护 CI/CD 流水线,请参阅Artifact Analysis 概览。
按需扫描和自动扫描可以识别操作系统和语言包(Java 和 Go)中的漏洞。不过,自动扫描语言包功能仅适用于 Artifact Registry。
如需查看每种注册库产品支持的扫描类型列表,请查看对比图表。如果您使用的是 Container Registry,请了解如何改换为 Artifact Registry。
如需详细了解与扫描容器映像相关的费用,请参阅价格。
按需扫描
借助按需扫描功能,您可以使用 gcloud CLI 在计算机本地或注册表中扫描容器映像。这样一来,您就可以根据需要访问漏洞结果的时间,灵活自定义 CI/CD 流水线。
自动扫描
Artifact Analysis 会对 Artifact Registry 或 Container Registry 中的工件执行漏洞扫描。Artifact Analysis 还会监控漏洞信息以使其保持最新。此过程包括两个主要任务:推送时扫描和持续分析。
推送式扫描
Artifact Analysis 会在新映像上传到 Artifact Registry 或 Container Registry 时扫描这些映像。此扫描可提取有关容器中系统软件包的信息。系统只会根据映像的摘要扫描映像一次。这意味着,添加或修改标记不会触发新的扫描,只会更改图片的内容。
Artifact Analysis 只会检测公开监控的软件包是否存在安全漏洞。
完成映像扫描后,生成的漏洞结果是该映像的漏洞发生实例的集合。
持续分析
Artifact Analysis 会为在您上传映像时发现的漏洞创建漏洞发生实例。初始扫描后,它会持续监控 Artifact Registry 和 Container Registry 中已扫描映像的元数据,以发现新漏洞。
Artifact Analysis 每天都会多次从漏洞来源接收新的和更新后的漏洞信息。收到新漏洞数据时,Artifact Analysis 会更新已扫描映像的元数据,使其保持最新。Artifact Analysis 会更新现有漏洞发生实例,为新备注创建新的漏洞发生实例,并删除不再有效的漏洞发生实例。
Artifact Analysis 只会更新过去 30 天内推送或拉取的映像的元数据。30 天后,元数据将不再更新,结果将过时。此外,Artifact Analysis 会归档过时超过 90 天的元数据,这些元数据将无法在 Google Cloud 控制台、gcloud 或通过 API 中获取。如需重新扫描包含过时或归档元数据的映像,请拉取该映像。 刷新元数据最多可能需要 24 小时。
清单列表
您还可以将漏洞扫描与清单结合使用。清单列表是指向多个平台清单的指针列表。借助这些映像,单个映像可以与多个架构或操作系统变体搭配使用。
Artifact Analysis 漏洞扫描仅支持 Linux amd64 映像。如果您的清单列表指向多个 Linux amd64 映像,系统只会扫描第一个映像;如果没有指向 Linux amd64 映像的指针,您将不会获得任何扫描结果。