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
completamente offline senza il mirror 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?