Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
deptrust — Servidor CLI y MCP que comprueba las versiones de paquetes en busca de vulnerabilidades conocidas en más de 14 ecosistemas, incluidos npm, PyPI, crates.io, módulos de Go y GitHub Actions. Se integra con agentes de IA mediante hooks y skills. | Kitploit
Herramientas/GitHubGitHub/clidey/deptrust
Escáneres de VulnerabilidadesScripting y AutomatizaciónSeguridad en la NubeDevSecOpsDetección de SecretosSeguridad de Cadena de SuministroSeguridad de APIs
GitHubclidey/deptrust

deptrust

Servidor CLI y MCP que comprueba las versiones de paquetes en busca de vulnerabilidades conocidas en más de 14 ecosistemas, incluidos npm, PyPI, crates.io, módulos de Go y GitHub Actions. Se integra con agentes de IA mediante hooks y skills.

Ver Repositorio
603hace 2 díasRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

deptrust

root@kitploit:~
     __           __                  __
 ___/ /___  ___  / /________  _______/ /_
/ _  / __ \/ _ \/ __/ ___/ / / / ___/ __/
/  __/ /_/ /  __/ /_/ /  / /_/ (__  ) /_
\__,_/\____/ .___/\__/_/   \__,_/____/\__/
           /_/

deptrust es una CLI que comprueba las versiones de paquetes en busca de vulnerabilidades conocidas en npm, PyPI, crates.io, módulos de Go, RubyGems, NuGet, Maven, Packagist, pub.dev, CocoaPods, Hex.pm, Hackage, GitHub Actions y más.

Funciona localmente como CLI y como servidor MCP. Llama directamente a las APIs públicas de los registros de paquetes y a las de OSV; no hay ningún servicio de deptrust alojado en el que confiar o que configurar.

Esta herramienta nació de la frustración que supone que los agentes de IA utilicen constantemente versiones antiguas.

Contenido

  • Alcance
  • Uso de la CLI
  • Instalación
  • Configuración de agentes
  • Configuración manual de MCP
  • Herramientas MCP
  • Uso solo con skill
  • Solución de problemas

Alcance

Ecosistemas compatibles:

  • npm, incluidos los paquetes con ámbito (scoped) como @clidey/ux
  • PyPI
  • Cargo / crates.io
  • Módulos de Go
  • RubyGems
  • NuGet
  • Maven, con nombres de paquete groupId:artifactId
  • Packagist / Composer, con nombres de paquete vendor/package
  • pub.dev
  • CocoaPods
  • Hex.pm
  • Hackage
  • GitHub Actions, con nombres de paquete owner/repo y etiquetas, referencias de rama o SHAs de commit como versiones

deptrust actualmente informa de vulnerabilidades conocidas y ofrece una recomendación sencilla:

Severidad máxima conocidaRecomendación
criticalblock
highblock
medium / unknownreview
lowallow

allow significa que no se encontró ninguna vulnerabilidad conocida bloqueante en las fuentes de datos públicas. No demuestra que un paquete sea seguro.

deptrust también emite señales de riesgo que no son CVEs. Por ejemplo, una versión publicada en las últimas 72 horas se marca para revisión para que un agente no instale a ciegas una versión recién publicada.

Los proveedores de avisos se consultan en paralelo:

  • OSV
  • GitHub Advisory Database, incluidos los avisos revisados y los avisos de malware

La cobertura de proveedores varía según el ecosistema. Si deptrust puede resolver los metadatos del registro pero ningún proveedor de vulnerabilidades configurado es compatible con ese ecosistema, devuelve unknown en lugar de tratar el paquete como seguro.

Cobertura de proveedores:

La salida JSON incluye campos de cobertura de avisos:

  • checked_providers: los proveedores de vulnerabilidades que deptrust consultó realmente
  • skipped_providers: los proveedores configurados que se omitieron porque el ecosistema no es compatible
  • advisory_coverage: full, partial, none o error
  • advisory_coverage_reason: una breve explicación del valor de cobertura
  • registry_verification: verified cuando los metadatos del registro confirmaron la versión, o unverified cuando una comprobación de versión exacta continuó tras un fallo transitorio del registro
  • registry_verification_reason: el error del registro cuando la verificación no estuvo disponible

Una comprobación de versión exacta sigue consultando a los proveedores de avisos cuando la verificación del registro no está disponible temporalmente. Ese resultado siempre es no instalable y nunca recibe una recomendación allow. Las comprobaciones de latest, paquetes desconocidos y versiones definitivamente inexistentes siguen requiriendo una resolución satisfactoria del registro.

Las solicitudes HTTP reintentan las respuestas 429, 502, 503 y 504 hasta un máximo de tres intentos. Los reintentos usan breves retardos exponenciales y respetan los valores Retry-After de hasta dos segundos; las esperas más largas solicitadas por el servidor fallan rápidamente para que la CLI no se cuelgue. El agotamiento de los reintentos de avisos hace que el resultado sea incompleto e impide una recomendación allow.

Autenticación con la API de GitHub

Las solicitudes a la API de GitHub Advisory Database y de GitHub Actions pueden usar un token de GitHub App de corta duración y con privilegios mínimos. En CI, pásalo a través de DEPTRUST_GITHUB_TOKEN:

root@kitploit:~
DEPTRUST_GITHUB_TOKEN="$GITHUB_APP_TOKEN" deptrust check npm lodash 4.17.20

La precedencia de credenciales es DEPTRUST_GITHUB_TOKEN, GITHUB_TOKEN y luego GH_TOKEN. Para uso local, el respaldo opcional de GitHub CLI se habilita explícitamente con DEPTRUST_GITHUB_AUTH=gh deptrust check ...; ejecuta gh auth token sin preguntar. Si no hay ninguna credencial disponible, DepTrust continúa sin autenticación. Un fallo por límite de tasa o por permisos de la API de GitHub produce unknown con diagnósticos y nunca se trata como un éxito solo con OSV.

DepTrust nunca almacena, empaqueta, guarda en caché, registra, hace telemetría ni emite tokens de GitHub. Las cabeceras de autenticación solo se envían a https://api.github.com.

Uso de la CLI

Comprueba una versión exacta:

root@kitploit:~
deptrust check npm lodash 4.17.20

Ejemplo de respuesta normal:

root@kitploit:~
npm [email protected]: 2 known vulnerabilities found
recommendation: block
risk_score: 80

Comprueba la última versión:

root@kitploit:~
deptrust check pypi requests latest

Devuelve JSON:

root@kitploit:~
deptrust check --json cargo serde latest

Comprueba un módulo de Go:

root@kitploit:~
deptrust check go golang.org/x/crypto latest

Comprueba RubyGems, NuGet o Maven:

root@kitploit:~
deptrust check rubygems rails latest
deptrust check nuget Newtonsoft.Json latest
deptrust check maven org.apache.logging.log4j:log4j-core latest

Comprueba Packagist, pub.dev, CocoaPods, Hex.pm, Hackage o GitHub Actions:

root@kitploit:~
deptrust check packagist monolog/monolog latest
deptrust check pub http latest
deptrust check cocoapods AFNetworking latest
deptrust check hex plug latest
deptrust check hackage aeson latest
deptrust check github-actions actions/checkout v7.0.0
deptrust check github-actions actions/checkout main

Para GitHub Actions, los SHAs de commit completos se tratan como fijados (pinned). Las etiquetas semver completas como v4.2.2 se aceptan sin una señal adicional de fijación. Las etiquetas solo con versión mayor como v4 y las referencias de rama como main son refs válidas, pero deptrust añade una señal de revisión porque pueden moverse.

Ejemplo de respuesta JSON:

root@kitploit:~
{
  "ecosystem": "npm",
  "package": "lodash",
  "version": "4.17.20",
  "latest_version": "4.17.21",
  "known_vulnerabilities_found": true,
  "safe_to_use": false,
  "should_install": false,
  "risk_score": 80,
  "recommendation": "block",
  "classification": "vulnerable",
  "reason": "Found 2 known vulnerability records.",
  "next_action": "do_not_install; use suggest_safe_version or compare_versions to choose a safer version",
  "summary": "lodash 4.17.20 has 2 known vulnerabilities, including high severity. Block this exact version and prefer a fixed release.",
  "signals": [],
  "checked_providers": [
    "OSV",
    "GitHub Advisory DB"
  ],
  "skipped_providers": [],
  "advisory_coverage": "full",
  "advisory_coverage_reason": "all configured vulnerability providers were checked",
  "registry_verification": "verified",
  "vulnerabilities": [
    {
      "id": "GHSA-35jh-r3h4-6jhm",
      "aliases": [
        "CVE-2021-23337"
      ],
      "cve_ids": [
        "CVE-2021-23337"
      ],
      "ghsa_ids": [
        "GHSA-35jh-r3h4-6jhm"
      ],
      "summary": "Command Injection in lodash",
      "severity": "high",
      "source": "OSV",
      "advisory_url": "https://github.com/advisories/GHSA-35jh-r3h4-6jhm",
      "affected_ranges": [
        "SEMVER: introduced 0, fixed 4.17.21"
      ],
      "fixed_versions": [
        "4.17.21"
      ],
      "references": [
        {
          "type": "ADVISORY",
          "url": "https://github.com/advisories/GHSA-35jh-r3h4-6jhm"
        }
      ]
    }
  ],
  "provider_errors": []
}

Sugiere la última versión solo cuando no se encuentran vulnerabilidades conocidas:

root@kitploit:~
deptrust suggest npm lodash

Si la última versión no está permitida, suggest comprueba las versiones anteriores conocidas y devuelve la versión más reciente con una recomendación allow.

Cuando los avisos incluyen versiones corregidas, suggest comprueba primero esas versiones corregidas notificadas por el proveedor antes de recorrer hacia atrás la lista de versiones del registro.

Compara dos versiones:

root@kitploit:~
deptrust compare npm lodash 4.17.20 4.17.21

Ejemplo de respuesta de comparación:

root@kitploit:~
lodash 4.17.20 -> 4.17.21 improves risk: score 80 to 0.
recommendation: allow
next_action: upgrade_to_target

Muestra la versión instalada:

root@kitploit:~
deptrust version

Instalación

La vía de instalación más sencilla es npx o pnpx:

root@kitploit:~
npx @clidey/deptrust install
pnpx @clidey/deptrust@latest install

El instalador predeterminado es guiado. Instala el binario, pregunta qué integraciones de agentes configurar, imprime los destinos a nivel de usuario antes de cambiar nada y pide confirmación. El instalador guiado habilita por defecto MCP, el respaldo de skill y los hooks de seguridad de dependencias para Codex y Claude Code. Añade --yes para instalaciones no interactivas solo del binario, o pasa indicadores de integración explícitos.

Volver a ejecutar el instalador es seguro. Deja intacta la configuración de MCP, skill y hooks sin cambios. Si una integración apunta a un binario antiguo de deptrust o su configuración gestionada ha cambiado, el instalador la actualiza automáticamente; los usuarios no necesitan eliminar y volver a añadir manualmente los servidores MCP. Las skills personalizadas se respaldan antes de reemplazarse.

Para eliminar el binario, la skill y las entradas MCP a nivel de usuario:

root@kitploit:~
npx @clidey/deptrust uninstall
pnpx @clidey/deptrust@latest uninstall

Los usuarios de Homebrew pueden instalar desde el tap de Clidey:

root@kitploit:~
brew install clidey/tap/deptrust

O añadir el tap primero y luego instalar y actualizar como es habitual:

root@kitploit:~
brew tap clidey/tap
brew install deptrust
brew upgrade deptrust

Homebrew muestra un recordatorio después de la instalación. Para ejecutar la configuración guiada de Codex y Claude Code usando el propio binario de Homebrew (registros MCP y hooks de seguridad de dependencias):

root@kitploit:~
deptrust setup

La configuración guiada pregunta antes de habilitar MCP y los hooks de seguridad de dependencias. Deja intactos los registros que ya usan el binario actual y reconcilia los registros existentes de DepTrust que apuntan a una ruta de instalación anterior de npm, Homebrew o desde el código fuente.

Los usuarios de Go pueden instalar directamente:

root@kitploit:~
go install github.com/clidey/deptrust/cmd/deptrust@latest

Nix

El proyecto ofrece salidas opcionales de Nix flake para usuarios que ya usan Nix. El flake envuelve el binario de la versión precompilada.

root@kitploit:~
# Run without installing
nix run github:clidey/deptrust

# Install into your profile
nix profile install github:clidey/deptrust

El flujo de trabajo de publicación normal genera los hashes de Nix a partir de los mismos archivos que publica, evalúa el flake antes de publicar, luego lo compila y lo ejecuta contra los activos publicados antes de actualizar la rama predeterminada. github:clidey/deptrust puede ir con un pequeño retraso mientras ese flujo de trabajo se está ejecutando. Las etiquetas de publicación apuntan al commit de origen anterior a la actualización generada del flake y pueden seguir referenciando el binario anterior; fija un commit cuyo flake.nix contenga la versión que necesitas cuando la reproducibilidad sea importante.

Devbox

Para entornos de desarrollo reproducibles, usa Devbox:

root@kitploit:~
# Install Devbox first (if not already installed)
curl -fsSL https://get.jetify.dev/devbox | bash

# Initialize the environment
devbox shell

# Build the project
devbox run build

devbox.json restringe la versión de la cadena de herramientas y el devbox.lock confirmado fija las versiones exactas de los paquetes y las revisiones de nixpkgs. Ejecuta devbox update cuando quieras actualizar intencionadamente esas fijaciones.

O instala Devbox mediante Homebrew:

root@kitploit:~
brew install jetify-com/devbox/devbox

Configuración de agentes

Para instalar deptrust y registrar todo lo que el instalador puede configurar sin las indicaciones guiadas:

root@kitploit:~
npx @clidey/deptrust install --all
pnpx @clidey/deptrust@latest install --all

--all instala el binario, registra Codex MCP cuando la CLI codex está disponible, instala el respaldo de skill de Codex, registra Claude Code MCP cuando la CLI claude está disponible e instala los hooks de seguridad de dependencias de Codex y Claude Code.

Los hooks son hooks PreToolUse. Comprueban los comandos de instalación de paquetes antes de que se ejecuten y también comprueban las GitHub Actions añadidas a los archivos de flujo de trabajo mediante las herramientas de edición de archivos del agente. Un hook bloquea la llamada a la herramienta cuando deptrust devuelve review, block o unknown. El instalador solo escribe configuración de hooks a nivel de usuario: ~/.codex/hooks.json para Codex y ~/.claude/settings.json para Claude Code.

Cuando la CLI gh está disponible, la configuración guiada también ofrece usar su inicio de sesión local existente para las comprobaciones de los hooks. Esto escribe solo DEPTRUST_GITHUB_AUTH=gh, nunca un token de GitHub, para que los subprocesos de los hooks puedan evitar los límites de tasa de la API de GitHub sin autenticación.

Usa instalaciones más reducidas si lo prefieres:

root@kitploit:~
npx @clidey/deptrust install --codex-mcp
npx @clidey/deptrust install --claude-code-mcp
npx @clidey/deptrust skills install
pnpx @clidey/deptrust@latest install --codex-mcp
pnpx @clidey/deptrust@latest install --claude-code-mcp
pnpx @clidey/deptrust@latest skills install

Después de la configuración de MCP, los agentes comprobarán automáticamente los paquetes antes de recomendar actualizaciones o cambios. El servidor MCP envía instrucciones para examinar todas las versiones de dependencias —incluido responder a preguntas como "¿qué puedo actualizar?" o "qué dependencias son seguras de actualizar"— antes de ofrecer recomendaciones.

Si usas deptrust en un contexto sin MCP, recuerda a tu agente:

root@kitploit:~
Before listing, comparing, or recommending specific package versions, check them with deptrust. This includes answering "what can I update" — do not provide version recommendations until after checking for known vulnerabilities.

Para CI, configura un token de GitHub App de corta duración y con privilegios mínimos como DEPTRUST_GITHUB_TOKEN para el proceso que ejecuta DepTrust. Para la autenticación local con la CLI de GitHub, usa DEPTRUST_GITHUB_AUTH=gh deptrust check .... DepTrust nunca almacena tokens.

Configuración manual de MCP

Si tu cliente admite servidores MCP por stdio, configúralo para que ejecute:

root@kitploit:~
/absolute/path/to/deptrust mcp

Muchos clientes usan esta forma JSON:

root@kitploit:~
{
  "mcpServers": {
    "deptrust": {
      "command": "/absolute/path/to/deptrust",
      "args": ["mcp"]
    }
  }
}

Para Codex, también puedes añadirlo con:

root@kitploit:~
codex mcp add deptrust -- /absolute/path/to/deptrust mcp

Para Claude Code:

root@kitploit:~
claude mcp add --transport stdio deptrust -- /absolute/path/to/deptrust mcp

En initialize, el servidor devuelve instructions de MCP que indican al agente cuándo recurrir a estas herramientas (antes de añadir, actualizar o recomendar una dependencia, o cuando se le pregunte si una versión es segura de actualizar). Los clientes que muestran las instrucciones del servidor aplicarán esto automáticamente, por lo que el recordatorio manual anterior es opcional en lugar de obligatorio.

Herramientas MCP

check_package

Comprueba una versión de paquete y devuelve las vulnerabilidades conocidas más una recomendación.

root@kitploit:~
{
  "ecosystem": "npm",
  "package": "lodash",
  "version": "4.17.20"
}

version puede omitirse o establecerse a latest. Si una versión exacta no existe, deptrust devuelve un error y sugiere la última versión explícita.

La salida de MCP es intencionadamente compacta para que los agentes puedan decidir si instalar una dependencia sin incluir los cuerpos completos de los avisos en el contexto. Si el usuario pide ver todos los detalles, el agente puede ejecutar full_response_command.

Ejemplo de salida estructurada compacta de MCP:

root@kitploit:~
{
  "ecosystem": "npm",
  "package": "vite",
  "version": "7.0.0",
  "latest_version": "8.0.16",
  "known_vulnerabilities_found": true,
  "safe_to_use": false,
  "should_install": false,
  "risk_score": 80,
  "classification": "vulnerable",
  "recommendation": "block",
  "reason": "Found 7 known vulnerability records.",
  "next_action": "do_not_install; use suggest_safe_version or compare_versions to choose a safer version",
  "summary": "vite 7.0.0 has 7 known vulnerabilities, including high severity. Block this exact version and prefer a fixed release.",
  "vulnerability_count": 7,
  "vulnerability_counts": {
    "critical": 0,
    "high": 2,
    "medium": 3,
    "low": 2,
    "unknown": 0
  },
  "highest_severity": "high",
  "checked_providers": [
    "OSV",
    "GitHub Advisory DB"
  ],
  "skipped_providers": [],
  "advisory_coverage": "full",
  "advisory_coverage_reason": "all configured vulnerability providers were checked",
  "registry_verification": "verified",
  "full_response_command": "deptrust check --json npm vite 7.0.0"
}

La respuesta compacta de MCP omite el array de vulnerabilidades, los details de los avisos y las references repetidas. Los agentes deben usar por defecto los recuentos, la severidad más alta, la cobertura de proveedores, la recomendación y la siguiente acción. Si el usuario pide los detalles completos del aviso, ejecuta full_response_command.

Cuando el acceso a los avisos de GitHub está limitado por tasa o no está disponible, MCP devuelve unknown. El agente debe ofrecer proactivamente configurar un token y reintentar, omitir o aplazar la versión, o continuar solo después de que el usuario acepte explícitamente el riesgo de cobertura de GitHub no resuelto para esa versión exacta. Esa excepción debe seguir claramente etiquetada como incertidumbre aceptada por el usuario; no debe informarse como allow ni como prueba de que la versión es segura.

suggest_safe_version

Comprueba primero la última versión. Si la última no está permitida, comprueba primero las versiones corregidas notificadas por el proveedor, luego las versiones anteriores conocidas, y sugiere la versión más reciente con una recomendación allow.

root@kitploit:~
{
  "ecosystem": "npm",
  "package": "lodash"
}

compare_versions

Compara una versión actual y una versión objetivo, incluidas las vulnerabilidades resueltas y añadidas.

root@kitploit:~
{
  "ecosystem": "npm",
  "package": "lodash",
  "from_version": "4.17.20",
  "to_version": "4.17.21"
}

Uso solo con skill

Si no quieres MCP, instala la skill de Codex incluida:

root@kitploit:~
npx @clidey/deptrust skills install

La skill indica a Codex que llame a la CLI deptrust antes de instalar, actualizar o recomendar paquetes de npm, PyPI, Cargo, módulos de Go, RubyGems, NuGet, Maven, Packagist, pub.dev, CocoaPods, Hex.pm, Hackage y GitHub Actions.

Solución de problemas

Si no se encuentra deptrust:

root@kitploit:~
export PATH="$HOME/.local/bin:$PATH"

Si un cliente MCP no puede iniciar el servidor, encuentra la ruta completa:

root@kitploit:~
which deptrust

Luego pon esa ruta absoluta en la configuración de MCP.

Si una comprobación de paquete devuelve unknown, no trates el paquete como seguro. Significa que deptrust no pudo obtener una respuesta completa de un proveedor de avisos o no pudo verificar la versión exacta con su registro.

Descargar herramienta
none found
allow
EcosistemaMetadatos del registroOSVGitHub Advisory DB
npmsísísí
PyPIsísísí
Cargo / crates.iosísísí
Módulos de Gosísísí
RubyGemssísísí
NuGetsísísí
Mavensísísí
Packagist / Composersísísí
pub.devsísísí
CocoaPodssínosí
Hex.pmsísísí
Hackagesísíno
GitHub Actionssísísí