Configuration des analyses Syft et Grype

Présentation

Le Code Risk Analyzer (CRA) étant en voie d'abandon, les analyses Syft et Grype constituent des alternatives qui offrent la plupart des fonctionnalités du CRA.

Cette analyse fait partie de la phase de vérification de la conformité disponible dans les pipelines PR (app-preview), CI et CC.

But

Syft est un outil en ligne de commande permettant de générer une SBOM à partir d'images de conteneurs et de systèmes de fichiers.

Une liste des composants logiciels (SBOM) est un inventaire détaillé de toutes les bibliothèques et de tous les composants qui constituent un logiciel.

Pour en savoir plus sur les SBOM, consultez la rubrique « Software Bill of Materials ».

Grype

Grype est un outil en ligne de commande permettant d'analyser les images de conteneurs, les systèmes de fichiers et les SBOM à la recherche de vulnérabilités connues.

L'analyse des vulnérabilités consiste à identifier les failles de sécurité connues dans les progiciels et leurs dépendances.

Activation et configuration des analyses Syft et Grype

Pour activer la génération de la SBOM par Syft et la validation de la SBOM par Grype, ajoutez « opt-in-syft-grype » en tant que propriété de type texte dans les propriétés de votre pipeline ou de votre déclencheur, en lui attribuant une valeur sous forme de chaîne non vide (à l'exception de « 0 »).

L'activation de cette fonctionnalité lance à la fois les scripts Syft et Grype déclenchés par le script de vérification de conformité, comme indiqué dans la documentation de la bibliothèque de scripts Commons. Les scripts installent automatiquement Syft et Grype s'ils ne sont pas déjà présents.

Paramètres Syft

Les propriétés d'environnement du pipeline répertoriées dans le tableau ci-dessous permettent de personnaliser la génération de la SBOM par Syft.

Paramètres Syft
Nom du paramètre Description
app-name Nom de la cible analysée par Syft. Cette valeur sert de nom de source dans la SBOM générée.
syft-exclude Liste, séparée par des virgules, des chemins d'accès à exclure de la génération de la SBOM. Exemple : node_modules,test,*.log.
syft-print-summary-as-table Définissez cette option sur n'importe quelle chaîne non vide pour afficher le résumé de l'analyse Syft sous forme de tableau dans le fichier journal.
syft-<XXX> Toute propriété de texte de pipeline ou de déclencheur préfixée par « syft- » (à l'exception des propriétés réservées mentionnées ci-dessus) est exportée en tant que variable d'environnement de configuration Syft SYFT_XXX. Par exemple, syft-file-metadata-cataloger-enabled devient SYFT_FILE_METADATA_CATALOGER_ENABLED. Consultez la section « Configuration de Syft » pour connaître les options disponibles.

Pièces à conviction et pièces jointes dans Syft

Le pipeline « DevSecOps » transfère les éléments de preuve vers le « locker » et les intègre au récapitulatif des éléments de preuve des demandes de modification.

Champs et valeurs des preuves Syft
Zone Valeur
tool type syft
evidence type com.ibm.code_bom_check
asset type repo
attachments syft_sbom.json ( CycloneDX, format JSON)

Paramètres de Grype

Les propriétés d'environnement du pipeline répertoriées dans le tableau ci-dessous permettent de personnaliser l'analyse des vulnérabilités effectuée par Grype.

Paramètres de Grype
Nom du paramètre Description
grype-<XXX> Toute propriété de texte de pipeline ou de déclencheur préfixée par ( grype- à l'exception des propriétés réservées ci-dessus) est exportée en tant que variable d'environnement de configuration Grype GRYPE_XXX. Par exemple, devient grype-db-auto-update GRYPE_DB_AUTO_UPDATE. Consultez la configuration de Grype pour connaître les options disponibles.

Pièces à conviction et pièces jointes Grype

Le pipeline « DevSecOps » transfère les éléments de preuve vers le « locker » et les intègre au récapitulatif des éléments de preuve des demandes de modification. Des incidents de conformité sont créés pour les vulnérabilités détectées lors de l'analyse.

Champs et valeurs des preuves Grype
Zone Valeur
tool type grype
evidence type com.ibm.code_vulnerability_scan
asset type repo
attachments <repo-key>_grype_report_extended.json (Rapport de vulnérabilité Grype avec les dépendances SBOM)

Accéder aux résultats de votre examen d'imagerie

Vous pouvez consulter les résultats de votre scan en procédant comme suit :