Configurazione delle scansioni Syft e Grype

Panoramica

Poiché Code Risk Analyzer (CRA) è stato dichiarato obsoleto, le scansioni Syft e Grype rappresentano un’alternativa in grado di offrire la maggior parte delle funzionalità di CRA.

Questa scansione fa parte della fase di controllo della conformità disponibile nelle pipeline PR (anteprima dell'app), CI e CC.

Syft

Syft è uno strumento CLI che consente di generare un SBOM a partire da immagini di container e filesystem.

Una "Software Bill of Materials" (SBOM) è un elenco dettagliato di tutte le librerie e i componenti che costituiscono un software.

Per ulteriori informazioni sugli SBOM, consultare la voce " Software Bill of Materials ".

Grype

Grype è uno strumento CLI che consente di eseguire la scansione di immagini di container, file system e SBOM alla ricerca di vulnerabilità note.

La scansione delle vulnerabilità è il processo volto a identificare le vulnerabilità di sicurezza note presenti nei pacchetti software e nelle dipendenze.

Attivazione e configurazione delle scansioni Syft e Grype

Per abilitare la generazione dello SBOM con Syft e la convalida dello SBOM con Grype, aggiungi opt-in-syft-grype come proprietà di tipo testo alle proprietà della tua pipeline o del tuo trigger, impostando il valore su una stringa non vuota (ad eccezione di 0).

L'attivazione di questa funzione avvia sia gli script Syft che quelli Grype, attivati dallo script dei controlli di conformità, come indicato nella documentazione della Commons Scripts Library. Gli script installano automaticamente Syft e Grype se non sono già presenti.

Parametri Syft

Le proprietà dell'ambiente della pipeline elencate nella tabella seguente vengono utilizzate per personalizzare la generazione della SBOM con Syft.

Parametri Syft
Nome del parametro Descrizione
app-name Nome del bersaglio analizzato da Syft. Questo valore viene utilizzato come nome della fonte nella SBOM generata.
syft-exclude Elenco, separato da virgole, dei percorsi da escludere dalla generazione dello SBOM. Esempio: node_modules,test,*.log.
syft-print-summary-as-table Impostare su una stringa non vuota per visualizzare il riepilogo della scansione Syft sotto forma di tabella nell'output del log.
syft-<XXX> Qualsiasi proprietà di testo relativa a una pipeline o a un trigger preceduta dal prefisso syft- (ad eccezione delle proprietà riservate sopra indicate) viene esportata come variabile dell'ambiente di configurazione Syft SYFT_XXX. Ad esempio, syft-file-metadata-cataloger-enabled diventa SYFT_FILE_METADATA_CATALOGER_ENABLED. Per le opzioni disponibili, consultare la sezione " Configurazione di Syft ".

Prove e allegati relativi a Syft

La pipeline “ DevSecOps ” carica le prove nel repository e le include nel riepilogo delle prove relativo alle richieste di modifica.

Campi e valori delle prove Syft
Campo Valore
tool type syft
evidence type com.ibm.code_bom_check
asset type repo
attachments syft_sbom.json ( CycloneDX, formato JSON)

Parametri di Grype

Le proprietà dell'ambiente della pipeline elencate nella tabella seguente vengono utilizzate per personalizzare la scansione delle vulnerabilità di Grype.

Parametri di Grype
Nome del parametro Descrizione
grype-<XXX> Qualsiasi proprietà di testo relativa a una pipeline o a un trigger preceduta dal prefisso grype- (ad eccezione delle proprietà riservate sopra indicate) viene esportata come variabile dell'ambiente di configurazione di Grype GRYPE_XXX. Ad esempio, grype-db-auto-update diventa GRYPE_DB_AUTO_UPDATE. Per le opzioni disponibili, consultare la sezione " Configurazione di Grype ".

Prove e allegati relativi a Grype

La pipeline “ DevSecOps ” carica le prove nel repository e le include nel riepilogo delle prove relativo alle richieste di modifica. Gli incidenti di conformità vengono creati in relazione alle vulnerabilità individuate durante la scansione.

Campi e valori delle prove di Grype
Campo Valore
tool type grype
evidence type com.ibm.code_vulnerability_scan
asset type repo
attachments <repo-key>_grype_report_extended.json (Segnalazione di vulnerabilità Grype con dipendenze SBOM)

Come accedere ai risultati della scansione

È possibile accedere ai risultati della scansione seguendo la procedura indicata di seguito: