Riferimento degli strumenti
📄 Preferisci offline? Scarica questa guida in PDF.
DepCheck espone cinque strumenti. Sono tutti in sola lettura — cercano i dati e li restituiscono; nessuno modifica il tuo progetto, i tuoi manifest o alcuno stato lato server.
| Strumento | Sintesi |
|---|---|
check_package | Questa specifica versione di un pacchetto è vulnerabile? |
scan_dependencies | Quali pacchetti in questo intero manifest sono vulnerabili? |
suggest_safe_version | Qual è la versione più recente con zero advisory note? |
get_advisory | Dettaglio completo (CVSS, intervalli, riferimenti) per un ID di advisory. |
get_cve_intel | Questa CVE è sfruttata attivamente (KEV / EPSS)? |
Gli esempi di risposta qui sotto sono illustrativi — l'output reale riflette i dati di advisory live al momento della chiamata.
check_package
Verifica una versione di pacchetto rispetto ai database di advisory. È lo strumento da chiamare prima di aggiungere o fissare una dipendenza.
Parametri
| Nome | Obbligatorio | Descrizione |
|---|---|---|
ecosystem | ✅ | npm, Go, PyPI, crates.io, Maven, RubyGems, Packagist, NuGet, Hex, Pub. Sono accettati gli alias python, rust, java. |
name | ✅ | Nome esatto pubblicato — lodash, @scope/pkg, github.com/gin-gonic/gin, org.apache.logging.log4j:log4j-core. |
version | ✅ | Versione concreta (4.17.20, v1.9.0). Gli operatori di intervallo (^, ~, >=) sono ridotti al loro limite inferiore. |
Esempio
{ "ecosystem": "npm", "name": "lodash", "version": "4.17.20" }
Restituisce — le advisory che riguardano esattamente quella versione, più la versione
sicura minima verso cui spostarsi. Quando è disponibile l'intelligence sullo sfruttamento, le
advisory presenti nell'elenco CISA KEV o con un punteggio EPSS elevato vengono contrassegnate
come exploited e ordinate per prime.
{
"package": "[email protected] (npm)",
"vulnerable": true,
"advisories": [
{
"id": "GHSA-29mw-wpgm-hmr9",
"aliases": ["CVE-2021-23337"],
"summary": "Command injection in lodash",
"severity": "High",
"exploited": false,
"fixed": "4.17.21"
}
],
"min_safe_version": "4.17.21"
}
scan_dependencies
Analizza un intero manifest in una sola chiamata. Usalo quando revisioni un servizio, dopo aver aggiunto diverse dipendenze, o per rispondere alla domanda "le nostre dipendenze sono sicure?". Vengono restituiti solo i pacchetti vulnerabili (ciascuno con un obiettivo di aggiornamento); i pacchetti puliti vengono semplicemente conteggiati.
Parametri (endpoint ospitato)
Il server ospitato non ha accesso al tuo filesystem, quindi è il tuo agent a leggere il file e a passarne il testo:
| Nome | Obbligatorio | Descrizione |
|---|---|---|
manifest_content | ✅ | Il testo completo del file manifest. |
manifest_name | ✅ | Il nome del file, che seleziona il parser: go.mod, package.json, package-lock.json, requirements.txt, pyproject.toml, Cargo.toml, Cargo.lock, pom.xml, composer.json. |
Un manifest con intervalli (^4.17.0) viene verificato al limite inferiore. Per
individuare ciò che è effettivamente risolto, analizza il lockfile (package-lock.json,
Cargo.lock, pyproject in stile poetry.lock, …) invece del manifest, o in aggiunta a esso.
Quando esegui DepCheck in locale, scan_dependencies accetta anche un
manifest_path (un percorso del filesystem) come alternativa a manifest_content +
manifest_name.
Restituisce
{
"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"
}
]
}
Correggi per primi i risultati con exploited: true — sono quelli sotto attacco attivo.
Aggiorna ogni pacchetto vulnerabile alla sua versione upgrade_to.
suggest_safe_version
Ottieni la versione più recente di un pacchetto che ha zero advisory note. Usalo per scegliere quale versione aggiungere, o per selezionare l'obiettivo di aggiornamento di una dipendenza vulnerabile — non scegliere mai a mano una versione che potrebbe portare con sé le proprie advisory.
Parametri
| Nome | Obbligatorio | Descrizione |
|---|---|---|
ecosystem | ✅ | Stessi valori di check_package. |
name | ✅ | Nome esatto del pacchetto pubblicato. |
include_prerelease | ➖ | Considera anche le release alpha/beta/rc. Predefinito false. |
Ecosistemi supportati per questo strumento: npm, Go, PyPI, crates.io, Maven, RubyGems, NuGet. Sonda le ultime release (tramite deps.dev) rispetto a OSV finché non ne trova una pulita.
Restituisce
{
"package": "express (npm)",
"safe_version": "4.21.2",
"checked_latest_first": true
}
get_advisory
Dettaglio completo per un ID di advisory restituito dagli altri strumenti — GHSA-…,
CVE-…, RUSTSEC-…, GO-…, o PYSEC-…. Usalo per decidere se una vulnerabilità segnalata
conta davvero per il modo in cui il tuo codice usa il pacchetto.
Parametri
| Nome | Obbligatorio | Descrizione |
|---|---|---|
id | ✅ | ID di advisory, ad es. GHSA-29mw-wpgm-hmr9 o CVE-2021-23337. |
Restituisce — descrizione, vettore e punteggio CVSS, intervalli di versione interessati e link di riferimento.
{
"id": "GHSA-29mw-wpgm-hmr9",
"aliases": ["CVE-2021-23337"],
"summary": "Command injection in lodash",
"details": "lodash versions prior to 4.17.21 are vulnerable to command injection via 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
Intelligence sullo sfruttamento di una CVE, dai dati di minaccia Cert-IX: stato CISA KEV (noto come sfruttato attivamente), punteggio/percentile di probabilità di sfruttamento EPSS e CVSS + CWE dell'NVD. Usalo per stabilire le priorità — una CVE presente nella lista KEV o con EPSS elevato è sotto attacco attivo e dovrebbe passare in cima alla coda rispetto a una con CVSS più alto ma non sfruttata.
Accetta un ID CVE, oppure un ID di advisory GHSA/GO/RUSTSEC (i suoi alias CVE vengono
risolti automaticamente).
Parametri
| Nome | Obbligatorio | Descrizione |
|---|---|---|
id | ✅ | ID CVE (CVE-2021-44228) o un ID di advisory (GHSA-jfh8-c2jp-5v3q). |
Restituisce
{
"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 è abilitato quando DepCheck è supportato dal mirror Elasticsearch di Cert-IX
(indici KEV/EPSS) — come lo è l'endpoint ospitato mcp.cert-ix.com/depcheck. Un'istanza locale
senza il mirror (che in tal caso interroga direttamente osv.dev) espone gli altri quattro strumenti.
Priorità, in un'unica regola
Quando diverse cose sono vulnerabili, l'ordinamento di DepCheck codifica la priorità:
exploited/ presente in KEV / EPSS elevato — sotto attacco attivo. Correggi per primi, anche rispetto a un CVSS grezzo più alto.- Severità Critical / High — correggi subito dopo.
- Medium / Low — pianifica.
Poi sposta ogni pacchetto alla versione upgrade_to / min_safe_version /
safe_version che gli strumenti ti indicano. Vedi Workflow degli agent per
come integrare questo nel ciclo di editing di un agent.
Questa pagina ti è stata utile?