Analyser manuellement les packages Go
Ce guide de démarrage rapide vous explique comment extraire une image de conteneur, l'analyser manuellement à l'aide de l'analyse à la demande et récupérer les failles identifiées pour les packages système et Go. Pour suivre ce guide de démarrage rapide, vous allez utiliser Cloud Shell et un exemple d'image Alpine.
Avant de commencer
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the On-Demand Scanning API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the On-Demand Scanning API.
Télécharger et numériser une image
Ouvrez une fenêtre Cloud Shell dans votre projet.
Un terminal s'ouvre avec tous les outils nécessaires pour suivre ce guide.
Utilisez Docker pour extraire l'image du conteneur:
docker pull golang:1.17.6-alpine
Exécutez l'analyse:
gcloud artifacts docker images scan golang:1.17.6-alpine --additional-package-types=GO
Cela déclenche le processus d'analyse et renvoie le nom de l'analyse une fois celle-ci terminée:
✓ 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
Utilisez le nom de l'analyse, la valeur de
scan
à partir de la sortie, pour récupérer les résultats de l'analyse:gcloud artifacts docker images list-vulnerabilities \ projects/my-project/locations/us/scans/a54f12b0-ca2d-4d93-8da5-5cf48e9e20ef
La sortie contient une liste de failles de Go, de la bibliothèque standard Go et des packages Linux. Les libellés suivants indiquent le type de failles Go:
packageType:GO_STDLIB
. Vulnérabilités de la bibliothèque standard Go. Cela indique que la faille a été détectée dans la chaîne d'outils Go utilisée pour créer le binaire ou dans la bibliothèque standard fournie avec la chaîne d'outils. Une solution possible consiste à mettre à niveau votre chaîne d'outils de compilation.packageType:GO
: failles des packages Go. Cela indique que la faille a été détectée dans un package tiers. Une solution possible consiste à mettre à niveau vos modules dépendants.
Effectuer un nettoyage
Pour éviter que les ressources utilisées dans cette page soient facturées sur votre compte Google Cloud, procédez comme suit :
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.