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.
| 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.
| 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.
| 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.
| 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 :
- Utilisation de l'outil en ligne de commande (CLI)« DevSecOps/CoCoa » pour télécharger les résultats de votre analyse depuis le « evidence locker » à l'aide des informations figurant dans le journal d'étapes. Pour plus d'informations, voir les ressources suivantes :