
Scansiona le Software Bill of Materials (SBOMs) per vulnerabilità di sicurezza

bomber è un'applicazione che scansiona gli SBOM per vulnerabilità di sicurezza.
Quindi hai chiesto a un fornitore un Software Bill of Materials (SBOM) per uno dei loro prodotti closed source, e te ne hanno fornito uno in un file JSON... e ora?
La prima cosa che vorrai fare è vedere se qualche componente elencato all'interno dell'SBOM ha vulnerabilità di sicurezza, e che tipo di licenze hanno questi componenti. Questo ti aiuterà a identificare il tipo di rischio che correrai utilizzando il prodotto.
Trovare vulnerabilità di sicurezza e informazioni sulle licenze per i componenti identificati in un SBOM è esattamente ciò che bomber è progettato per fare. bomber può leggere qualsiasi formato CycloneDX basato su JSON o XML, o un SBOM in formato JSON SPDX o Syft, e dirti abbastanza rapidamente se ci sono vulnerabilità.
Il software può essere open source o closed source. Puoi esaminare i componenti di terze parti che trovi su Github, o qualsiasi repository pubblico, come open source. Tecnicamente, anche il software che crei internamente nella tua azienda è open source - non è pubblico, ma i tuoi team interni possono vederlo. Il software closed source può anche essere interno, ma di solito è software che acquisti da fornitori esterni.
Le aziende possono utilizzare strumenti SCA forniti da vendor come Github, Sonatype, Snyk, ecc. per scansionare qualsiasi tipo di open source e fornire dati sulle vulnerabilità - e persino generare SBOM in alcuni casi. Quello che non possono fare (ancora...) è scansionare software closed source di cui non hai visibilità. È qui che entrano in gioco gli SBOM e bomber. Gli SBOM forniscono la composizione del software a cui non puoi accedere, e bomber determina se qualcosa nell'SBOM ha vulnerabilità.
Abbiamo creato bomber per scansionare gli SBOM closed source forniti quando li ricevi dai vendor. Può scansionare anche SBOM open source, e tecnicamente potresti usare bomber come strumento SCA open source se lo desideri.
Esistono diversi formati SBOM oggi disponibili. bomber supporta i seguenti:

bomber supporta molteplici fonti per le informazioni sulle vulnerabilità. Le chiamiamo provider. Attualmente, bomber utilizza OSV come provider predefinito, ma puoi anche usare il Database Advisory di Github, il Sonatype OSS Index, o Snyk.
Al momento, si noti che OSV è gratuito e non richiede credenziali per l'uso, Sonatype OSS Index è gratuito ma richiede la registrazione e l'ottenimento di un token, e il supporto per Snyk richiede una licenza Snyk.
Oltre ai dati che bomber raccoglie dai Provider, arricchisce anche i dati sulle vulnerabilità con informazioni aggiuntive come le probabilità di sfruttamento.
Si noti che ogni provider supporta ecosistemi diversi, quindi se non vedi vulnerabilità in uno, prova un altro. Un ecosistema è semplicemente il gestore di pacchetti, o il tipo di pacchetto. Esempi includono rpm, npm, gems, ecc. È importante capire che ogni provider potrebbe segnalare vulnerabilità diverse. In caso di dubbio, controllane alcuni.
Se bomber non trova vulnerabilità, non significa che non ce ne siano. Significa solo che il provider utilizzato non ne ha rilevate, o non supporta l'ecosistema. Alcuni provider hanno vulnerabilità che tornano senza informazioni sulla gravità. In questo caso, la gravità sarà elencata come "UNDEFINED".
La documentazione dei provider per bomber si trova:
Puoi usare Homebrew per installare bomber usando il seguente comando:
brew tap devops-kung-fu/homebrew-tap
brew install devops-kung-fu/homebrew-tap/bomber
Se non hai Homebrew, puoi comunque scaricare l'ultima release (es: bomber_0.4.1_darwin_all.tar.gz), estrarre i file dall'archivio e utilizzare il binario bomber.
Se lo desideri, puoi spostare il binario bomber nella directory /usr/local/bin o in qualsiasi punto del tuo PATH.
Per installare bomber, scarica l'ultima release per la tua piattaforma e installalo localmente. Ad esempio, installa bomber su Ubuntu:
dpkg -i bomber_0.5.0_linux_arm64.deb