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 ver ocorrências de vulnerabilidades:
Visualizador de ocorrências da análise de contentores (
roles/containeranalysis.occurrences.viewer)
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:
Abra a página Repositórios do Artifact Registry.
A página apresenta uma lista dos seus repositórios.
Na lista de repositórios, clique no nome de um repositório.
Na lista de imagens, clique no nome de uma imagem.
É apresentada uma lista dos resumos das imagens.
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.
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:
- Acima da lista de vulnerabilidades, clique em Filtrar vulnerabilidades.
- Escolha um filtro na lista de filtros.
- 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_investigationoufixed.
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?
- Saiba mais sobre as SBOMs.
- Analise vulnerabilidades com a Artifact Analysis.