Saltar al contenido principal
Version: 1.0.0

Referencia de herramientas

📄 ¿Prefiere sin conexión? Descargue esta guía en PDF.

DepCheck expone cinco herramientas. Todas son de solo lectura: consultan datos y los devuelven; ninguna modifica tu proyecto, tus manifiestos ni ningún estado del lado del servidor.

HerramientaEn una línea
check_package¿Es vulnerable esta versión concreta de un paquete?
scan_dependencies¿Qué paquetes de este manifiesto completo son vulnerables?
suggest_safe_version¿Cuál es la versión más reciente con cero advisories conocidos?
get_advisoryDetalle completo (CVSS, rangos, referencias) de un ID de advisory.
get_cve_intel¿Este CVE está siendo explotado activamente (KEV / EPSS)?

Los ejemplos de respuesta que aparecen a continuación son ilustrativos: la salida real refleja los datos de advisories en vivo en el momento de la llamada.


check_package

Comprueba una versión de un paquete contra las bases de datos de advisories. Esta es la herramienta que se debe llamar antes de añadir o fijar una dependencia.

Parámetros

NombreObligatorioDescripción
ecosystemnpm, Go, PyPI, crates.io, Maven, RubyGems, Packagist, NuGet, Hex, Pub. Se aceptan los alias python, rust, java.
nameNombre publicado exacto — lodash, @scope/pkg, github.com/gin-gonic/gin, org.apache.logging.log4j:log4j-core.
versionVersión concreta (4.17.20, v1.9.0). Los operadores de rango (^, ~, >=) se reducen a su límite inferior.

Ejemplo

{ "ecosystem": "npm", "name": "lodash", "version": "4.17.20" }

Devuelve — los advisories que afectan a exactamente esa versión, más la versión segura mínima a la que migrar. Cuando hay inteligencia de explotación disponible, los advisories que figuran en la lista CISA KEV o que tienen una puntuación EPSS alta se marcan como exploited y se ordenan primero.

{
"package": "[email protected] (npm)",
"vulnerable": true,
"advisories": [
{
"id": "GHSA-29mw-wpgm-hmr9",
"aliases": ["CVE-2021-23337"],
"summary": "Inyección de comandos en lodash",
"severity": "High",
"exploited": false,
"fixed": "4.17.21"
}
],
"min_safe_version": "4.17.21"
}

scan_dependencies

Escanea un manifiesto completo en una sola llamada. Úsalo al revisar un servicio, después de añadir varias dependencias, o para responder a "¿son seguras nuestras dependencias?". Solo se devuelven los paquetes vulnerables (cada uno con un objetivo de actualización); los paquetes limpios simplemente se cuentan.

Parámetros (endpoint alojado)

El servidor alojado no tiene acceso a tu sistema de archivos, de modo que tu agente lee el archivo y pasa su texto:

NombreObligatorioDescripción
manifest_contentEl texto completo del archivo de manifiesto.
manifest_nameEl nombre del archivo, que selecciona el parser: go.mod, package.json, package-lock.json, requirements.txt, pyproject.toml, Cargo.toml, Cargo.lock, pom.xml, composer.json.
Escanea el lockfile para conocer la verdad instalada

Un manifiesto con rangos (^4.17.0) se comprueba en el límite inferior. Para detectar lo que realmente se resuelve, escanea el lockfile (package-lock.json, Cargo.lock, el pyproject estilo poetry.lock, …) en lugar del manifiesto, o además de él.

Modo local stdio

Cuando ejecutas DepCheck localmente, scan_dependencies también acepta un manifest_path (una ruta del sistema de archivos) como alternativa a manifest_content + manifest_name.

Devuelve

{
"manifest": "package.json",
"total_dependencies": 42,
"clean": 39,
"vulnerable": [
{
"name": "minimist",
"current": "1.2.5",
"advisories": ["GHSA-xvch-5gv4-984h"],
"highest_severity": "Critical",
"exploited": true,
"upgrade_to": "1.2.8"
}
]
}

Corrige primero los hallazgos con exploited: true: esos están siendo atacados activamente. Actualiza cada paquete vulnerable a su versión upgrade_to.


suggest_safe_version

Obtén la versión más reciente de un paquete que tenga cero advisories conocidos. Úsalo para elegir qué versión añadir, o para escoger el objetivo de actualización de una dependencia vulnerable: nunca elijas a mano una versión que pueda arrastrar sus propios advisories.

Parámetros

NombreObligatorioDescripción
ecosystemLos mismos valores que check_package.
nameNombre publicado exacto del paquete.
include_prereleaseConsidera también las versiones alpha/beta/rc. Por defecto false.

Ecosistemas admitidos por esta herramienta: npm, Go, PyPI, crates.io, Maven, RubyGems, NuGet. Sondea las últimas versiones (vía deps.dev) contra OSV hasta encontrar una limpia.

Devuelve

{
"package": "express (npm)",
"safe_version": "4.21.2",
"checked_latest_first": true
}

get_advisory

Detalle completo de un ID de advisory devuelto por las demás herramientas — GHSA-…, CVE-…, RUSTSEC-…, GO-… o PYSEC-…. Úsalo para decidir si una vulnerabilidad reportada realmente importa según el uso que tu código hace del paquete.

Parámetros

NombreObligatorioDescripción
idID de advisory, p. ej. GHSA-29mw-wpgm-hmr9 o CVE-2021-23337.

Devuelve — descripción, vector y puntuación CVSS, rangos de versiones afectadas y enlaces de referencia.

{
"id": "GHSA-29mw-wpgm-hmr9",
"aliases": ["CVE-2021-23337"],
"summary": "Inyección de comandos en lodash",
"details": "Las versiones de lodash anteriores a 4.17.21 son vulnerables a inyección de comandos mediante template.",
"cvss": { "score": 7.2, "vector": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H" },
"affected": [{ "introduced": "0", "fixed": "4.17.21" }],
"references": ["https://github.com/lodash/lodash/commit/..."]
}

get_cve_intel

Inteligencia de explotación de un CVE, a partir de los datos de amenazas de Cert-IX: estado en CISA KEV (conocido como explotado activamente), puntuación/percentil de probabilidad de explotación EPSS, y CVSS + CWE de NVD. Úsalo para priorizar: un CVE listado en KEV o con EPSS alto está bajo ataque activo y debe adelantarse en la cola a otro con mayor CVSS pero no explotado.

Acepta un ID de CVE, o un ID de advisory GHSA/GO/RUSTSEC (sus alias de CVE se resuelven automáticamente).

Parámetros

NombreObligatorioDescripción
idID de CVE (CVE-2021-44228) o un ID de advisory (GHSA-jfh8-c2jp-5v3q).

Devuelve

{
"cve": "CVE-2021-44228",
"kev": { "listed": true, "date_added": "2021-12-10" },
"epss": { "score": 0.975, "percentile": 0.99997 },
"cvss": 10.0,
"cwe": ["CWE-502", "CWE-917"]
}
Disponibilidad

get_cve_intel está habilitado cuando DepCheck está respaldado por el mirror de Elasticsearch de Cert-IX (índices KEV/EPSS), como lo está el endpoint alojado mcp.cert-ix.com/depcheck. Una instancia local totalmente offline sin el mirror expone las otras cuatro herramientas.


Priorización, en una sola regla

Cuando varias cosas son vulnerables, el orden de DepCheck codifica la prioridad:

  1. exploited / listado en KEV / EPSS alto — atacado activamente. Corrige primero, incluso por encima de un CVSS bruto más alto.
  2. Severidad Critical / High — corrige a continuación.
  3. Medium / Low — planifica.

Después mueve cada paquete a la versión upgrade_to / min_safe_version / safe_version que te indican las herramientas. Consulta Flujos de trabajo de agentes para saber cómo integrar esto en el bucle de edición de un agente.

¿Te resultó útil esta página?