Container-Scanning – Übersicht

Beim Container-Scanning werden neue und vorhandene Sicherheitslücken sowie schädliche Pakete in den Open-Source-Abhängigkeiten für Container-Images in Ihren Artifact Registry-Repositories identifiziert. Die Artefaktanalyse bietet zwei Möglichkeiten zum Scannen Ihrer Pakete: automatisches Scannen und On-Demand-Scannen. In diesem Dokument werden beide Arten des Scannens beschrieben.

Die Artefaktanalyse bietet auch Metadatenverwaltung. Weitere Informationen dazu, wie Sie Scannen und Metadatenspeicher gemeinsam verwenden können, um Ihre CI/CD Pipeline durchgängig zu schützen, finden Sie in der Übersicht zur Artefaktanalyse.

Weitere Informationen zu den Kosten für das Scannen von Container-Images finden Sie unter Preise.

In dieser Übersicht wird davon ausgegangen, dass Sie bereits mit der Verwendung von Docker-Repositories in Artifact Registry vertraut sind.

Images auf Sicherheitslücken scannen

Die Artefaktanalyse führt Scans auf Sicherheitslücken und schädliche Pakete für Ihre Artefakte in Artifact Registry durch. Die Artefaktanalyse identifiziert außerdem Abhängigkeiten und Lizenzen, damit Sie die Zusammensetzung Ihrer Software besser verstehen.

Das automatische Scannen umfasst zwei Hauptaufgaben: automatisches Scannen und kontinuierliche Analyse.

Automatisches Scannen

Die Artefaktanalyse scannt neue Images, sobald sie in Artifact Registry hochgeladen werden. Bei diesem Scan werden Informationen zu den Paketen im Container extrahiert. Die Images werden nur einmal gescannt und zwar anhand des Digest des Images. Das Hinzufügen oder Ändern von Tags löst keine neuen Scans aus.

Die Artefaktanalyse erkennt nur Sicherheitslücken und schädliche Software in Paketen, die öffentlich überwacht werden. Daten zu Sicherheitslücken stammen von verschiedenen Upstream-Anbietern und Daten zu schädlichen Paketen stammen aus dem OpenSSF Malicious Packages Repository. Schädliche Pakete werden als Sicherheitslücken mit dem Schweregrad CRITICAL gemeldet.

Wenn der Scan eines Images abgeschlossen ist, ist das entstandene Sicherheitslückenergebnis die Sammlung der Vorkommen von Sicherheitslücken in einem Image.

Bei automatischen Scans auf Sicherheitslücken werden auch Secrets wie API-Schlüssel und Dienstkontoschlüssel erkannt, damit Sie die Offenlegung sensibler Daten verhindern können. Dieses Feature befindet sich in der öffentlichen Vorschau. Weitere Informationen finden Sie unter Nach Secrets scannen.

Kontinuierliche Analyse

Die Artefaktanalyse erstellt Vorkommen für Sicherheitslücken und schädliche Pakete, die beim Hochladen des Images gefunden wurden. Nach dem ersten Scan werden die Metadaten für gescannte Images in Artifact Registry kontinuierlich auf neue Sicherheitslücken und schädliche Pakete geprüft.

Die Artefaktanalyse erhält mehrmals täglich neue und aktualisierte Informationen zu Sicherheitslücken und schädlichen Paketen aus Sicherheitslückenquellen. Wenn neue Daten zu Sicherheitslücken oder schädlichen Paketen eingehen, aktualisiert die Artefaktanalyse die Metadaten der gescannten Images, um sie auf dem neuesten Stand zu halten. Die Artefaktanalyse aktualisiert vorhandene Vorkommen, erstellt neue Vorkommen für neue Hinweise und löscht Vorkommen, die nicht mehr gültig sind.

Die Artefaktanalyse scannt Images und Pakete weiterhin, solange sie in den letzten 30 Tagen abgerufen wurden. Nach 30 Tagen werden die Metadaten für gescannte Images und Pakete nicht mehr aktualisiert und die Ergebnisse sind veraltet.

Die Artefaktanalyse archiviert Metadaten, die seit mehr als 90 Tagen veraltet sind. Diese archivierten Metadaten können nur mit der API ausgewertet werden. Sie können ein Image mit veralteten oder archivierten Metadaten noch einmal scannen, indem Sie es abrufen. Das Aktualisieren von Metadaten kann bis zu 24 Stunden dauern. Pakete mit veralteten oder archivierten Metadaten können nicht noch einmal gescannt werden.

Architekturen

Die Artefaktanalyse kann Images auf jeder Linux-basierten Architektur scannen.

Sie können das Scannen auf Sicherheitslücken auch mit Manifestlisten verwenden. Eine Manifestliste ist eine Liste von Zeigern auf Manifeste für mehrere Plattformen. So kann ein einzelnes Image mit mehreren Architekturen oder Varianten eines Betriebssystems verwendet werden.

Wenn Ihre Manifestliste ein Linux-amd64-Image enthält, wird dieses von der Artefaktanalyse gescannt. Andernfalls wählt die Artefaktanalyse ein anderes Image aus der Liste aus.

On-Demand-Scannen

Mit dem On-Demand-Scannen können Sie Container-Images lokal auf Ihrem Computer oder in Ihrer Registry mit der gcloud CLI scannen. So können Sie Ihre CI/CD-Pipeline anpassen, je nachdem, wann Sie auf die Ergebnisse zu Sicherheitslücken zugreifen müssen.

Unterstützte Pakettypen

Wenn Sie Container-Images in Docker-Repositories in Artifact Registry übertragen, kann die Artefaktanalyse nach Sicherheitslücken in verschiedenen Arten von Betriebssystempaketen und Anwendungssprachpaketen suchen.

In den folgenden Tabellen werden die Pakettypen verglichen, die die Artefaktanalyse mit den einzelnen Scanservices scannen kann:

Unterstützte Betriebssystempakete

Automatisches Scannen mit Artifact Registry On-Demand-Scannen
AlmaLinux OS
Alpine
CentOS
Chainguard
Debian
Google Distroless
MinimOS
Red Hat Enterprise Linux (RHEL)
Red Hat Universal Base Image (UBI)
Rocky Linux
SUSE Linux Enterprise Server (SLES)
Ubuntu
Wolfi

Unterstützte Anwendungssprachpakete

Automatisches Scannen mit Artifact Registry On-Demand-Scannen
Go-Pakete
Java-Pakete
Node.js-Pakete
PHP-Pakete
Python-Pakete
Ruby-Pakete
Rust-Pakete
.NET-Pakete

Weitere Informationen zu den Funktionen, die für die einzelnen Registry-Produkte verfügbar sind, finden Sie unter der Vergleichstabelle.

Die Artefaktanalyse wird für Windows Server-Container nicht unterstützt.

Artefaktanalyse-Schnittstellen

In der Google Cloud console können Sie Sicherheitslücken und Image metadaten für Container in Artifact Registry ansehen.

Mit der gcloud CLI können Sie Sicherheitslücken und Image-Metadaten einsehen.

Sie können zu diesem Zweck auch die Artefaktanalyse REST API verwenden, um eine dieser Aktionen auszuführen. Wie bei anderen Cloud Platform-APIs müssen Sie sich vor dem Zugriff mit OAuth2 authentifizieren. Nach der Authentifizierung können Sie mit der API auch benutzerdefinierte Hinweise und Vorkommen erstellen und Sicherheitslückenvorkommen ansehen.

Die Artefaktanalyse API unterstützt sowohl gRPC als auch REST/JSON. Sie können die API entweder über die Clientbibliotheken oder über cURL für REST/JSON aufrufen.

Paketdateipfade finden

Wenn die Artefaktanalyse eine Sicherheitslücke findet, erkennen Sie das anfällige Paket möglicherweise nicht als Abhängigkeit in Ihrem Artefakt. Das kann passieren, wenn der Paketmanager es einführt oder wenn das Paket eine transitive Abhängigkeit ist – eine Abhängigkeit einer Ihrer Abhängigkeiten.

So finden Sie den Pfad zu der Datei, die zu einem Ergebnis zu einer Sicherheitslücke geführt hat:

  1. Rufen Sie in der Google Cloud console die Liste der Sicherheitslücken für ein Artefakt in Go to Artifact Registry auf.
  2. Klicken Sie bei der Sicherheitslücke, die Sie untersuchen möchten, auf KORREKTUR ANSEHEN.
  3. Klicken Sie im Detailbereich auf WEITERE INFORMATIONEN ANZEIGEN.

    Im Feld Dateispeicherort wird der Pfad zum anfälligen Paket angezeigt.

Bereitstellung von anfälligen Images steuern

Sie können die Artefaktanalyse mit der Binärautorisierung verbinden, um Attestierungen zu erstellen. Dadurch wird verhindert, dass Container-Images mit bekannten Sicherheitsproblemen in Ihrer Bereitstellungsumgebung ausgeführt werden.

Sie können die Binärautorisierung auch verwenden, um im Rahmen Ihrer Bereitstellung anhand der von der Artefaktanalyse bereitgestellten Informationen zu Sicherheitslücken eine Zulassungsliste für Sicherheitslücken zu erstellen. Wenn die Sicherheitslücken gegen die Richtlinie in der Zulassungsliste verstoßen, werden Sie benachrichtigt.

Schließlich können Sie mit dem On-Demand-Scannen Builds basierend auf dem Schweregrad der gefundenen Sicherheitslücken blockieren und fehlschlagen lassen.

Sicherheitslückenquellen

Im folgenden Abschnitt sind die Sicherheitslückenquellen aufgeführt, die die Artefaktanalyse zum Abrufen von CVE Daten verwendet.

Scans von Betriebssystempaketen

Die Artefaktanalyse verwendet die folgenden Quellen:

Scans von Sprachpaketen

Die Artefaktanalyse unterstützt das Scannen auf Sicherheitslücken und schädliche Pakete für Sprachpakete in einem Container-Image.

  • Daten zu Sicherheitslücken werden aus der GitHub Advisory Database abgerufen.
  • Daten zu schädlichen Paketen werden aus dem OpenSSF Malicious Packages Repository abgerufen. Schädliche Pakete werden als Ergebnisse mit dem Schweregrad CRITICAL gemeldet. Die Artefaktanalyse erkennt schädliche Pakete, die in die folgenden Kategorien fallen:

    • Typosquatting oder Verwechslung von Abhängigkeiten: Pakete, die mit Namen veröffentlicht werden, die beliebten Paketen ähneln, um Nutzer dazu zu bringen, sie zu installieren.
    • Kontenübernahme: Legitime Pakete, die von böswilligen Akteuren kompromittiert wurden.
    • Schädliche Binärdateien: Vorkompilierte Binärdateien für ein Paket, die schädlichen Code enthalten.
    • Aktivität von Sicherheitsforschern: Pakete, die von Forschern erstellt wurden, um Sicherheitslücken zu demonstrieren oder die Paketnutzung zu verfolgen.

In den meisten Fällen wird jeder Sicherheitslücke eine CVE-ID zugewiesen. Diese ID wird zur Hauptkennung für diese Sicherheitslücke. Wenn einer Sicherheitslücke keine CVE-ID zugewiesen ist, wird stattdessen eine GHSA-ID als Kennung zugewiesen. Wenn die Sicherheitslücke später eine CVE-ID erhält, wird die Sicherheitslücken-ID entsprechend aktualisiert. Hinweise zu schädlichen Paketen haben IDs mit dem Präfix MAL-. Weitere Informationen finden Sie unter Auf eine bestimmte Sicherheitslücke in einem Projekt prüfen.

Unterstützte Betriebssystemversionen

Die Artefaktanalyse unterstützt das Scannen auf Sicherheitslücken für die folgenden Versionen der Betriebssystemsoftware:

  • AlmaLinux OS-Versionen: 8, 9, 10 und Nebenversionen
  • Alpine Linux-Versionen: 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, 3.14, 3.15, 3.16, 3.17, 3.18, 3.19, 3.20, 3.21, 3.22, 3.23
  • CentOS-Versionen: 6, 7, 8 und Nebenversionen
  • Chainguard: Rolling Updates in einem einzelnen Release-Track.
  • Debian GNU/Linux-Versionen: 11, 12, 13, 14, 15
  • MinimOS: Rolling Updates in einem einzelnen Release-Track.
  • Red Hat Enterprise Linux (RHEL): Die Versionen 7, 8, 9 und Nebenversionen werden für automatische Registry-Scans unterstützt.
  • Red Hat Universal Base Image (UBI): Versionen 8, 9 und Nebenversionen
  • Rocky Linux-Versionen: 8, 9, 10 und Nebenversionen
  • SUSE Linux Enterprise Server (SLES): Versionen 12, 15 und Nebenversionen; SLES for SAP wird auch mit denselben Versionen unterstützt.
  • Ubuntu-Versionen: 14.04, 16.04, 18.04, 20.04, 22.04, 24.04, 24.10, 25.04, 25.10
  • Wolfi: Rolling Updates in einem einzelnen Release-Track.

Beschränkungen

  • Die Hauptfunktion der Artefaktanalyse besteht darin, Sicherheitslücken in Containern zu scannen und zu erkennen und diese Sicherheitslücken für Ihre Organisation sichtbar zu machen. Die Artefaktanalyse erhebt nicht den Anspruch, Merkmale von Images zu identifizieren, die die Fähigkeit Ihrer Organisation erhöhen oder verringern könnten, die Integrität oder Vertrauenswürdigkeit eines Images zu überprüfen. Um dieses Vertrauen weiter zu stärken, bietet Google Lösungen, die Sie einzeln oder in Kombination verwenden können. Weitere Informationen zu unserem Ansatz für die Sicherheit der Softwarelieferkette.

  • Die Artefaktanalyse liefert Ergebnisse zum Scannen auf Sicherheitslücken für RHEL basierend auf der neuesten Nebenversion für jede veröffentlichte Hauptversion. Wenn Sie eine ältere Nebenversion scannen, erhalten Sie möglicherweise ungenaue Ergebnisse.

  • RHEL Version 9 wird für das On-Demand-Scannen nicht unterstützt.

Paketmanager und semantische Versionsverwaltung

Nächste Schritte