Verificar pacotes do Go manualmente
Neste guia de início rápido, mostramos como extrair uma imagem de contêiner, fazer uma verificação manual com a verificação sob demanda e recuperar as vulnerabilidades identificadas para pacotes do sistema e do Go. Para seguir este guia de início rápido, você vai usar o Cloud Shell e uma imagem de exemplo do Alpine.
Antes de começar
- Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the On-Demand Scanning API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the On-Demand Scanning API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
Baixar e verificar uma imagem
Abra um Cloud Shell no projeto.
Isso abre um terminal com todas as ferramentas necessárias para seguir este guia.
Use o Docker para extrair a imagem do contêiner:
docker pull golang:1.17.6-alpineExecute uma verificação:
gcloud artifacts docker images scan golang:1.17.6-alpine --additional-package-types=GOIsso aciona o processo de verificação e retorna o nome da verificação quando ela é concluída:
✓ Scanning container image ✓ Locally extracting packages and versions from local container image ✓ Remotely initiating analysis of packages and versions ✓ Waiting for analysis operation to complete [projects/my-project/locations/us/operations/849db1f8-2fb2-4559-9fe0-8720d8cd347c] Done. done: true metadata: '@type': type.googleapis.com/google.cloud.ondemandscanning.v1.AnalyzePackagesMetadata createTime: '2022-01-11T16:58:11.711487Z' resourceUri: golang:1.16.13-alpine name: projects/my-project/locations/us/operations/f4adb1f8-20b2-4579-9fe0-8720d8cd347c response: '@type': type.googleapis.com/google.cloud.ondemandscanning.v1.AnalyzePackagesResponse scan: projects/my-project/locations/us/scans/a54f12b0-ca2d-4d93-8da5-5cf48e9e20ef
Use o nome da verificação e o valor de
scanda saída para buscar os resultados:gcloud artifacts docker images list-vulnerabilities \ projects/my-project/locations/us/scans/a54f12b0-ca2d-4d93-8da5-5cf48e9e20efA saída contém uma lista de vulnerabilidades de pacotes do Go, da biblioteca padrão do Go e do Linux. Os rótulos a seguir indicam o tipo de vulnerabilidade do Go:
packageType:GO_STDLIB. Vulnerabilidades da biblioteca padrão do Go. Isso indica que a vulnerabilidade foi encontrada na cadeia de ferramentas do Go usada para criar o binário ou na biblioteca padrão agrupada com a cadeia de ferramentas. Uma possível correção é fazer upgrade do conjunto de ferramentas de build.packageType:GO. Vulnerabilidades do pacote Go. Isso indica que a vulnerabilidade foi encontrada em um pacote de terceiros. Uma possível correção é fazer upgrade dos módulos dependentes.
Limpar
Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, siga as etapas abaixo.
- No console Google Cloud , acesse a página Gerenciar recursos.
- Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
- Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.