上传 VEX 声明

本文档介绍如何将现有的漏洞可利用性交流 (VEX) 声明上传到 Artifact Analysis。您还可以上传其他发布商提供的对账单。

VEX 声明必须采用 JSON 格式,并符合通用安全公告格式 (CSAF) 2.0 标准。

所需的角色

如需获得上传 VEX 评估和检查漏洞的 VEX 状态所需的权限,请让您的管理员向您授予项目的以下 IAM 角色:

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

上传 VEX 声明

运行 artifacts vulnerabilities load-vex 命令,上传 VEX 数据并将其存储在 Artifact Analysis 中:

gcloud artifacts vulnerabilities load-vex /
    --source CSAF_SOURCE /
    --uri RESOURCE_URI /

地点

  • CSAF_SOURCE 是存储在本地的 VEX 声明文件的路径。该文件必须是遵循 CSAF 架构的 JSON 文件。
  • RESOURCE_URI 可以是以下各项之一:
    • 图片的完整网址,类似于 https://LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID@sha256:HASH
    • 图片网址,类似于 https://LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID

Artifact Analysis 会将 VEX 声明转换为 Grafeas VulnerabilityAssessment 备注。

Artifact Analysis 会将漏洞评估备注存储为每个 CVE 一条备注。注释存储在 Container Analysis API 中,与指定映像位于同一项目中。

上传 VEX 声明时,Artifact Analysis 还会将 VEX 状态信息带入关联的漏洞发生实例,以便您按 VEX 状态过滤漏洞。如果 VEX 声明应用于某个映像,Artifact Analysis 会将 VEX 状态沿用到该映像的所有版本,包括新推送的版本。

如果单个版本有两条 VEX 声明,一条是针对资源网址编写的,另一条是针对关联的映像网址编写的,那么针对资源网址编写的 VEX 声明将优先处理,并会沿用到漏洞发生情况中。

后续步骤

  • 使用 VEX 确定漏洞问题的优先级。了解如何查看 VEX 声明以及按漏洞的 VEX 状态过滤漏洞。
  • 了解如何生成软件物料清单 (SBOM) 以满足合规性要求。
  • 使用 Artifact Analysis 扫描操作系统软件包和语言包中的漏洞