Este documento descreve como criar declarações de Vulnerability Exploitability eXchange (VEX).
Para cada imagem de contentor enviada para o Artifact Registry, a Artifact Analysis pode armazenar uma declaração VEX associada. A VEX é um tipo de aviso de segurança que indica se um produto é afetado por uma vulnerabilidade conhecida.
Cada extrato fornece:
- O publicador da declaração VEX
- O artefacto para o qual a declaração é escrita
- A avaliação de vulnerabilidades (estado VEX) para quaisquer vulnerabilidades conhecidas
Os publicadores de software podem criar declarações VEX para descrever a postura de segurança de uma aplicação. As declarações VEX indicam quaisquer vulnerabilidades descobertas em artefactos específicos e fornecem contexto sobre o respetivo impacto nos clientes ou nos organismos reguladores.
Os responsáveis pela aplicação de políticas e segurança podem usar o estado VEX para avaliar os riscos nas respetivas cadeias de fornecimento de software e usar declarações VEX para atestar a composição dos respetivos artefactos, de modo a ajudar as organizações a cumprir os requisitos regulamentares.
Estado da VEX
O estado da VEX indica se um artefacto é afetado por uma vulnerabilidade conhecida.
O estado pode ser um dos seguintes:
- Não afetado: não é necessária nenhuma correção relativamente a esta vulnerabilidade.
- Afetado: são recomendadas ações de remediação.
- Corrigido: nesta versão do produto, foi aplicada uma correção para resolver a vulnerabilidade.
- Em investigação: o estado deste produto ainda não foi determinado. O publicador vai fornecer um estado atualizado numa versão posterior.
Antes de começar
-
Sign in to your Google Account.
If you don't already have one, sign up for a new account.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Container Analysis, Artifact Registry APIs.
-
Install the Google Cloud CLI.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro, tem de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Container Analysis, Artifact Registry APIs.
-
Install the Google Cloud CLI.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro, tem de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init
- Ter imagens de contentores armazenadas num repositório do Artifact Registry ou criar um repositório e enviar as suas imagens.
-
Para criar e atualizar notas:
Editor de notas da análise de contentores (
roles/containeranalysis.notes.editor
) - PRODUCT_NAME Nome do produto legível para a imagem. Aceita um valor de string. O valor deve ser o nome canónico completo do produto, incluindo o número da versão e outros atributos.
- LOCATION é a região ou a localização multirregional do seu repositório.
- PROJECT_ID é o ID do projeto que contém o seu repositório.
- REPO_NAME é o nome do seu repositório do Docker no Artifact Registry.
- IMAGE_NAME é o nome da imagem.
- CVE_ID é o identificador da vulnerabilidade, como
CVE-2017-11164
. - PRODUCT_STATUS é a avaliação do risco de segurança.
A análise de artefactos suporta quatro tipos de estado:
known_affected
,known_not_affected
,under_investigation
efixed
. - Carregue declarações VEX, as suas declarações VEX existentes ou declarações VEX fornecidas por outros publicadores.
- Priorize problemas de vulnerabilidade com o VEX. Saiba como ver declarações VEX e filtrar vulnerabilidades por estado VEX.
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.
Crie declarações VEX
A análise de artefactos suporta a norma Common Security Advisory Format (CSAF) 2.0 em JSON. Para produzir uma nova declaração VEX, use o esquema CSAF.
Segue-se um exemplo de uma declaração VEX para uma imagem no Artifact Registry
com uma ramificação cve
para uma vulnerabilidade conhecida.
Tem de definir o valor de product_status
para cada CVE.
{
"document": {
"csaf_version": "2.0",
"lang": "en-US",
"publisher": {
"name": "Sample-Company",
"namespace": "https://sample-company.com"
},
"title": "Vex document 1.1"
},
"product_tree": {
"branches": [
{
"name": "https://LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/IMAGE_NAME",
"product": {
"name": "PRODUCT_NAME",
"product_id": "IMAGE_NAME"
}
}
]
},
"vulnerabilities": [
{
"cve": "CVE_ID",
"product_status": {
"PRODUCT_STATUS": [
"IMAGE_NAME"
]
}
}
]
}
Onde
Para cada vulnerabilidade que quer incluir na sua declaração VEX, tem de
criar um ramo cve
e definir o valor de product_status
.
O valor do campo name
em product_tree.branches.name
é o URI da imagem. A inclusão deste valor associa a declaração VEX a uma imagem do Docker específica.