
Scanner di vulnerabilità delle dipendenze di nuova generazione con analisi di raggiungibilità, generazione di SBOM, audit delle licenze e scansione delle immagini container per l'integrazione CI/CD.
OWASP dep-scan è uno strumento di audit della sicurezza e dei rischi di nuova generazione basato su vulnerabilità note, avvisi e limitazioni di licenza per le dipendenze del progetto. Sono supportati come input sia repository locali che immagini container, e lo strumento è ideale per l'integrazione con piattaforme ASPM/VM e in ambienti CI.
Flussi di dati dettagliati per identificare sia i percorsi raggiungibili che quelli non raggiungibili nella tua applicazione in base al contesto completo.

dep-scan calcola la raggiungibilità per sette ecosistemi linguistici tramite quattro slicer. Un pacchetto vulnerabile il cui codice è effettivamente su un percorso eseguito viene contrassegnato come Reachable, mentre un pacchetto che è semplicemente dichiarato nel BOM ma mai chiamato non lo è. Ogni slicer alimenta lo stesso motore di raggiungibilità condiviso, indicizzato per purl, quindi il comportamento è uniforme tra i linguaggi. La raggiungibilità è attiva per impostazione predefinita (--reachability-analyzer FrameworkReachability); SemanticReachability attribuisce inoltre servizi, endpoint e raggiungibilità post-build (binaria/container) raggiunti.
| Linguaggio / ecosistema | Motore di reachability | Analizzatore predefinito |
|---|---|---|
| Java / JVM (Groovy, Kotlin, Scala) | atom | FrameworkReachability |
| JavaScript / TypeScript | atom | FrameworkReachability |
| Python | atom | FrameworkReachability |
| PHP | atom | FrameworkReachability |
| Rust | rusi | FrameworkReachability |
| Go | golem | FrameworkReachability |
| .NET (C#, VB, F#, R) | dosai | FrameworkReachability |
Per i concetti alla base della reachability e della prioritizzazione, consulta i capitoli modello di reachability e prioritizzazione. Per esempi pratici per singolo linguaggio, vedi le Guide per linguaggio. Per gli aspetti di conformità (VDR e CSAF VEX), vedi la guida VDR e la guida CSAF VEX.
La reachability è attiva per impostazione predefinita con --profile research, che è il profilo usato da dep-scan quando la reachability è abilitata. I comandi seguenti sono sufficienti per iniziare; le guide per linguaggio trattano la risoluzione dei binari, la sicurezza di backend e rete, i requisiti di restore e esempi pratici sui fixture presenti nel repository.
Rust (rusi). cdxgen esegue rusi e salva il suo report, che dep-scan converte nella pipeline condivisa, così un crate che viene effettivamente chiamato (ad esempio time::now() per RUSTSEC-2020-0071) risulta Reachable mentre uno semplicemente presente non lo è. Vedi la guida alla reachability per Rust.
depscan -i ./my-rust-app -o ./reports --profile research
Go (golem). dep-scan invoca direttamente golem per i progetti Go (richiede go nel PATH), contrassegnando un modulo come Reachable quando le sue funzioni si trovano su un percorso tracciato. Usa --go-analyzer-network offline per repository non attendibili con una cache dei moduli già popolata. Consulta la guida alla reachability per Go.
depscan -i ./my-go-app -o ./reports -t go
.NET (dosai). cdxgen esegue dosai, che emette un verdetto esplicito di raggiungibilità per pacchetto (PackageReachability con ReachabilityKind e Confidence) che dep-scan considera autorevole, quindi un pacchetto NuGet effettivamente chiamato (ad esempio JsonConvert.DeserializeObject su un input controllato) risulta Reachable. Esegue la scansione di un albero ripristinato per purl versionati. Consulta la guida alla raggiungibilità .NET.
depscan -i ./my-dotnet-app -o ./reports -t dotnet