
Inteligencia de paquetes maliciosos y cadena de suministro
Características • Instalación • Uso • Ejecutando depx • JSON • Únete a Discord
depx es una CLI rápida y pasiva de inteligencia de la cadena de suministro. Te indica si un paquete es conocido como malicioso (publicaciones secuestradas, robadores de credenciales, puertas traseras en scripts de instalación) al compararlo con los datos de OpenSSF Malicious Packages (MAL-*, formato OSV) y un feed de inteligencia en vivo curado desde X (Grok API), actualizado cada hora.
Responde cuatro preguntas en segundos:
depx feed (o --list para una línea por resultado).--require-clean, exportación SARIF y un envoltorio JSON versionado.ecosistema:nombre, nombre simple o lista canalizada.--exclude-pkg para suprimir paquetes conocidos como seguros de los hallazgos de auditoría.curl -sfL https://raw.githubusercontent.com/projectdiscovery/depx/main/scripts/install.sh | sh
Descarga la última versión para tu SO/arquitectura (o compila con go install como alternativa). El script verifica el binario y actualiza el PATH de tu shell cuando sea necesario.
Desde fuente (requiere Go 1.25+):
git clone https://github.com/projectdiscovery/depx.git
cd depx
make build
./bin/depx --help
O instalar directamente con Go:
go install github.com/projectdiscovery/depx/cmd/depx@latest
También hay binarios precompilados en la página de GitHub releases.
depx --help
Comandos y banderas 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
Escanea archivos de bloqueo y SBOM contra un índice local de paquetes maliciosos, instantáneo después de la primera ejecución. Sin ruta, depx recorre $HOME en busca de proyectos e instalaciones 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
Soporta archivos de bloqueo de npm, PyPI, Go, Cargo, RubyGems, Maven/Gradle además de SBOM CycloneDX/SPDX.
Suprimir falsos positivos. Cuando un paquete es marcado y has verificado que es seguro, pasa --exclude-pkg (en audit o github) con un archivo de entradas separadas por nueva línea ecosistema:paquete para eliminar de los hallazgos:
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
Utiliza las exportaciones SBOM del gráfico de dependencias de GitHub. Configura GITHUB_TOKEN para repositorios privados y descubrimiento de organizaciones.
depx github projectdiscovery/depx
depx github google
depx github
El acceso no autenticado a GitHub tiene un límite de tasa de ~60 solicitudes/hora, por lo que sin un token, los escaneos de org/usuario tienen un valor predeterminado de 10 repos (frente a 100 con un token). Configura GITHUB_TOKEN, GH_TOKEN o DEPX_GITHUB_TOKEN (o aumentalo explícitamente con -n) para escanear más.
depx npm:lodash
depx id MAL-2026-4343
depx search redhat
--require-clean sale con código no cero en el momento en que se encuentra un paquete malicioso.
depx audit . --require-clean # fail the build if anything is malicious
depx github google --require-clean -j
| Código de salida | Significado |
|---|---|
0 | Limpio / éxito |
1 |
Cada respuesta -j utiliza un envoltorio estable y versionado para que sea seguro construir sobre él.
{
"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 paquete limpio devuelve "verdict": "clean". Las verificaciones de nombre simple pueden incluir checked_ecosystems, matched_ecosystems y found_ecosystems al buscar en todos los ecosistemas.
Los esquemas se encuentran en schema/v1/.
depx se distribuye bajo la Licencia MIT.
Únete a nuestro Discord • construido con ❤️ por el equipo de ProjectDiscovery
--require-clean y se encontraron paquetes maliciosos |
2 | Error de uso |
3 | Upstream no disponible |