En este documento, se describe cómo ver las sentencias de Vulnerability Exploitability eXchange (VEX) almacenadas en Artifact Analysis y filtrar vulnerabilidades con el estado de VEX.
Los responsables de seguridad y aplicación de 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 vulnerabilidad, usa el 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 un repositorio.
En la lista de imágenes, haz clic en el nombre de una imagen.
Se abrirá una lista de los resúmenes de imágenes.
En la lista de resúmenes, haz clic en el nombre de un resumen.
Se abrirá una página de detalles del resumen con una fila de pestañas. De forma predeterminada, la pestaña Descripción general está abierta.
En la fila de pestañas, selecciona la pestaña Vulnerabilidades.
La página muestra una descripción general de los resultados del análisis con una sección Estado de VEX.
La sección de resumen Estado de VEX muestra la cantidad de paquetes que se categorizan según cada tipo de estado de VEX. Para ver todos los paquetes con un estado VEX específico, haz clic en el número junto al tipo de estado.
La pestaña Vulnerabilidades también 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 de filtros.
- 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 de la consola de Google Cloud.
Si usas Cloud Build, puedes ver los metadatos de las imágenes en el panel lateral Información de seguridad 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. Si deseas 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 --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 región o la ubicación multirregional de tu repositorio.
- PROJECT_ID es el ID del proyecto de Google Cloud en el que se almacena la 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:
.
Cómo filtrar vulnerabilidades por estado de VEX
Con gcloud, puedes filtrar los metadatos de vulnerabilidad 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 para 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 los casos de vulnerabilidad con el estado VEX AFFECTED
:
gcloud artifacts vulnerabilities list RESOURCE_URI \
--occurrence-filter="vulnDetails.vex_assessment.state=\"AFFECTED\""
Genera una lista de 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 región o la ubicación multirregional de tu repositorio.
- PROJECT_ID es el ID del proyecto de Google Cloud en el que se almacena la 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
- La carga de sentencias VEX solo es compatible con imágenes de contenedores.
- Las sentencias VEX subidas no se pueden exportar a los estándares CSAF, OpenVex ni SPDX.
¿Qué sigue?
- Obtén información sobre los SBOM.
- Busca vulnerabilidades con Artifact Analysis.