
Intelligence sur les paquets malveillants et la chaîne d'approvisionnement
Fonctionnalités • Installation • Utilisation • Exécuter depx • JSON • Rejoindre Discord
depx est un outil CLI d'intelligence sur la chaîne d'approvisionnement, rapide et passif. Il vous indique si un package est connu comme malveillant (publications détournées, voleurs d'identifiants, portes dérobées dans les scripts d'installation) en croisant les données OpenSSF Malicious Packages (MAL-*, format OSV) et un flux d'intelligence en direct issu de X (Grok API), actualisé toutes les heures.
Il répond à quatre questions en quelques secondes :
depx feed (ou --list pour une ligne par résultat).--require-clean, export SARIF et enveloppe JSON versionnée.ecosystem:name, nom nu ou liste transmise via pipe.--exclude-pkg pour exclure des résultats d'audit les packages reconnus comme sûrs.curl -sfL https://raw.githubusercontent.com/projectdiscovery/depx/main/scripts/install.sh | sh
Télécharge la dernière version pour votre OS/architecture (ou compile avec go install en secours). Le script vérifie le binaire et met à jour le PATH de votre shell si nécessaire.
Depuis les sources (nécessite Go 1.25+) :
git clone https://github.com/projectdiscovery/depx.git
cd depx
make build
./bin/depx --help
Ou installez-le directement avec Go :
go install github.com/projectdiscovery/depx/cmd/depx@latest
Des binaires précompilés sont également disponibles sur la page des versions GitHub.
depx --help
Commandes et options principales :
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 for last 3 days
depx --since 7d # widen the time window
depx -e npm # npm-only dashboard
depx feed # card feed (no dashboard)
depx feed --list # one line per advisory
depx -j # JSON for dashboards / pipelines
Analyse les lockfiles et SBOM par rapport à un index local de packages malveillants, de façon instantanée dès la première exécution. Sans chemin, depx balaie $HOME à la recherche de projets et d'installations globales.
depx audit # sweep $HOME for projects + global installs
depx audit ./my-app # a single project tree
depx audit ./bom.cdx.json # a CycloneDX / SPDX file
Prend en charge les lockfiles npm, PyPI, Go, Cargo, RubyGems, Maven/Gradle ainsi que les SBOM CycloneDX / SPDX.
Supprimez les faux positifs. Lorsqu'un package que vous avez vérifié comme sûr est signalé, transmettez à --exclude-pkg (sur audit ou github) un fichier d'entrées ecosystem:package séparées par des retours à la ligne, à retirer des résultats :
depx audit ./my-app --exclude-pkg .depxignore
depx github google --exclude-pkg .depxignore
# .depxignore: packages to exclude from findings
npm:internal-tool
PyPI:requests
*:shared-lib # '*' matches any ecosystem
Utilise les exports SBOM du dependency-graph de GitHub. Définissez GITHUB_TOKEN pour les dépôts privés et la découverte d'organisations.
depx github projectdiscovery/depx
depx github google
depx github
L'accès GitHub non authentifié est soumis à une limite d'environ 60 requêtes/heure ; sans jeton, les analyses org/utilisateur se limitent donc par défaut à 10 dépôts (contre 100 avec un jeton). Définissez GITHUB_TOKEN, GH_TOKEN ou DEPX_GITHUB_TOKEN (ou augmentez explicitement la limite avec -n) pour analyser davantage.
depx npm:lodash
depx id MAL-2026-4343
depx search redhat
--require-clean renvoie un code de sortie non nul dès qu'un package malveillant est trouvé.
depx audit . --require-clean # fail the build if anything is malicious
depx github google --require-clean -j
| Code de sortie | Signification |
|---|---|
0 | Propre / succès |
1 | --require-clean et packages malveillants trouvés |
2 | Erreur d'utilisation |
3 | Source amont indisponible |
Chaque réponse -j utilise une enveloppe stable et versionnée, sur laquelle il est sûr de s'appuyer.
{
"schema_version": "1",
"command": "check",
"depx_version": "v0.1.0",
"data": {
"total": 1,
"results": [
{
"ref": "npm:evil-pkg",
"purl": "pkg:npm/evil-pkg",
"verdict": "malicious",
"confidence": "high",
"ids": ["MAL-2026-4343"],
"package_ecosystem": "npm",
"package_name": "evil-pkg",
"registry_url": "https://www.npmjs.com/package/evil-pkg",
"advisories": [
{
"id": "MAL-2026-4343",
"url": "https://github.com/ossf/malicious-packages/blob/main/osv/npm/MAL-2026-4343.json",
"summary": "Malicious code in evil-pkg (npm)",
"modified_at": "2026-06-01T12:00:00Z",
"published_at": "2026-06-01T10:00:00Z"
}
]
}
]
}
}
Un package sain renvoie "verdict": "clean". Les vérifications par nom nu peuvent inclure checked_ecosystems, matched_ecosystems et found_ecosystems lors de la recherche dans tous les écosystèmes.
Les schémas se trouvent dans schema/v1/.
depx est distribué sous la licence MIT.
Rejoignez notre Discord • construit avec ❤️ par l'équipe de ProjectDiscovery