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.
| Herramienta | En 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_advisory | Detalle 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
| Nombre | Obligatorio | Descripción |
|---|---|---|
ecosystem | ✅ | npm, Go, PyPI, crates.io, Maven, RubyGems, Packagist, NuGet, Hex, Pub. Se aceptan los alias python, rust, java. |
name | ✅ | Nombre publicado exacto — lodash, @scope/pkg, github.com/gin-gonic/gin, org.apache.logging.log4j:log4j-core. |
version | ✅ | Versió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:
| Nombre | Obligatorio | Descripción |
|---|---|---|
manifest_content | ✅ | El texto completo del archivo de manifiesto. |
manifest_name | ✅ | El 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. |
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.
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
| Nombre | Obligatorio | Descripción |
|---|---|---|
ecosystem | ✅ | Los mismos valores que check_package. |
name | ✅ | Nombre publicado exacto del paquete. |
include_prerelease | ➖ | Considera 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
| Nombre | Obligatorio | Descripción |
|---|---|---|
id | ✅ | ID 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
| Nombre | Obligatorio | Descripción |
|---|---|---|
id | ✅ | ID 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"]
}
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 sin el mirror (que entonces consulta osv.dev directamente) expone las otras
cuatro herramientas.
Priorización, en una sola regla
Cuando varias cosas son vulnerables, el orden de DepCheck codifica la prioridad:
exploited/ listado en KEV / EPSS alto — atacado activamente. Corrige primero, incluso por encima de un CVSS bruto más alto.- Severidad Critical / High — corrige a continuación.
- 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?