En este documento, se describe cómo ver las declaraciones de Vulnerability Exploitability eXchange (VEX) almacenadas en Artifact Analysis y filtrar las vulnerabilidades según el estado de VEX.
Los encargados de aplicar la seguridad y las políticas pueden usar estas funciones para priorizar las tareas de mitigación de problemas de seguridad. También puedes usar los datos de VEX para certificar la composición de tus artefactos y ayudar a tu organización a cumplir con los requisitos reglamentarios.
Roles obligatorios
Para obtener los permisos que necesitas para subir evaluaciones de VEX y verificar el estado de VEX de las vulnerabilidades, pídele a tu administrador que te otorgue los siguientes roles de IAM en el proyecto:
-
Para ver los casos de vulnerabilidades, haz lo siguiente:
Visualizador de casos de Container Analysis (
roles/containeranalysis.occurrences.viewer
)
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.
Consulta el estado de VEX en la consola de Google Cloud
Para ver la información de VEX de las imágenes de contenedor almacenadas en Artifact Registry, haz lo siguiente:
Abre la página Repositorios de Artifact Registry.
En la página, se muestra una lista de tus repositorios.
En la lista de repositorios, haz clic en el nombre de uno.
En la lista de imágenes, haz clic en el nombre de una imagen.
Se abrirá una lista de resúmenes de imágenes.
En la lista de resúmenes, haz clic en el nombre de uno.
Se abrirá una página de detalles del resumen con una fila de pestañas. De forma predeterminada, se abre la pestaña Descripción general.
En la fila de pestañas, selecciona la pestaña Vulnerabilidades.
En la página, se muestra una descripción general de los Resultados del análisis con una sección de Estado de VEX.
En la sección de resumen Estado de VEX, se muestra la cantidad de paquetes categorizados por cada tipo de estado de VEX. Para ver todos los paquetes con un estado de VEX específico, haz clic en el número que se encuentra junto al tipo de estado.
En la pestaña Vulnerabilidades, también se muestra el estado de VEX de cada paquete en la lista de vulnerabilidades.
Para filtrar la lista de vulnerabilidades, haz lo siguiente:
- Sobre la lista de vulnerabilidades, haz clic en Filtrar vulnerabilidades.
- Elige un filtro de la lista.
- Especifica el valor que deseas usar para filtrar la lista.
Cómo ver el estado de VEX en Cloud Build
Si usas Cloud Build, también puedes ver la información de VEX en el panel lateral Estadísticas de seguridad dentro de la consola de Google Cloud .
Si usas Cloud Build, puedes ver los metadatos de la imagen en el panel lateral Estadísticas de seguridad dentro de la consola de Google Cloud .
El panel lateral Estadísticas de seguridad proporciona una descripción general de alto nivel de la información de seguridad de la compilación para los artefactos almacenados en Artifact Registry. Para obtener más información sobre el panel lateral y cómo puedes usar Cloud Build para proteger tu cadena de suministro de software, consulta Cómo ver estadísticas de seguridad de la compilación.
Cómo ver con gcloud CLI
En la siguiente sección, se explica cómo recuperar información de VEX y aplicar filtros para limitar los resultados según tus necesidades.
Cómo ver la información de VEX de un solo artefacto
Para ver la información de VEX subida, puedes consultar la API y enumerar las notas con el tipo de nota VULNERABILITY_ASSESSMENT
.
Usa la siguiente llamada a la API para solicitar todas las notas de la evaluación de vulnerabilidades del artefacto especificado:
curl -G -H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
--data-urlencode "filter=(kind=\"VULNERABILITY_ASSESSMENT\" AND vulnerability_assessment.product.generic_uri=\"https://LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/IMAGE_NAME@DIGEST\"" https://containeranalysis.googleapis.com/v1/projects/PROJECT_ID/notes
Dónde
- LOCATION es la ubicación regional o multirregional de tu repositorio.
- PROJECT_ID es el ID del proyecto Google Cloud en el que se almacena tu imagen en un repositorio de Artifact Registry.
- REPO_NAME es el nombre del repositorio de Artifact Registry que contiene la imagen.
- IMAGE_NAME es el nombre de la imagen.
- DIGEST es el resumen de la imagen, una cadena que comienza con
sha256:
.
Filtra las vulnerabilidades por estado de VEX
Con gcloud, puedes filtrar los metadatos de vulnerabilidades por estado de VEX. Artifact Analysis filtra según el estado almacenado en cada caso de vulnerabilidad de Grafeas.
Ejecuta el siguiente comando para filtrar las ocurrencias de vulnerabilidades según un estado de VEX especificado:
gcloud artifacts vulnerabilities list RESOURCE_URI \
--occurrence-filter="vulnDetails.vex_assessment.state=\"STATUS\""
Dónde
- RESOURCE_URI es la URL completa de la imagen, similar a https://LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID@sha256:HASH.
- STATUS es el estado de VEX por el que se filtrará, que puede ser uno de los siguientes valores:
known_affected
,known_not_affected
,under_investigation
ofixed
.
Por ejemplo, ejecuta el siguiente comando para filtrar las ocurrencias de vulnerabilidades con el estado de VEX AFFECTED
:
gcloud artifacts vulnerabilities list RESOURCE_URI \
--occurrence-filter="vulnDetails.vex_assessment.state=\"AFFECTED\""
Enumera las vulnerabilidades sin VEX
Para identificar qué vulnerabilidades aún no tienen información de VEX asociada, usa el siguiente comando de gcloud:
gcloud artifacts vulnerabilities list /
LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/IMAGE_NAME@DIGEST /--occurrence-filter="isNull(vulnDetails.vex_assessment.state)"
Dónde
- LOCATION es la ubicación regional o multirregional de tu repositorio.
- PROJECT_ID es el ID del proyecto Google Cloud en el que se almacena tu imagen en un repositorio de Artifact Registry.
- REPO_NAME es el nombre del repositorio de Artifact Registry que contiene la imagen.
- IMAGE_NAME es el nombre de la imagen.
- DIGEST es el resumen de la imagen, una cadena que comienza con
sha256:
.
Limitaciones
- Solo se admite la carga de declaraciones de VEX para imágenes de contenedores.
- Las declaraciones de VEX subidas no se pueden exportar a los estándares CSAF, OpenVex o SPDX.
¿Qué sigue?
- Obtén más información sobre las SBOM.
- Analiza vulnerabilidades con Artifact Analysis.