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.
| 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.
| 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.
| 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.
| 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:
- Utilizzo dello strumento a riga di comando CLI di DevSecOps/CoCoa per scaricare i risultati della scansione dall'archivio delle prove, utilizzando le informazioni riportate nel registro di fase. Per ulteriori informazioni, consulta le seguenti risorse: