Passa al contenuto principale
Versione: 1.0.0

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.

StrumentoSintesi
check_packageQuesta specifica versione di un pacchetto è vulnerabile?
scan_dependenciesQuali pacchetti in questo intero manifest sono vulnerabili?
suggest_safe_versionQual è la versione più recente con zero advisory note?
get_advisoryDettaglio completo (CVSS, intervalli, riferimenti) per un ID di advisory.
get_cve_intelQuesta 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

NomeObbligatorioDescrizione
ecosystemnpm, Go, PyPI, crates.io, Maven, RubyGems, Packagist, NuGet, Hex, Pub. Sono accettati gli alias python, rust, java.
nameNome esatto pubblicato — lodash, @scope/pkg, github.com/gin-gonic/gin, org.apache.logging.log4j:log4j-core.
versionVersione 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:

NomeObbligatorioDescrizione
manifest_contentIl testo completo del file manifest.
manifest_nameIl 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.
Analizza il lockfile per la verità installata

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.

Modalità stdio locale

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

NomeObbligatorioDescrizione
ecosystemStessi valori di check_package.
nameNome esatto del pacchetto pubblicato.
include_prereleaseConsidera 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

NomeObbligatorioDescrizione
idID 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

NomeObbligatorioDescrizione
idID 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"]
}
Disponibilità

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à:

  1. exploited / presente in KEV / EPSS elevato — sotto attacco attivo. Correggi per primi, anche rispetto a un CVSS grezzo più alto.
  2. Severità Critical / High — correggi subito dopo.
  3. 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?