In diesem Dokument wird beschrieben, wie Sie die in der Artefaktanalyse gespeicherten VEX-Anweisungen (Vulnerability Exploitability eXchange) aufrufen und Sicherheitslücken anhand des VEX-Status filtern.
Sicherheits- und Richtlinien-Enforcer können diese Funktionen verwenden, um Aufgaben zur Behebung von Sicherheitsproblemen zu priorisieren. Sie können VEX-Daten auch verwenden, um die Zusammensetzung Ihrer Artefakte zu bestätigen und so Ihrer Organisation zu helfen, die gesetzlichen Anforderungen zu erfüllen.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Hochladen von VEX-Bewertungen und zum Prüfen des VEX-Status von Sicherheitslücken benötigen:
-
So rufen Sie Sicherheitslücken auf:
Betrachter von Container Analysis-Vorkommen (
roles/containeranalysis.occurrences.viewer
)
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
VEX-Status in der Google Cloud Console ansehen
So rufen Sie VEX-Informationen für in Artifact Registry gespeicherte Container-Images auf:
Öffnen Sie die Seite Repositories (Repositories) der Artifact Registry.
Auf der Seite wird eine Liste Ihrer Repositories angezeigt.
Klicken Sie in der Liste der Repositories auf einen Repositorynamen.
Klicken Sie in der Bilderliste auf einen Bildnamen.
Eine Liste der Bild-Digests wird geöffnet.
Klicken Sie in der Liste der Zusammenfassungen auf einen Namen.
Eine Seite mit den Details des Digests wird mit einer Reihe von Tabs geöffnet. Standardmäßig ist der Tab Übersicht geöffnet.
Wählen Sie in der Tab-Leiste den Tab Sicherheitslücken aus.
Auf der Seite wird eine Übersicht der Scanergebnisse mit dem Abschnitt VEX-Status angezeigt.
Im Zusammenfassungsbereich VEX-Status sehen Sie die Anzahl der Pakete, die nach VEX-Statustyp kategorisiert sind. Wenn Sie alle Pakete mit einem bestimmten VEX-Status sehen möchten, klicken Sie auf die Zahl neben dem Statustyp.
Auf dem Tab Sicherheitslücken wird auch der VEX-Status für jedes Paket in der Liste der Sicherheitslücken angezeigt.
So filtern Sie die Liste der Sicherheitslücken:
- Klicken Sie über der Liste der Sicherheitslücken auf Sicherheitslücken filtern.
- Wählen Sie einen Filter aus der Filterliste aus.
- Geben Sie den Wert an, den Sie zum Filtern der Liste verwenden möchten.
VEX-Status in Cloud Build ansehen
Wenn Sie Cloud Build verwenden, können Sie VEX-Informationen auch in der Seitenleiste Sicherheitsinformationen in der Google Cloud Console aufrufen.
Wenn Sie Cloud Build verwenden, können Sie die Image-Metadaten in der Seitenleiste Sicherheitsinformationen in der Google Cloud Console aufrufen.
Im Seitenbereich Sicherheitsinformationen finden Sie einen allgemeinen Überblick über die Build-Sicherheitsinformationen für Artefakte, die in Artifact Registry gespeichert sind. Weitere Informationen zum Seitenbereich und dazu, wie Sie Cloud Build zum Schutz Ihrer Softwarelieferkette verwenden können, finden Sie unter Sicherheitserkenntnisse für Builds ansehen.
Mit der gcloud CLI aufrufen
Im folgenden Abschnitt wird erläutert, wie Sie VEX-Informationen abrufen und Filter anwenden, um die Ergebnisse nach Ihren Anforderungen einzugrenzen.
VEX-Informationen für ein einzelnes Artefakt aufrufen
Wenn Sie hochgeladene VEX-Informationen aufrufen möchten, können Sie die API abfragen und Notizen mit dem Notizentyp VULNERABILITY_ASSESSMENT
auflisten.
Mit dem folgenden API-Aufruf können Sie alle Hinweise zur Sicherheitsbewertung für das angegebene Artefakt anfordern:
curl --data-urlencode "filter=(kind=\"VULNERABILITY_ASSESSMENT\" AND vulnerability_assessment.product.generic_uri=\"https://LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/IMAGE_NAME@DIGEST\"" https://containeranalysis.googleapis.com/v1/projects/PROJECT_ID/notes
Dabei gilt:
- LOCATION ist die Region oder Multiregion Ihres Repositorys.
- PROJECT_ID ist die ID des Google Cloud-Projekts, in dem Ihr Image in einem Artifact Registry-Repository gespeichert ist.
- REPO_NAME ist der Name des Artifact Registry-Repositorys, das das Image enthält.
- IMAGE_NAME ist der Name des Images.
- DIGEST ist der Image-Digest, ein String, der mit
sha256:
beginnt.
Sicherheitslücken nach VEX-Status filtern
Mit gcloud können Sie Sicherheitslücken-Metadaten nach VEX-Status filtern. Die Artefaktanalyse filtert anhand des Status, der in jedem Vorkommen einer Grafeas-Sicherheitslücke gespeichert ist.
Führen Sie den folgenden Befehl aus, um Sicherheitslücken anhand eines angegebenen VEX-Status zu filtern:
gcloud artifacts vulnerabilities list RESOURCE_URI \
--occurrence-filter="vulnDetails.vex_assessment.state=\"STATUS\""
Dabei gilt:
- RESOURCE_URI ist die vollständige URL des Bilds, z. B. https://LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID@sha256:HASH.
- STATUS ist der VEX-Status, nach dem gefiltert werden soll. Dies kann einer der folgenden Werte sein:
known_affected
,known_not_affected
,under_investigation
oderfixed
.
Führen Sie beispielsweise den folgenden Befehl aus, um nach Sicherheitslücken mit dem VEX-Status AFFECTED
zu filtern:
gcloud artifacts vulnerabilities list RESOURCE_URI \
--occurrence-filter="vulnDetails.vex_assessment.state=\"AFFECTED\""
Sicherheitslücken ohne VEX auflisten
Mit dem folgenden gcloud-Befehl können Sie ermitteln, für welche Sicherheitslücken noch keine VEX-Informationen vorhanden sind:
gcloud artifacts vulnerabilities list /
LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/IMAGE_NAME@DIGEST /--occurrence-filter="isNull(vulnDetails.vex_assessment.state)"
Dabei gilt:
- LOCATION ist die Region oder Multiregion Ihres Repositorys.
- PROJECT_ID ist die ID des Google Cloud-Projekts, in dem Ihr Image in einem Artifact Registry-Repository gespeichert ist.
- REPO_NAME ist der Name des Artifact Registry-Repositorys, das das Image enthält.
- IMAGE_NAME ist der Name des Images.
- DIGEST ist der Image-Digest, ein String, der mit
sha256:
beginnt.
Beschränkungen
- Der Upload von VEX-Anweisungen wird nur für Container-Images unterstützt.
- Hochgeladene VEX-Anweisungen können nicht in CSAF-, OpenVex- oder SPDX-Standards exportiert werden.