OWASP dependency-check è un'utilità di analisi della composizione software che rileva vulnerabilità pubblicamente divulgate nelle dipendenze delle applicazioni.
Dependency-Check è uno strumento di Analisi della Composizione Software (SCA) che tenta di rilevare vulnerabilità pubblicamente divulgate contenute nelle dipendenze di un progetto. Questo viene fatto determinando se esiste un identificatore Common Platform Enumeration (CPE) per una data dipendenza. Se trovato, genererà un report che collega le voci CVE associate.
La documentazione e i link alle release binarie di produzione possono essere trovati sulle GitHub Pages. Inoltre, maggiori informazioni sull'architettura e su come estendere dependency-check sono disponibili sul [wiki].
Questo prodotto utilizza l'API NVD ma non è approvato o certificato da NVD.
A causa dei cambiamenti di compatibilità dell'API NVD, è obbligatorio effettuare un aggiornamento. Vedi #7463 per ulteriori informazioni.
Java 11 è ora richiesto per eseguire dependency-check 11.0.0 o versioni successive
Aggiornamento del database H2
11.0.0 contiene modifiche incompatibili con il database H2 locale. Si verificherà un download completo dei dati NVD. Nota che se si utilizza una directory dati condivisa, il file del database h2 non è compatibile con le versioni precedenti di dependency-check.
In caso di problemi, potrebbe essere necessario eseguire un purge:
./gradlew dependencyCheckPurgemvn org.owasp:dependency-check-maven:11.0.0:purgedependency-check.sh --purgeDa 9.0.0+ (gennaio 2024), dependency-check ha abbandonato il feed dati NVD a favore dell'API NVD.
Gli utenti di dependency-check sono fortemente invitati a procurarsi una Chiave API NVD; consulta https://nvd.nist.gov/developers/request-an-api-key
Senza una Chiave API NVD, gli aggiornamenti di dependency-check saranno estremamente lenti.
Consulta la documentazione per le integrazioni CLI, Maven, Gradle o Ant su
come impostare la chiave API NVD.
L'API NVD applica limiti di frequenza. Se si utilizza una singola API KEY e vengono eseguiti più build, si potrebbe superare il limite di frequenza e ricevere errori 403. In un ambiente CI è necessario utilizzare una strategia di caching.
Nel settembre 2025 Sonatype OSS Index ha iniziato ad applicare l'uso di token API per l'autenticazione. Nell'aprile 2026 è iniziata una successiva migrazione verso Sonatype Guide, avviando una transizione verso l'uso di Token API di Sonatype Guide che dovrebbero sostituire le chiavi/token legacy dell'API OSS Index entro la fine del 2026.
Senza credenziali, Dependency Check disabiliterà automaticamente l'analizzatore OSS Index. Consulta la documentazione per le integrazioni CLI, Maven, Gradle o Ant su come impostare le credenziali dell'analizzatore per l'uso di un token Sonatype Guide o di una chiave API OSS Index legacy.
Se desideri utilizzare Sonatype OSS Index (tramite Guide) devi configurare Dependency-Check e considerare le implicazioni per la migrazione a Sonatype Guide; il cui modello commerciale/d'uso è cambiato. Consulta la documentazione degli analyzer per ulteriori informazioni.
Con 9.0.0+ gli utenti potrebbero riscontrare problemi con eccezioni NoSuchMethodError dovute alla
risoluzione delle dipendenze. Se incontri questo problema, dovrai fissare alcune delle
dipendenze transitive di dependency-check a versioni specifiche. Ad esempio:
/buildSrc/build.gradle
dependencies {
constraints {
// org.owasp.dependencycheck needs at least this version of jackson. Other plugins pull in older versions..
add("implementation", "com.fasterxml.jackson:jackson-bom:2.21.2")
// org.owasp.dependencycheck needs these versions. Other plugins pull in older versions..
add("implementation", "org.apache.commons:commons-lang3:3.20.0")
add("implementation", "org.apache.commons:commons-text:1.15.0")
}
}
Versione Java minima: Java 11
OWASP dependency-check richiede l'accesso a diverse risorse ospitate esternamente. Per ulteriori informazioni vedere Accesso a Internet Richiesto.
Al fine di analizzare alcuni stack tecnologici, dependency-check potrebbe richiedere che altri strumenti di sviluppo siano installati. Alcune delle analisi elencate di seguito potrebbero essere sperimentali e richiedere che gli analyzer sperimentali siano abilitati.
go.Elixir richiede mix_audit.npm, pnpm e yarn richiede che npm, pnpm o yarn siano installati.
audit di ciascuno.bundle-audit, che deve essere installato.Per istruzioni sull'utilizzo del plugin Jenkins, consulta la pagina del plugin OWASP Dependency-Check.
Istruzioni più dettagliate possono essere trovate su GitHub Pages di dependency-check. L'ultima CLI può essere scaricata da GitHub nella sezione delle release.
Scaricamento dell'ultima release:
$ VERSION=$(curl -s https://dependency-check.github.io/DependencyCheck/current.txt)
$ curl -Ls "https://github.com/dependency-check/DependencyCheck/releases/download/v$VERSION/dependency-check-$VERSION-release.zip" --output dependency-check.zip