Este documento descreve como visualizar as declarações de Vulnerability Exploitability eXchange (VEX) armazenadas no Artifact Analysis e filtrar vulnerabilidades usando o status VEX.
Os responsáveis pela segurança e pela 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 dados da 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 ver as ocorrências de vulnerabilidade:
Visualizador de ocorrências do Container Analysis (
roles/containeranalysis.occurrences.viewer
)
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 informações do VEX sobre imagens de contêiner armazenadas no Artifact Registry:
Abra a página Repositórios do Artifact Registry.
A página exibe uma lista dos seus repositórios.
Na lista de repositórios, clique em um nome.
Na lista de imagens, clique no nome de uma imagem.
Uma lista dos resumos de imagens será aberta.
Na lista de resumos, clique em um nome.
Uma página de detalhes do resumo é aberta com uma linha de guias. Por padrão, a guia Visão geral fica aberta.
Na linha de guias, selecione Vulnerabilidades.
A página mostra uma visão geral dos Resultados da verificação com uma seção Status do VEX.
A seção de resumo Status VEX mostra o número de pacotes categorizados por cada tipo de status VEX. Para ver 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:
- Acima da lista de vulnerabilidades, clique em Filtrar vulnerabilidades.
- Escolha um filtro na lista de filtros.
- Especifique o valor que você quer usar para filtrar a lista.
Ver o status do VEX no Cloud Build
Se você estiver usando o Cloud Build, também poderá conferir as informações do VEX no painel lateral Insights de segurança no console 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 de 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 Ver insights de segurança de build.
Visualizar usando a CLI gcloud
A seção a seguir explica como recuperar informações do VEX e aplicar filtros para limitar os resultados de acordo com suas necessidades.
Conferir informações do VEX para um único artefato
Para conferir as informações do VEX enviadas, consulte a API e liste as notas com o tipo VULNERABILITY_ASSESSMENT
.
Use a seguinte chamada de API para solicitar todas as notas de avaliação de vulnerabilidade do artefato 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 o local multirregional do seu repositório.
- PROJECT_ID é o ID do projeto Google Cloud em que sua 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 VEX
Com a gcloud, é possível filtrar metadados de vulnerabilidade por status do VEX. O Artifact Analysis filtra com base no status armazenado em cada ocorrência de vulnerabilidade do Grafeas.
Execute o comando a seguir para filtrar 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 VEX a ser filtrado, que pode ser um dos seguintes valores:
known_affected
,known_not_affected
,under_investigation
oufixed
.
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 de VEX associadas a elas, 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 seu repositório.
- PROJECT_ID é o ID do projeto Google Cloud em que sua 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ó é compatível com imagens de contêiner.
- As declarações VEX enviadas não podem ser exportadas para os padrões CSAF, OpenVex ou SPDX.
A seguir
- Saiba mais sobre as listas de materiais de software (SBOMs).
- Verifique vulnerabilidades com o Artifact Analysis.