Go-Pakete manuell scannen
In dieser Kurzanleitung erfahren Sie, wie Sie ein Container-Image abrufen, es manuell mit dem On-Demand-Scan prüfen und erkannte Sicherheitslücken für System- und Go-Pakete abrufen. In dieser Kurzanleitung verwenden Sie Cloud Shell und ein Beispiel-Alpine-Image.
Hinweise
- 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.
Bild herunterladen und scannen
Öffnen Sie eine Cloud Shell in Ihrem Projekt.
Dadurch wird ein Terminal mit allen erforderlichen Tools geöffnet, um diese Anleitung auszuführen.
Verwenden Sie Docker, um das Container-Image abzurufen:
docker pull golang:1.17.6-alpine
So führen Sie den Scan aus:
gcloud artifacts docker images scan golang:1.17.6-alpine --additional-package-types=GO
Dadurch wird der Scanvorgang ausgelöst und der Scanname wird am Ende zurückgegeben:
✓ 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
Verwenden Sie den Scannamen, den Wert von
scan
aus der Ausgabe, um die Scanergebnisse abzurufen:gcloud artifacts docker images list-vulnerabilities \ projects/my-project/locations/us/scans/a54f12b0-ca2d-4d93-8da5-5cf48e9e20ef
Die Ausgabe enthält eine Liste von Sicherheitslücken in Go, der Go-Standardbibliothek und Linux-Paketen. Die folgenden Labels geben den Typ der Go-Sicherheitslücken an:
packageType:GO_STDLIB
. Sicherheitslücken in der Go-Standardbibliothek. Dies bedeutet, dass die Sicherheitslücke entweder in der Go-Toolchain gefunden wurde, mit der die Binärdatei erstellt wurde, oder in der Standardbibliothek, die mit der Toolchain gebündelt ist. Eine mögliche Lösung besteht darin, Ihre Build-Toolchain zu aktualisieren.packageType:GO
. Rufen Sie „Sicherheitslücken in Paketen“ auf. Dies bedeutet, dass die Sicherheitslücke in einem Drittanbieterpaket gefunden wurde. Eine mögliche Lösung besteht darin, die abhängigen Module zu aktualisieren.
Bereinigen
Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen in Rechnung gestellt werden:
- 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.