Conferir o status do VEX

Este documento descreve como visualizar as instruções Vulnerability Exploitability eXchange (VEX) armazenadas no Artifact Analysis e filtrar vulnerabilidades usando o status VEX.

Os responsáveis pela segurança e aplicação de políticas podem usar esses recursos para priorizar as tarefas de mitigação de problemas de segurança. Você também pode usar os dados do VEX para atestar a composição dos seus artefatos e ajudar sua organização a atender aos requisitos regulamentares.

Funções exigidas

Para ter as permissões necessárias para fazer upload de avaliações do VEX e verificar o status de vulnerabilidades do VEX, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.

Conferir o status do VEX no console do Google Cloud

Para conferir as informações do VEX para imagens de contêiner armazenadas no Artifact Registry:

  1. Abra a página Repositórios do Artifact Registry.

    Abra a página "Repositórios"

    A página exibe uma lista dos seus repositórios.

  2. Na lista de repositórios, clique no nome de um repositório.

  3. Na lista de imagens, clique no nome de uma imagem.

    Uma lista dos resumos de imagem é aberta.

  4. Na lista de resumos, clique no nome de um resumo.

    Uma página de detalhes do resumo é aberta com uma linha de guias. A guia Visão geral é aberta por padrão.

  5. Na linha de guias, selecione a guia Vulnerabilidades.

    A página mostra uma visão geral dos resultados da verificação com uma seção de status do VEX.

    A seção de resumo Status VEX mostra o número de pacotes categorizados por cada tipo de status VEX. Para conferir todos os pacotes com um status VEX específico, clique no número ao lado do tipo de status.

    A guia Vulnerabilidades também mostra o status VEX de cada pacote na lista de vulnerabilidades.

    Para filtrar a lista de vulnerabilidades:

    1. Acima da lista de vulnerabilidades, clique em Filtrar vulnerabilidades.
    2. Escolha um filtro na lista de filtros.
    3. Especifique o valor que você quer usar para filtrar a lista.

Conferir o status do VEX no Cloud Build

Se você estiver usando o Cloud Build, também poderá conferir informações do VEX no painel lateral Insights de segurança no console do Google Cloud.

Se você estiver usando o Cloud Build, poderá conferir os metadados da imagem no painel lateral Insights de segurança no console do Google Cloud.

O painel lateral Insights de segurança oferece uma visão geral de alto nível das informações de segurança do build para artefatos armazenados no Artifact Registry. Para saber mais sobre o painel lateral e como usar o Cloud Build para proteger sua cadeia de suprimentos de software, consulte Conferir insights de segurança do build.

Conferir usando a CLI gcloud

A seção a seguir explica como recuperar informações do VEX e aplicar filtros para limitar os resultados com base nas suas necessidades.

Conferir informações do VEX de um único artefato

Para conferir as informações do VEX enviadas, consulte a API e liste as notas com o tipo de nota VULNERABILITY_ASSESSMENT.

Use a seguinte chamada de API para solicitar todas as notas de avaliação de vulnerabilidade para o artefato 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

Onde

  • LOCATION é a região ou o local multirregional do repositório.
  • PROJECT_ID é o ID do projeto do Google Cloud em que a imagem está armazenada em um repositório do Artifact Registry.
  • REPO_NAME é o nome do repositório do Artifact Registry que contém a imagem.
  • IMAGE_NAME é o nome da imagem;
  • DIGEST é o resumo da imagem, uma string que começa com sha256:.

Filtrar vulnerabilidades por status do VEX

Com o gcloud, é possível filtrar os metadados de vulnerabilidade por status VEX. Filtros Artifact Analysis com base no status armazenado em cada ocorrência de vulnerabilidade do Grafeas.

Execute o comando a seguir para filtrar as ocorrências de vulnerabilidade com base em um status VEX especificado:

gcloud artifacts vulnerabilities list RESOURCE_URI \
    --occurrence-filter="vulnDetails.vex_assessment.state=\"STATUS\""

Onde

  • RESOURCE_URI é o URL completo da imagem, semelhante a https://LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID@sha256:HASH.
  • STATUS é o status do VEX a ser filtrado, que pode ser um dos seguintes valores: known_affected, known_not_affected, under_investigation ou fixed.

Por exemplo, execute o comando a seguir para filtrar ocorrências de vulnerabilidade com o status VEX AFFECTED:

gcloud artifacts vulnerabilities list RESOURCE_URI \
    --occurrence-filter="vulnDetails.vex_assessment.state=\"AFFECTED\""

Listar vulnerabilidades sem VEX

Para identificar quais vulnerabilidades ainda não têm informações VEX associadas, use o seguinte comando gcloud:

gcloud artifacts vulnerabilities list /
    LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/IMAGE_NAME@DIGEST /--occurrence-filter="isNull(vulnDetails.vex_assessment.state)"

Onde

  • LOCATION é a região ou o local multirregional do repositório.
  • PROJECT_ID é o ID do projeto do Google Cloud em que a imagem está armazenada em um repositório do Artifact Registry.
  • REPO_NAME é o nome do repositório do Artifact Registry que contém a imagem.
  • IMAGE_NAME é o nome da imagem;
  • DIGEST é o resumo da imagem, uma string que começa com sha256:.

Limitações

  • O upload de declarações VEX só é aceito para imagens de contêineres.
  • As declarações VEX enviadas não podem ser exportadas para os padrões CSAF, OpenVex ou SPDX.

A seguir