Java-Pakete automatisch scannen

In diesem Dokument wird beschrieben, wie Sie die Container Scanning API aktivieren, ein Image per Push in Artifact Registry übertragen und die Liste der im Image gefundenen Sicherheitslücken aufrufen.

In der Artefaktanalyse werden Informationen zu Sicherheitslücken als Hinweise gespeichert. Für jede mit einem Bild verknüpfte Instanz eines Hinweises wird ein Vorkommen erstellt. Weitere Informationen finden Sie in der Übersicht und in der Preisdokumentation.

Hinweise

  1. 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.
  2. 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 (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Artifact Registry and Container Scanning APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. Install the Google Cloud CLI.

  6. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  7. To initialize the gcloud CLI, run the following command:

    gcloud init
  8. 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 (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  9. Verify that billing is enabled for your Google Cloud project.

  10. Enable the Artifact Registry and Container Scanning APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  11. Install the Google Cloud CLI.

  12. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  13. To initialize the gcloud CLI, run the following command:

    gcloud init
  14. Erstellen Sie ein Docker-Repository in Artifact Registry und übertragen Sie ein Container-Image mit Ihrem Java-Code per Push in das Repository. Wenn Sie mit Artifact Registry nicht vertraut sind, lesen Sie die Docker-Kurzanleitung.

    Informationen dazu, wie Sie Cloud Build zum Erstellen und Containerisieren Ihrer Java-Anwendungen verwenden können, finden Sie unter Java-Anwendungen erstellen, testen und containerisieren.

Image-Sicherheitslücken ansehen

Die Artefaktanalyse scannt neue Images, wenn sie in Artifact Registry hochgeladen werden. Bei diesem Scan werden Informationen zu den Paketen im Container extrahiert.

Sie können Sicherheitslückenvorkommen für Ihre Images in Artifact Registry mit der Google Cloud Console, der Google Cloud CLI oder der Container Analysis API aufrufen. Wenn ein Image Sicherheitslücken aufweist, können Sie dann die Details abrufen.

Die Artefaktanalyse aktualisiert nur die Metadaten für Images, die in den letzten 30 Tagen per Push oder Pull übertragen wurden. Nach 30 Tagen werden die Metadaten nicht mehr aktualisiert und die Ergebnisse sind veraltet. Außerdem archiviert die Artefaktanalyse Metadaten, die seit mehr als 90 Tagen inaktiv sind. Diese Metadaten sind dann nicht mehr in der Google Cloud -Konsole, in gcloud oder über die API verfügbar. Wenn Sie ein Image mit veralteten oder archivierten Metadaten noch einmal scannen möchten, rufen Sie dieses Image per Pull ab. Das Aktualisieren der Metadaten kann bis zu 24 Stunden dauern.

Vorkommen in der Google Cloud -Console ansehen

So sehen Sie die Sicherheitslücken in einem Image:

  1. Rufen Sie die Liste der Repositories ab.

    Zur Seite „Repositories“

  2. Klicken Sie in der Liste der Repositories auf ein Repository.

  3. Klicken Sie in der Liste der Bilder auf einen Bildnamen.

    Alle Sicherheitslücken für jeden Image-Digest werden in der Spalte Sicherheitslücken angezeigt.

    Ein gescanntes Image mit Sicherheitslücken

  4. Wenn Sie die Liste der Sicherheitslücken für ein Image aufrufen möchten, klicken Sie auf den Link in der Spalte Vulnerabilities (Sicherheitslücken).

    Im Bereich Scanergebnisse wird eine Zusammenfassung der gescannten Pakettypen, der Gesamtzahl der Sicherheitslücken, der Sicherheitslücken mit verfügbaren Korrekturen, der Sicherheitslücken ohne Korrekturen und des effektiven Schweregrads angezeigt.

    Auf der Seite mit den Scanergebnissen werden Sicherheitslücken, Korrekturen und der effektive Schweregrad aufgeführt.

    In der Tabelle mit den Sicherheitslücken sind für jede gefundene Sicherheitslücke der Name der Common Vulnerabilities and Exposures (CVE), der effektive Schweregrad, die CVSS-Punktzahl (Common Vulnerability Scoring System), Korrekturen (sofern verfügbar), der Name des Pakets, das die Sicherheitslücke enthält, und der Pakettyp aufgeführt.

    In derGoogle Cloud Console werden in dieser Tabelle bis zu 1.200 Sicherheitslücken pro Seite angezeigt. Sie können diese Dateien filtern und sortieren, um eine bestimmte Datei, ein bestimmtes Verzeichnis, eine bestimmte Ebene oder einen bestimmten Dateityp nach Dateiendung zu prüfen.

  5. Klicken Sie auf den Namen der CVE, um Details zu einer bestimmten CVE aufzurufen.

  6. Wenn Sie Details zum Auftreten von Sicherheitslücken wie Versionsnummer und betroffene Stelle aufrufen möchten, klicken Sie in der Zeile mit dem Namen der Sicherheitslücke auf Anzeigen oder Behobene anzeigen. Der Linktext lautet Ansehen für Sicherheitslücken ohne Korrektur und Behobene ansehen für Sicherheitslücken, bei denen eine Korrektur angewendet wurde.

Sicherheitslücken in einer bestimmten Ebene ansehen

Artefaktanalyse stellt schichtspezifische Metadaten bereit, mit denen Sie ermitteln können, welches Paket Sicherheitslücken enthält und mit welchem Docker-Build-Befehl diese Schicht eingeführt wurde.

So rufen Sie schichtbasierte Metadaten zu Sicherheitslücken in der Google Cloud -Console auf:

  1. Öffnen Sie in Artifact Registry die Liste Ihrer Repositories.

    Zur Seite „Repositories“

  2. Klicken Sie auf der Seite Repositories auf ein Repository.

  3. Klicken Sie auf der Seite Repository Details (Repository-Details) auf ein Bild.

  4. Klicken Sie in der Liste der Image-Versionen auf einen Image-Digest.

  5. Klicken Sie auf der Seite mit den Details zum Image-Digest auf den Tab Sicherheitslücken.

    Wenn schichtbasierte Metadaten verfügbar sind, wird in der Artefaktanalyse in der Leiste Ebene eine auswählbare Liste von Ebenen angezeigt:

    Ein Bild der Seite „Sicherheitslücken“ für einen Image-Digest, einschließlich der Ebenenleiste. Die Ebenenleiste enthält ein Drop-down-Menü, in dem Sie eine Ebene aus einer nummerierten Liste auswählen können.

  6. Klicken Sie auf das Drop-down-Menü für Ebenen, um die Liste der Ebenen aufzurufen.

    Eine Drop-down-Liste mit einer nummerierten Liste von Ebenen wird geöffnet. Ebene 0 stellt die unterste Ebene dar, wobei jede folgende Ebene auf der vorherigen aufbaut. Es werden nur Ebenen angezeigt, in denen Sicherheitslücken gefunden wurden.

    Bild eines geöffneten Drop-down-Menüs für Ebenen. Im Menü sehen Sie den Docker-Befehl, mit dem die Ebene erstellt wurde, sowie den Typ und die Anzahl der Sicherheitslücken für jede Ebene.

    Für jedes Layer zeigt die Artefaktanalyse den Docker-Befehl, der zum Erstellen des Layers verwendet wurde, und die Anzahl der in diesem Layer gefundenen Sicherheitslücken.

  7. Wenn Sie mehr über die Sicherheitslücken in einer bestimmten Ebene erfahren möchten, wählen Sie eine Ebene aus der Liste aus.

    Die Tabelle mit den Sicherheitslücken wird aktualisiert und enthält nur die Sicherheitslücken, die in der ausgewählten Ebene gefunden wurden. Sie können weitere Filter anwenden oder bestimmte Sicherheitslücken untersuchen.

  8. Klicken Sie neben einer Sicherheitslücke auf ANSEHEN oder KORREKTUR ANSEHEN, um detailliertere Informationen zur Sicherheitslücke aufzurufen.

    In der Seitenleiste Details zur Sicherheitslücke werden Dateipfade angezeigt, in denen Pakete Sicherheitslücken aufweisen.

  9. Bewegen Sie den Mauszeiger in der Tabelle Dateispeicherorte auf das Fragezeichen, um zusätzliche Metadaten für die Ebene aufzurufen.

    In einem Dialogfeld werden der Layer-Index, der Layer-Build-Befehl, der Layer-Digest und das Basis-Image angezeigt, in dem Sie die Sicherheitslücke beheben können.

Vorkommen mit gcloud ansehen

Führen Sie den Befehl gcloud artifacts docker images list aus, um Vorkommen für ein Image in Artifact Registry aufzurufen:

gcloud artifacts docker images list --show-occurrences \
    LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID

Wobei:

  • LOCATION ist der regionale oder multiregionale Speicherort für das Repository.
  • PROJECT_ID ist Ihre Projekt-ID in der Console von Google Cloud .
  • REPOSITORY ist der Name des Repositorys, in dem das Image gespeichert ist.
  • IMAGE_ID ist der Name des Images im Repository. Mit diesem Befehl können Sie kein Image-Tag angeben.

Standardmäßig gibt der Befehl die zehn letzten Bilder zurück. Wenn Sie eine andere Anzahl von Bildern anzeigen möchten, verwenden Sie das Flag --show-occurrences-from. Der folgende Befehl gibt beispielsweise die 25 neuesten Bilder zurück:

gcloud artifacts docker images list --show-occurrences-from=25 \
    us-central1-docker.pkg.dev/my-project/my-repo/my-image

Die Ausgabe sieht etwa so aus:

Beispiel für die Bildausgabe

  {
      "name": "projects/my-project/locations/us-central1/occurrences/22d3edfb-34f2-4d3f-be08-fd90c549f010",
      "resource": {
        "uri": "https://us-central1-docker.pkg.dev/my-project/my-repo/golang-nginx@sha256:5b54ef20748417ccdb0b87afedf98c44e699e2f59bd6cv48cbdc1ca2e72c80e3"
      },
      "noteName": "projects/my-project/locations/us-central1/notes/CVE-2005-2541",
      "kind": "VULNERABILITY",
      "createTime": "2025-01-21T15:57:01.238832Z",
      "updateTime": "2025-01-21T15:57:01.238832Z",
      "vulnerability": {
        "severity": "CRITICAL",
        "cvssScore": 10,
        "packageIssue": [
          {
            "affectedLocation": {
              "cpeUri": "cpe:/o:debian:debian_linux:12",
              "package": "tar",
              "version": {
                "name": "1.34+dfsg",
                "revision": "1.2+deb12u1",
                "kind": "NORMAL"
              }
            },
            "fixedLocation": {
              "cpeUri": "cpe:/o:debian:debian_linux:12",
              "package": "tar",
              "version": {
                "kind": "MAXIMUM"
              }
            },
            "packageType": "OS",
            "effectiveSeverity": "LOW",
            "file_location": [
                {
                "file_path": "/var/lib/dpkg/status",
                "layerDetails": {
                  "index": 0,
                  "diffID": "sha256:123",
                  "buildCommand": "FROM golang:example_sha256",
                  "BaseImages": [
                    {
                      "name": "library/golang",
                    },
                  ],
                },
              },
            ],
          }
        ],
        "shortDescription": "CVE-2005-2541",
        "longDescription": "NIST vectors: AV:N/AC:L/Au:N/C:C/I:C/A:C",
        "relatedUrls": [
          {
            "url": "https://security-tracker.debian.org/tracker/CVE-2005-2541",
            "label": "More Info"
          }
        ],
        "effectiveSeverity": "LOW",
        "cvssVersion": "CVSS_VERSION_2",
        "cvssV2": {
          "baseScore": 10,
          "attackVector": "ATTACK_VECTOR_NETWORK",
          "attackComplexity": "ATTACK_COMPLEXITY_LOW",
          "authentication": "AUTHENTICATION_NONE",
          "confidentialityImpact": "IMPACT_COMPLETE",
          "integrityImpact": "IMPACT_COMPLETE",
          "availabilityImpact": "IMPACT_COMPLETE"
        }
      }
    }
  

Sicherheitslücken für ein Image-Tag ansehen

Geben Sie einen der folgenden Befehle ein, um Sicherheitslücken für ein Image-Tag aufzurufen:

gcloud artifacts docker images describe \
    LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID:TAG \
    --show-package-vulnerability

oder

gcloud artifacts docker images describe \
    LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID@sha256:HASH \
    --show-package-vulnerability

Wobei:

  • LOCATION ist der regionale oder multiregionale Speicherort für das Repository.
  • PROJECT_ID ist Ihre Projekt-ID in der Console von Google Cloud .
  • REPOSITORY ist der Name des Repositorys, in dem das Image gespeichert ist.
  • IMAGE_ID ist der Name des Images im Repository.
  • TAG ist das Image-Tag, über das Sie Informationen erhalten möchten.
  • HASH ist der Image-Digest.

Die Artefaktanalyse gibt Ergebnisse zurück, die packageType enthalten.

Vorkommen von Sicherheitslücken filtern

Verwenden Sie den Parameter --occurrence-filter, um Vorkommen von Sicherheitslücken zu filtern:

gcloud artifacts docker images list --show-occurrences \
    LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID \
    --occurrence-filter=FILTER_EXPRESSION

Wobei:

  • LOCATION ist der regionale oder multiregionale Speicherort für das Repository.
  • PROJECT_ID ist Ihre Projekt-ID in der Console von Google Cloud .
  • REPOSITORY ist der Name des Repositorys, in dem das Image gespeichert ist.
  • IMAGE_ID ist der Name des Images im Repository.
  • FILTER_EXPRESSION ist ein Beispiel für einen Filterausdruck in dem Format, das unter Vorkommen von Sicherheitslücken filtern erläutert wird.

Sicherheitslücken für eine bestimmte Ebene ansehen

Mit dem Feld layerDetails können Sie ermitteln, in welcher Ebene ein anfälliges Paket eingeführt wurde, und zusätzliche Informationen zu dieser Ebene aufrufen. Sehen Sie sich beispielsweise die folgende layerDetails-Ausgabe für ein Bild an:

  "layerDetails": {
    "index": 0,
    "diffID": "sha256:123",
    "buildCommand": "FROM golang:example_sha256",
    "BaseImages": [
      {
        "name": "library/golang",
      },
    ],
  }

Die Ausgabe zeigt, dass der Layer-Index im Container-Image 0 ist und der Layer-Hash sha256:123 lautet. Der Docker-Build-Befehl zum Erstellen dieser Ebene ist FROM golang:example_sha256. Die Ebene ist auch im Basis-Image library/golang enthalten.

Vorkommen mit der API ansehen

So rufen Sie eine Liste der Vorkommen in Ihrem Projekt ab:

 curl -X GET -H "Content-Type: application/json" -H \
    "Authorization: Bearer $(gcloud auth print-access-token)" \
    https://containeranalysis.googleapis.com/v1/projects/PROJECT_ID/occurrences

So erhalten Sie eine Zusammenfassung der Sicherheitslücken in Ihrem Projekt:

 curl -X GET -H "Content-Type: application/json" -H \
    "Authorization: Bearer $(gcloud auth print-access-token)" \
    https://containeranalysis.googleapis.com/v1/projects/PROJECT_ID/occurrences:vulnerabilitySummary

So rufen Sie Details zu einem bestimmten Vorkommen ab:

 curl -X GET -H "Content-Type: application/json" -H \
    "Authorization: Bearer $(gcloud auth print-access-token)" \
    https://containeranalysis.googleapis.com/v1/projects/PROJECT_ID/occurrences/OCCURRENCE_ID

Sicherheitslücken in Cloud Build ansehen

Wenn Sie Cloud Build verwenden, können Sie Sicherheitslücken von Images auch in der Seitenleiste Security Insights in der Google Cloud Console ansehen.

Die Seitenleiste Sicherheitsinformationen bietet einen allgemeinen Überblick über die Sicherheitsinformationen für Builds von Artefakten, die in Artifact Registry gespeichert sind. Weitere Informationen zur Seitenleiste und dazu, wie Sie Cloud Build verwenden können, um Ihre Softwarelieferkette zu schützen, finden Sie unter Build-Sicherheitserkenntnisse ansehen.

Vorkommen filtern

Sie können Filterstrings in den gcloud-Befehlen und der Artifact Analysis API verwenden, um Vorkommen vor dem Abruf zu filtern. In den folgenden Abschnitten werden die unterstützten Suchfilter beschrieben.

Vorkommen eines bestimmten Typs aufrufen

Mit dem Wert kind können Sie nach Ereignistyp filtern. Verfügbare Arten

Die folgenden Beispiele zeigen, wie Sie nach Bereitstellungsvorkommen für ein Bild filtern:

gcloud

Führen Sie in der gcloud CLI Folgendes aus:

gcloud artifacts docker images list --show-occurrences \
    --occurrence-filter='kind="DEPLOYMENT"' --format=json \
    LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID

Wobei:

  • DEPLOYMENT ist die Art des Vorkommens.
  • LOCATION ist der regionale oder multiregionale Speicherort für das Repository.
  • PROJECT_ID ist Ihre Projekt-ID in der Console von Google Cloud .
  • REPOSITORY ist der Name des Repositorys, in dem das Image gespeichert ist.
  • IMAGE_ID ist der Name des Images im Repository.

API

Verwenden Sie in Ihrer API-Abfrage den folgenden Filterausdruck:

kind="DEPLOYMENT" AND resourceUrl="RESOURCE_URL"

Wobei:

  • DEPLOYMENT ist die Art des Vorkommens.
  • RESOURCE_URL ist die vollständige URL des Bildes im Format https://LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID@sha256:HASH.

Mit der Funktion hasPrefix können Sie mit einem größeren Umfang filtern.

Beispiel: Mit den folgenden Filtern werden Vorkommen einer bestimmten Art für mehrere Bilder gefiltert:

kind="NOTE_KIND" AND has_prefix(resourceUrl, "RESOURCE_URL_PREFIX")

Wobei:

  • Mit RESOURCE_URL_PREFIX wird ein Teilstring aus einer Ressourcen-URL angegeben.
    • Wenn Sie nach allen Versionen eines Bildes filtern möchten, lassen Sie den Bild-Digest weg. Verwenden Sie das Format: https://LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID@
    • Wenn Sie nach allen Bildern in einem Projekt filtern möchten, geben Sie nur den Ressourcenstandort und das Projekt an. Verwenden Sie das Format: https://LOCATION-docker.pkg.dev/PROJECT_ID/

Vorkommen von Sicherheitslücken ansehen

Wenn Sie eine Liste von Vorkommen von Sicherheitslücken für ein Image abrufen möchten, können Sie nach dem Vorkommenstyp VULNERABILITY filtern.

gcloud

Führen Sie in der gcloud CLI Folgendes aus:

gcloud artifacts docker images list \
    --show-occurrences \
    --occurrence-filter='kind="VULNERABILITY"' \
    --format=json \
    LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID

Wobei:

  • VULNERABILITY ist die Art des Vorkommens.
  • LOCATION ist der regionale oder multiregionale Speicherort für das Repository.
  • PROJECT_ID ist Ihre Projekt-ID in der Console von Google Cloud .
  • REPOSITORY ist der Name des Repositorys, in dem das Image gespeichert ist.
  • IMAGE_ID ist der Name des Images im Repository.

API

Verwenden Sie in Ihrer API-Abfrage den folgenden Filterausdruck:

GET https://containeranalysis.googleapis.com/v1/projects/PROJECT_ID/occurrences?filter=kind%3D%22VULNERABILITY%22%20AND%20resourceUrl%3D%22ENCODED_RESOURCE_URL%22

Wobei:

  • ENCODED_RESOURCE_URL ist der codierte Pfad zu Ihrem Bild. Weitere Informationen zur Codierung finden Sie unter URL-Codierung.

Weitere Informationen zur Verwendung der API finden Sie unter projects.occurrences.get.

Nach Pakettyp filtern

Wenn Sie die Ergebnisse des Scans auf Sicherheitslücken auf einen Pakettyp beschränken möchten, führen Sie den folgenden gcloud CLI-Befehl aus:

  gcloud artifacts docker images list /
      --show-occurrences /
      --occurrence-filter='kind="VULNERABILITY" AND packageType="PACKAGE_TYPE"' /
      LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID

Wobei:

  • VULNERABILITY ist die Art des Vorkommens.
  • PACKAGE_TYPE ist der Typ des Sprachpakets der Anwendung. Verfügbare Typen sind: COMPOSER, GO, MAVEN, NPM, NUGET, PYTHON, RUBYGEMS und RUST.
  • LOCATION ist der regionale oder multiregionale Speicherort des Repositorys.
  • PROJECT_ID ist Ihre Projekt-ID der Google Cloud Console.
  • REPOSITORY ist der Name des Repositorys, in dem das Image gespeichert ist.
  • IMAGE_ID ist der Name des Images im Repository. Mit diesem Befehl können Sie kein Image-Tag angeben.

Images aufrufen, die einem bestimmten Hinweis zugeordnet sind

Sie können eine Liste von Ressourcen abrufen, die einer bestimmten Hinweis-ID zugeordnet sind. So können Sie beispielsweise Images mit einer bestimmten CVE-Sicherheitslücke auflisten.

Verwenden Sie den folgenden Filterausdruck, um alle Images in einem Projekt aufzulisten, die einem bestimmten Hinweis zugeordnet sind:

gcloud

gcloud artifacts docker images list /
    --show-occurrences /
    --occurrence-filter='noteProjectId="goog-vulnz" AND noteId="NOTE_ID"' /
    LOCATION-docker.pkg.dev/PROJECT_ID

Wobei:

  • goog-vulnz ist die PROVIDER_PROJECT_ID für die Analyse von Sicherheitslücken in der Artefaktanalyse. Wenn Sie Artefaktanalyse in einem benutzerdefinierten Projekt verwenden, können Sie diesen Wert durch die Projekt-ID Ihres eigenen Anbieters ersetzen.
  • LOCATION ist der regionale oder multiregionale Speicherort für das Repository.
  • PROJECT_ID ist Ihre Projekt-ID in der Console von Google Cloud .
  • NOTE_ID ist die ID des Hinweises. Wenn Sie beispielsweise in den Scanergebnissen der Artefaktanalyse eine Sicherheitslücke sehen, wird häufig die CVE-ID-Formatierung ähnlich wie CVE-2019-12345 verwendet.

API

GET https://containeranalysis.googleapis.com/v1/projects/PROJECT_ID/occurrences?filter=noteProjectId%3D%22goog-vulnz%22%20AND%20resourceUrl%3D%22ENCODED_RESOURCE_URL%22%20AND%20noteId%3D%22NOTE_ID%22

Wobei:

  • goog-vulnz ist die PROVIDER_PROJECT_ID für die Analyse von Sicherheitslücken in der Artefaktanalyse. Wenn Sie Artefaktanalyse in einem benutzerdefinierten Projekt verwenden, können Sie diesen Wert durch die Projekt-ID Ihres eigenen Anbieters ersetzen.
  • ENCODED_RESOURCE_URL ist der codierte Pfad zu Ihrem Bild. Weitere Informationen zur Codierung finden Sie unter URL-Codierung.
  • NOTE_ID ist die ID des Hinweises. Wenn Sie beispielsweise in den Scanergebnissen der Artefaktanalyse eine Sicherheitslücke sehen, wird häufig die CVE-ID-Formatierung ähnlich wie CVE-2019-12345 verwendet.

Mit dem folgenden Filterausdruck können Sie ein bestimmtes Bild auf einen konkreten Hinweis prüfen:

gcloud

gcloud artifacts docker images list /
    --show-occurrences /
    --occurrence-filter='noteProjectId="goog-vulnz" AND noteId="NOTE_ID"' /
    LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID

Wo

  • LOCATION ist der regionale oder multiregionale Speicherort für das Repository.
  • PROJECT_ID ist Ihre Projekt-ID in der Console von Google Cloud .
  • REPOSITORY ist der Name des Repositorys, in dem das Image gespeichert ist.
  • IMAGE_ID ist der Name des Images im Repository. Mit diesem Befehl können Sie kein Image-Tag angeben.

API

Fügen Sie Ihrer API-Abfrage den folgenden Filterausdruck hinzu:

resourceUrl="RESOURCE_URL" AND noteProjectId="goog-vulnz" \
AND noteId="NOTE_ID"

Wobei:

  • RESOURCE_URL ist die vollständige URL des Bildes im Format https://LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID@sha256:HASH.
  • goog-vulnz ist die PROVIDER_PROJECT_ID für die Analyse von Sicherheitslücken in der Artefaktanalyse. Wenn Sie Artefaktanalyse in einem benutzerdefinierten Projekt verwenden, können Sie diesen Wert durch die Projekt-ID Ihres eigenen Anbieters ersetzen.
  • NOTE_ID ist die ID des Hinweises. Sicherheitsrelevante Hinweise werden häufig als CVE-2019-12345 formatiert.

Nächste Schritte