Veja o estado do VEX

Este documento descreve como ver as declarações da Vulnerability Exploitability eXchange (VEX) armazenadas na análise de artefactos e filtrar vulnerabilidades através do estado da VEX.

Os responsáveis pela segurança e aplicação de políticas podem usar estas funcionalidades para dar prioridade às tarefas de mitigação de problemas de segurança. Também pode usar dados VEX para atestar a composição dos seus artefactos e ajudar a sua organização a cumprir os requisitos regulamentares.

Funções necessárias

Para receber as autorizações de que precisa para carregar avaliações VEX e verificar o estado VEX das vulnerabilidades, peça ao seu administrador que lhe conceda as seguintes funções de IAM no projeto:

Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.

Veja o estado da VEX na Google Cloud consola

Para ver informações VEX de imagens de contentores armazenadas no Artifact Registry:

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

    Abra a página Repositórios

    A página apresenta 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.

    É apresentada uma lista dos resumos das imagens.

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

    É apresentada uma página de detalhes do resumo com uma linha de separadores. Por predefinição, o separador Vista geral está aberto.

  5. Na linha de separadores, selecione o separador Vulnerabilidades.

    A página apresenta uma vista geral dos Resultados da análise com uma secção Estado da VEX.

    A secção de resumo Estado da VEX apresenta o número de pacotes categorizados por cada tipo de estado da VEX. Para ver todos os pacotes com um estado VEX específico, clique no número junto ao tipo de estado.

    O separador Vulnerabilidades também apresenta o estado da VEX para 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 quer usar para filtrar a lista.

Veja o estado da VEX no Cloud Build

Se estiver a usar o Cloud Build, também pode ver informações da VEX no painel lateral Estatísticas de segurança na Google Cloud consola.

Se estiver a usar o Cloud Build, pode ver os metadados das imagens no painel lateral Estatísticas de segurança na Google Cloud consola.

O painel lateral Estatísticas de segurança oferece uma vista geral das informações de segurança de compilação para artefactos armazenados no Artifact Registry. Para saber mais acerca do painel lateral e como pode usar o Cloud Build para ajudar a proteger a sua cadeia de fornecimento de software, consulte Veja informações de segurança da compilação.

Veja-o através da CLI gcloud

A secção seguinte explica como obter informações VEX e aplicar filtros para limitar os resultados com base nas suas necessidades.

Veja informações VEX de um único artefacto

Para ver as informações VEX carregadas, pode consultar a API e listar notas com o tipo de nota VULNERABILITY_ASSESSMENT.

Use a seguinte chamada da API para pedir todas as notas de avaliação de vulnerabilidades para o 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

Onde

  • LOCATION é a região ou a localização multirregional do seu repositório.
  • PROJECT_ID é o ID do projeto onde a sua imagem está armazenada num repositório do Artifact Registry. Google Cloud
  • 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:.

Filtre vulnerabilidades por estado VEX

Com o gcloud, pode filtrar os metadados de vulnerabilidade por estado VEX. A análise de artefactos filtra com base no estado armazenado em cada ocorrência de vulnerabilidade do Grafeas.

Execute o seguinte comando para filtrar ocorrências de vulnerabilidades com base num estado 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 estado de VEX pelo qual filtrar, que pode ser um dos seguintes valores: known_affected, known_not_affected, under_investigation ou fixed.

Por exemplo, execute o seguinte comando para filtrar ocorrências de vulnerabilidades com o estado VEX AFFECTED:

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

Liste vulnerabilidades sem VEX

Para identificar as vulnerabilidades que 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 a localização multirregional do seu repositório.
  • PROJECT_ID é o ID do projeto onde a sua imagem está armazenada num repositório do Artifact Registry. Google Cloud
  • 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 carregamento de declarações VEX só é suportado para imagens de contentores.
  • Não é possível exportar declarações VEX carregadas para as normas CSAF, OpenVex ou SPDX.

O que se segue?