本文档介绍如何将现有的 漏洞可利用性交流 (VEX) 声明上传到 Artifact Analysis。您还可以上传其他发布商提供的声明。
VEX 声明必须采用 JSON 格式,并遵循 通用安全建议格式 (CSAF) 2.0 标准。
所需的角色
如需获得上传 VEX 评估和检查漏洞的 VEX 状态所需的权限,请让您的管理员向您授予项目的以下 IAM 角色:
-
如需创建和更新备注,请使用:Container Analysis Notes Editor (
roles/containeranalysis.notes.editor)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
您也可以通过自定义 角色或其他预定义 角色来获取所需的权限。
上传 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。