Scanner di vulnerabilità scritto in Go che utilizza i dati forniti da https://osv.dev
Usa OSV-Scanner per trovare le vulnerabilità esistenti che interessano le dipendenze del tuo progetto. OSV-Scanner fornisce un frontend ufficialmente supportato per il database OSV e un'interfaccia CLI per OSV-Scalibr che collega l'elenco delle dipendenze di un progetto alle vulnerabilità che le interessano.
OSV-Scanner supporta un'ampia gamma di tipi di progetto, gestori di pacchetti e funzionalità, tra cui:
OSV-Scanner utilizza internamente la libreria estensibile OSV-Scalibr per fornire questa funzionalità. Se un linguaggio o un gestore di pacchetti non è attualmente supportato, ti preghiamo di aprire una richiesta di funzionalità.
Il database sottostante, OSV.dev, offre diversi vantaggi rispetto ai database di advisory e agli scanner closed source:
Tutto ciò si traduce in notifiche di vulnerabilità accurate e utilizzabili, che riducono il tempo necessario per risolverle. Dai un'occhiata a OSV.dev per maggiori dettagli!
Per installare OSV-Scanner, fai riferimento alla sezione sull'installazione della nostra documentazione. Le release di OSV-Scanner sono disponibili nella pagina delle release del repository GitHub. Il metodo consigliato è scaricare un binario precompilato per la tua piattaforma. In alternativa, puoi usare
go install github.com/google/osv-scanner/v2/cmd/osv-scanner@latest per compilarlo dal sorgente.
Per maggiori informazioni, leggi la nostra documentazione dettagliata per imparare come usare OSV-Scanner. Per informazioni dettagliate su ciascuna funzionalità, fai clic sui loro titoli in questo README.
Nota: queste sono le istruzioni per l'ultima beta di OSV-Scanner V2. Se stai usando V1, consulta invece il README e la documentazione della V1.
$ osv-scanner scan source -r /path/to/your/dir
Questo comando scansionerà ricorsivamente la directory specificata per individuare eventuali file di pacchetto supportati, come package.json, go.mod, pom.xml, ecc., e mostrerà tutte le vulnerabilità rilevate.
OSV-Scanner ha la possibilità di utilizzare l'analisi delle chiamate per determinare se una funzione vulnerabile è effettivamente usata nel progetto, riducendo i falsi positivi e fornendo avvisi utilizzabili.
OSV-Scanner può anche rilevare il codice C/C++ vendored per la scansione delle vulnerabilità. Vedi qui per i dettagli.
OSV-Scanner supporta 11+ ecosistemi linguistici e 19+ tipi di lockfile. Per verificare se il tuo ecosistema è coperto, consulta la nostra documentazione dettagliata.
OSV-Scanner supporta anche una scansione completa e sensibile ai layer per le immagini dei contenitori, per rilevare vulnerabilità nei seguenti pacchetti del sistema operativo e nelle dipendenze specifiche del linguaggio.
| Supporto distro | Supporto artefatti dei linguaggi |
|---|---|
| Alpine OS | Go |
| Debian | Java |
| Ubuntu | Node |
| Python |
Consulta la documentazione completa per i dettagli sul supporto.
Utilizzo:
$ osv-scanner scan image my-image-name:tag

Controlla le licenze delle tue dipendenze utilizzando i dati di deps.dev. Per un riepilogo:
osv-scanner --licenses path/to/repository
Per verificare rispetto a un elenco di licenze consentite (formato SPDX):
osv-scanner --licenses="MIT,Apache-2.0" path/to/directory
Scansiona il tuo progetto utilizzando un database OSV locale. Non è richiesta alcuna connessione di rete dopo il download iniziale del database. Il database può anche essere scaricato manualmente.
osv-scanner --offline --download-offline-databases ./path/to/your/dir
[!WARNING] La remediation guidata (il comando
fix) può essere rischiosa se eseguita su progetti non affidabili. Potrebbe indurre il gestore di pacchetti a eseguire script o a seguire registri esterni specificati nel progetto. Assicurati di fidarti del codice sorgente e degli artefatti prima di procedere.