
Intelligence su pacchetti malevoli e supply chain
Funzionalità • Installazione • Utilizzo • Esecuzione di depx • JSON • Unisciti a Discord
depx è una CLI veloce e passiva per l'intelligence della supply chain. Indica se un pacchetto è noto come malevolo (pubblicazioni dirottate, rubacredenziali, backdoor negli script di installazione) confrontandolo con i dati di OpenSSF Malicious Packages (MAL-*, formato OSV) e un feed di intelligence live curato da X (Grok API), aggiornato ogni ora.
Risponde a quattro domande in pochi secondi:
depx feed (o --list per una riga per risultato).--require-clean, esportazione SARIF e un envelope JSON versionato.ecosystem:nome, nome semplice o elenco tramite pipe.--exclude-pkg per escludere pacchetti noti come sicuri dai risultati dell'audit.curl -sfL https://raw.githubusercontent.com/projectdiscovery/depx/main/scripts/install.sh | sh
Scarica l'ultima release per il tuo sistema operativo/architettura (o compila con go install come fallback). Lo script verifica il binario e aggiorna il tuo PATH di shell quando necessario.
Da sorgente (richiede Go 1.25+):
git clone https://github.com/projectdiscovery/depx.git
cd depx
make build
./bin/depx --help
Oppure installa direttamente con Go:
go install github.com/projectdiscovery/depx/cmd/depx@latest
I binari precompilati sono anche sulla pagina GitHub releases.
depx --help
Comandi e flag principali:
Usage:
depx [flags]
depx [command]
Available Commands:
feed Show recently disclosed malicious packages (cards)
audit Audit dependencies for malicious packages (default: $HOME)
github Audit GitHub repositories via dependency-graph SBOM
search Search known malicious packages by name (local index)
id Lookup advisory by ID
version Show version and check for updates
update Update depx to the latest version
Global flags:
-j, --json Machine-readable JSON output
-V, --version Show version and exit
-e, --ecosystem string Restrict lookup to one ecosystem (npm, PyPI, Go, ...)
-v, --verbose Extra audit/github detail
--silent Suppress banner and version info
--no-color Disable ANSI colors
--config string Config file path
--update Update depx to the latest version
--disable-update-check Disable the update check
Default command (intelligence dashboard):
--since string Feed time window (default "3d")
-n, --limit int Dashboard/feed entry cap on default command
depx feed:
--since string Feed time window (default "3d")
-n, --limit int Result limit
--list One header line per result
depx search:
-n, --limit int Max results shown (default 25)
--list One header line per result
depx audit / depx github:
--require-clean Exit 1 if any malicious package is found
--exclude-pkg string File of ecosystem:package lines to exclude from findings
-o, --output string Write export file(s) to this path or basename
--output-format string Comma-separated export formats: json, csv, txt (default: json)
--sarif-export string Write SARIF 2.1.0 report to this path
--sbom-export string Write audited dependency SBOM (audit only)
--sbom-format string SBOM format: cyclonedx (default) or spdx
depx github:
-n, --limit int Max repos for org/user targets (default 100 with token, 10 without)
depx id:
--raw Raw OSV record only
depx # dashboard per gli ultimi 3 giorni
depx --since 7d # amplia la finestra temporale
depx -e npm # dashboard solo npm
depx feed # feed a schede (nessuna dashboard)
depx feed --list # una riga per advisory
depx -j # JSON per dashboard / pipeline
Scansiona lockfile e SBOM confrontandoli con un indice locale di pacchetti malevoli, immediato dopo la prima esecuzione. Senza un percorso, depx analizza $HOME per progetti e installazioni globali.
depx audit # analizza $HOME per progetti + installazioni globali
depx audit ./my-app # un singolo albero di progetto
depx audit ./bom.cdx.json # un file CycloneDX / SPDX
Supporta lockfile di npm, PyPI, Go, Cargo, RubyGems, Maven/Gradle e SBOM CycloneDX / SPDX.
Sopprimi i falsi positivi. Quando un pacchetto viene segnalato ma hai verificato che è sicuro, passa a --exclude-pkg (su audit o github) un file contenente righe separate da newline con ecosystem:pacchetto da rimuovere dai risultati:
depx audit ./my-app --exclude-pkg .depxignore
depx github google --exclude-pkg .depxignore
# .depxignore: pacchetti da escludere dai risultati
npm:internal-tool
PyPI:requests
*:shared-lib # '*' corrisponde a qualsiasi ecosistema
Utilizza gli export SBOM del dependency graph di GitHub. Imposta GITHUB_TOKEN per repository privati e scoperta di organizzazioni.
depx github projectdiscovery/depx
depx github google
depx github