Go-Pakete manuell scannen
In dieser Kurzanleitung erfahren Sie, wie Sie ein Container-Image abrufen, es mit On-Demand-Scans manuell scannen und identifizierte Sicherheitslücken für System- und Go-Pakete abrufen. Für diese Kurzanleitung verwenden Sie Cloud Shell und ein Alpine-Beispielimage.
Hinweis
- Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie noch nicht mit Google Cloudvertraut sind, erstellen Sie ein Konto, um die Leistung unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
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.
Image herunterladen und scannen
Öffnen Sie eine Cloud Shell in Ihrem Projekt.
Dadurch wird ein Terminal mit allen erforderlichen Tools geöffnet, um dieser Anleitung zu folgen.
Rufen Sie das Container-Image mit Docker ab:
docker pull golang:1.17.6-alpineFühren Sie den Scan aus:
gcloud artifacts docker images scan golang:1.17.6-alpine --additional-package-types=GODadurch wird der Scanvorgang ausgelöst und nach Abschluss der Scanname 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
Rufen Sie die Scanergebnisse mit dem Scannamen, dem Wert von
scanaus der Ausgabe, ab:gcloud artifacts docker images list-vulnerabilities \ projects/my-project/locations/us/scans/a54f12b0-ca2d-4d93-8da5-5cf48e9e20efDie Ausgabe enthält eine Liste von Sicherheitslücken in Go-, Go-Standardbibliotheken und Linux-Paketen. Die folgenden Labels geben den Typ der Go-Sicherheitslücken an:
packageType:GO_STDLIB: Sicherheitslücken in der Go-Standardbibliothek. Dies weist darauf hin, dass die Sicherheitslücke entweder in der Go-Toolchain gefunden wurde, die zum Erstellen der Binärdatei verwendet wurde, oder in der Standardbibliothek, die in der Toolchain enthalten ist. Eine mögliche Lösung besteht darin, die Build-Toolchain zu aktualisieren.packageType:GO: Sicherheitslücken in Go-Paketen. Dies weist darauf hin, 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 auf dieser Seite verwendeten Ressourcen in Rechnung gestellt werden:
- Wechseln Sie in der Google Cloud -Console zur Seite Ressourcen verwalten.
- Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
- Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.