Konfiguration von Syft- und Grype-Scans

Übersicht

Da der Code Risk Analyzer (CRA) nicht mehr weiterentwickelt wird, bieten die Scans von Syft und Grype eine Alternative, die die meisten Funktionen des CRA abdecken.

Dieser Scan ist Teil der Phase der Konformitätsprüfungen, die in den Pipelines PR (App-Vorschau), CI und CC verfügbar ist.

Zweck

Syft ist ein CLI-Tool zur Erstellung einer SBOM aus Container-Images und Dateisystemen.

Eine Software-Stückliste (SBOM) ist eine detaillierte Auflistung aller Bibliotheken und Komponenten, aus denen sich eine Software zusammensetzt.

Weitere Informationen zu SBOMs finden Sie unter „ Software Bill of Materials “.

Grype

Grype ist ein CLI-Tool zum Scannen von Container-Images, Dateisystemen und SBOMs auf bekannte Schwachstellen.

Unter einer Schwachstellenanalyse versteht man den Prozess der Identifizierung bekannter Sicherheitslücken in Softwarepaketen und deren Abhängigkeiten.

Aktivieren und Konfigurieren von Syft- und Grype-Scans

Um die Erstellung einer Syft-SBOM und die Validierung einer Grype-SBOM zu aktivieren, fügen Sie „ opt-in-syft-grype “ als Texteigenschaft zu Ihren Pipeline- oder Trigger-Eigenschaften hinzu, wobei der Wert auf eine nicht leere Zeichenfolge gesetzt sein muss (mit Ausnahme von „ 0 “).

Durch die Aktivierung dieser Funktion werden sowohl Syft- als auch Grype-Skripte ausgeführt, die über das Skript für die Konformitätsprüfungen ausgelöst werden (siehe Dokumentation zur Commons Scripts Library ). Die Skripte installieren Syft und Grype automatisch, falls diese noch nicht vorhanden sind.

Syft-Parameter

Die in der folgenden Tabelle aufgeführten Eigenschaften der Pipeline-Umgebung dienen dazu, die Erstellung der Syft-SBOM anzupassen.

Syft-Parameter
Parametername Beschreibung
app-name Name des Ziels, das von Syft analysiert wird. Dieser Wert wird in der generierten SBOM als Quellenname verwendet.
syft-exclude Durch Kommas getrennte Liste der Pfade, die bei der SBOM-Erstellung ausgeschlossen werden sollen. Beispiel: node_modules,test,*.log.
syft-print-summary-as-table Setzen Sie diesen Wert auf eine beliebige nicht leere Zeichenkette, um die Syft-Scan-Zusammenfassung als Tabelle in der Protokollausgabe anzuzeigen.
syft-<XXX> Jede Pipeline- oder Trigger-Texteigenschaft, deren Name mit „ syft- “ beginnt (mit Ausnahme der oben genannten reservierten Eigenschaften), wird als Syft-Konfigurationsumgebungsvariable „ SYFT_XXX “ exportiert. Beispielsweise wird aus syft-file-metadata-cataloger-enabled die Adresse SYFT_FILE_METADATA_CATALOGER_ENABLED. Die verfügbaren Optionen finden Sie unter „ Syft-Konfiguration “.

Syft-Beweismittel und Anlagen

Die Pipeline „ DevSecOps “ lädt Beweismittel in den Speicher hoch und fügt sie der Beweismittelübersicht für Änderungsanträge hinzu.

Syft-Beweisfelder und -Werte
Feld Wert
tool type syft
evidence type com.ibm.code_bom_check
asset type repo
attachments syft_sbom.json ( CycloneDX, JSON-Format)

Grype-Parameter

Die in der folgenden Tabelle aufgeführten Pipeline-Umgebungseigenschaften dienen dazu, den Grype-Schwachstellenscan anzupassen.

Grype-Parameter
Parametername Beschreibung
grype-<XXX> Jede Pipeline- oder Trigger-Texteigenschaft, der ein vorangestellt ist ( grype- mit Ausnahme der oben genannten reservierten Eigenschaften), wird als Grype-Konfigurationsumgebungsvariable exportiert GRYPE_XXX. Beispiel: grype-db-auto-update wird zu GRYPE_DB_AUTO_UPDATE. Verfügbare Optionen finden Sie unter Grype-Konfiguration.

Grype-Beweismittel und Anlagen

Die Pipeline „ DevSecOps “ lädt Beweismittel in den Speicher hoch und fügt sie der Beweismittelübersicht für Änderungsanträge hinzu. Für die beim Scan festgestellten Schwachstellen werden Compliance-Vorfälle angelegt.

Grype-Bezugsfelder und -Werte
Feld Wert
tool type grype
evidence type com.ibm.code_vulnerability_scan
asset type repo
attachments <repo-key>_grype_report_extended.json (Grype-Sicherheitsbericht mit SBOM-Abhängigkeiten)

So greifen Sie auf Ihre Scanergebnisse zu

Sie können wie folgt auf Ihre Scanergebnisse zugreifen: