
Schadpakete & Supply-Chain-Intelligence
Features • Installation • Usage • Running depx • JSON • Discord beitreten
depx ist eine schnelle, passive Supply-Chain-Intelligence-CLI. Sie erkennt, ob ein Paket bekanntermaßen bösartig ist (gekaperte Veröffentlichungen, Credential-Stealer, Backdoors in Installationsskripten), indem sie die Daten von (, OSV-Format) und einen Live-Intelligence-Feed abgleicht, der aus kuratiert und stündlich aktualisiert wird.
MAL-*Sie beantwortet vier Fragen in Sekundenschnelle:
depx feed (oder --list für eine Zeile pro Ergebnis).--require-clean-Gate, SARIF-Export und eine versionierte JSON-Hülle.ecosystem:name-Referenz, einen bloßen Namen oder eine per Pipe übergebene Liste.--exclude-pkg-Datei, um bekannte sichere Pakete aus den Prüfergebnissen auszuschließen.curl -sfL https://raw.githubusercontent.com/projectdiscovery/depx/main/scripts/install.sh | sh
Lädt die neueste Version für dein Betriebssystem/deine Architektur herunter (oder baut mit go install als Fallback). Das Skript verifiziert die Binärdatei und aktualisiert bei Bedarf den PATH deiner Shell.
Aus dem Quellcode (erfordert Go 1.25+):
git clone https://github.com/projectdiscovery/depx.git
cd depx
make build
./bin/depx --help
Oder direkt mit Go installieren:
go install github.com/projectdiscovery/depx/cmd/depx@latest
Vorgefertigte Binärdateien gibt es auch auf der Seite GitHub-Releases.
depx --help
Kernbefehle und Flags:
Usage:
depx [flags]
depx [command]
Available Commands:
feed Zeige kürzlich gemeldete bösartige Pakete (Karten)
audit Prüfe Abhängigkeiten auf bösartige Pakete (Standard: $HOME)
github Prüfe GitHub-Repositories über das Dependency-Graph-SBOM
search Suche bekannte bösartige Pakete nach Namen (lokaler Index)
id Advisory per ID nachschlagen
version Version anzeigen und auf Updates prüfen
update depx auf die neueste Version aktualisieren
Global flags:
-j, --json Maschinenlesbare JSON-Ausgabe
-V, --version Version anzeigen und beenden
-e, --ecosystem string Suche auf ein Ökosystem beschränken (npm, PyPI, Go, ...)
-v, --verbose Zusätzliche audit/github-Details
--silent Banner- und Versionsinformationen unterdrücken
--no-color ANSI-Farben deaktivieren
--config string Pfad zur Konfigurationsdatei
--update depx auf die neueste Version aktualisieren
--disable-update-check Update-Prüfung deaktivieren
Standardbefehl (Intelligence-Dashboard):
--since string Feed-Zeitfenster (Standard: "3d")
-n, --limit int Obergrenze für Dashboard-/Feed-Einträge im Standardbefehl
depx feed:
--since string Feed-Zeitfenster (Standard: "3d")
-n, --limit int Ergebnislimit
--list Eine Kopfzeile pro Ergebnis
depx search:
-n, --limit int Maximale Anzahl angezeigter Ergebnisse (Standard: 25)
--list Eine Kopfzeile pro Ergebnis
depx audit / depx github:
--require-clean Exit-Code 1, wenn ein bösartiges Paket gefunden wird
--exclude-pkg string Datei mit ecosystem:package-Zeilen, die von den Ergebnissen ausgeschlossen werden
-o, --output string Exportdatei(en) in diesen Pfad oder Basisnamen schreiben
--output-format string Kommagetrennte Exportformate: json, csv, txt (Standard: json)
--sarif-export string SARIF-2.1.0-Bericht in diesen Pfad schreiben
--sbom-export string SBOM der geprüften Abhängigkeiten schreiben (nur audit)
--sbom-format string SBOM-Format: cyclonedx (Standard) oder spdx
depx github:
-n, --limit int Maximale Anzahl Repos bei Org-/Benutzer-Zielen (Standard: 100 mit Token, 10 ohne)
depx id:
--raw Nur roher OSV-Datensatz
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
Scannt Lockfiles und SBOMs gegen einen lokalen Index für bösartige Pakete – nach dem ersten Lauf sofort. Ohne Pfad durchsucht depx $HOME nach Projekten und globalen Installationen.
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
Unterstützt npm-, PyPI-, Go-, Cargo-, RubyGems- und Maven/Gradle-Lockfiles sowie CycloneDX-/SPDX-SBOMs.
Falsch-positive Treffer unterdrücken. Wenn ein Paket markiert wird, das du als sicher verifiziert hast, übergib --exclude-pkg (bei audit oder github) eine Datei mit durch Zeilenumbrüche getrennten ecosystem:package-Einträgen, um sie aus den Ergebnissen zu entfernen:
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
Nutzt die Dependency-Graph-SBOM-Exporte von GitHub. Setze GITHUB_TOKEN für private Repositories und die Erkennung von Organisationen.
depx github projectdiscovery/depx
depx github google
depx github
Nicht authentifizierter GitHub-Zugriff ist auf ~60 Anfragen pro Stunde begrenzt. Ohne Token umfassen Organisations-/Benutzerscans daher standardmäßig 10 Repositories (statt 100 mit Token). Setze GITHUB_TOKEN, GH_TOKEN oder DEPX_GITHUB_TOKEN (oder erhöhe die Grenze explizit mit -n), um mehr zu scannen.
depx npm:lodash
depx id MAL-2026-4343
depx search redhat
--require-clean liefert einen Nicht-Null-Exit-Code, sobald ein bösartiges Paket gefunden wird.
depx audit . --require-clean # fail the build if anything is malicious
depx github google --require-clean -j
| Exit-Code | Bedeutung |
|---|---|
0 | Sauber / Erfolg |
1 | --require-clean und bösartige Pakete gefunden |
2 | Verwendungsfehler |
3 | Upstream nicht verfügbar |
Jede -j-Antwort verwendet eine stabile, versionierte Hülle, auf der sich sicher aufbauen lässt.
{
"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"
}
]
}
]
}
}
Ein sauberes Paket gibt "verdict": "clean" zurück. Bei Prüfungen mit bloßem Namen können checked_ecosystems, matched_ecosystems und found_ecosystems enthalten sein, wenn alle Ökosysteme durchsucht werden.
Die Schemas befinden sich in schema/v1/.
depx wird unter der MIT-Lizenz vertrieben.
Tritt unserem Discord bei • mit ❤️ gebaut vom ProjectDiscovery-Team