Werkzeugreferenz
📄 Lieber offline? Diese Anleitung als PDF herunterladen.
DepCheck stellt fünf Werkzeuge bereit. Alle sind schreibgeschützt — sie schlagen Daten nach und geben sie zurück; keines verändert Ihr Projekt, Ihre Manifeste oder irgendeinen serverseitigen Zustand.
| Werkzeug | Kurzbeschreibung |
|---|---|
check_package | Ist genau diese eine Version eines Pakets verwundbar? |
scan_dependencies | Welche Pakete in diesem gesamten Manifest sind verwundbar? |
suggest_safe_version | Was ist die neueste Version mit null bekannten Advisories? |
get_advisory | Vollständige Details (CVSS, Bereiche, Referenzen) zu einer Advisory-ID. |
get_cve_intel | Wird diese CVE in freier Wildbahn ausgenutzt (KEV / EPSS)? |
Die Beispielantworten unten sind illustrativ — die tatsächliche Ausgabe spiegelt die aktuellen Advisory-Daten zum Zeitpunkt des Aufrufs wider.
check_package
Prüft eine Paketversion gegen die Advisory-Datenbanken. Dies ist das Werkzeug, das vor dem Hinzufügen oder Pinnen einer Abhängigkeit aufgerufen werden sollte.
Parameter
| Name | Erforderlich | Beschreibung |
|---|---|---|
ecosystem | ✅ | npm, Go, PyPI, crates.io, Maven, RubyGems, Packagist, NuGet, Hex, Pub. Die Aliase python, rust, java werden akzeptiert. |
name | ✅ | Exakter veröffentlichter Name — lodash, @scope/pkg, github.com/gin-gonic/gin, org.apache.logging.log4j:log4j-core. |
version | ✅ | Konkrete Version (4.17.20, v1.9.0). Bereichsoperatoren (^, ~, >=) werden auf ihre untere Grenze reduziert. |
Beispiel
{ "ecosystem": "npm", "name": "lodash", "version": "4.17.20" }
Rückgabe — die Advisories, die genau diese Version betreffen, plus die minimale
sichere Version, auf die gewechselt werden sollte. Wenn Ausnutzungsinformationen verfügbar
sind, werden Advisories auf der CISA-KEV-Liste oder mit einem hohen EPSS-Score als
exploited markiert und zuerst sortiert.
{
"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
Scannt ein gesamtes Manifest in einem einzigen Aufruf. Verwenden Sie es, wenn Sie einen Dienst überprüfen, nachdem Sie mehrere Abhängigkeiten hinzugefügt haben, oder um die Frage „Sind unsere Abhängigkeiten sicher?" zu beantworten. Nur die verwundbaren Pakete werden zurückgegeben (jeweils mit einem Upgrade-Ziel); saubere Pakete werden lediglich gezählt.
Parameter (gehosteter Endpunkt)
Der gehostete Server hat keinen Zugriff auf Ihr Dateisystem, daher liest Ihr Agent die Datei und übergibt deren Text:
| Name | Erforderlich | Beschreibung |
|---|---|---|
manifest_content | ✅ | Der vollständige Text der Manifestdatei. |
manifest_name | ✅ | Der Dateiname, der den Parser auswählt: go.mod, package.json, package-lock.json, requirements.txt, pyproject.toml, Cargo.toml, Cargo.lock, pom.xml, composer.json. |
Ein Manifest mit Bereichen (^4.17.0) wird an der unteren Grenze geprüft. Um zu
erfassen, was tatsächlich aufgelöst wird, scannen Sie die Lockfile (package-lock.json,
Cargo.lock, poetry.lock-artige pyproject, …) anstelle des Manifests oder zusätzlich
dazu.
Wenn Sie DepCheck lokal ausführen, akzeptiert scan_dependencies auch einen
manifest_path (einen Dateisystempfad) als Alternative zu manifest_content +
manifest_name.
Rückgabe
{
"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"
}
]
}
Beheben Sie die exploited: true-Funde zuerst — diese werden aktiv angegriffen.
Aktualisieren Sie jedes verwundbare Paket auf seine upgrade_to-Version.
suggest_safe_version
Ermittelt die neueste Version eines Pakets, die null bekannte Advisories hat. Verwenden Sie es, um auszuwählen, welche Version hinzugefügt werden soll, oder um das Upgrade-Ziel für eine verwundbare Abhängigkeit zu bestimmen — wählen Sie niemals von Hand eine Version aus, die möglicherweise eigene Advisories mit sich bringt.
Parameter
| Name | Erforderlich | Beschreibung |
|---|---|---|
ecosystem | ✅ | Dieselben Werte wie bei check_package. |
name | ✅ | Exakter veröffentlichter Paketname. |
include_prerelease | ➖ | Auch alpha/beta/rc-Releases berücksichtigen. Standard false. |
Unterstützte Ökosysteme für dieses Werkzeug: npm, Go, PyPI, crates.io, Maven, RubyGems, NuGet. Es prüft die neuesten Releases (über deps.dev) gegen OSV, bis es ein sauberes findet.
Rückgabe
{
"package": "express (npm)",
"safe_version": "4.21.2",
"checked_latest_first": true
}
get_advisory
Vollständige Details zu einer Advisory-ID, die von den anderen Werkzeugen zurückgegeben
wurde — GHSA-…, CVE-…, RUSTSEC-…, GO-… oder PYSEC-…. Verwenden Sie es, um zu
entscheiden, ob eine gemeldete Schwachstelle für die Art und Weise, wie Ihr Code das Paket
verwendet, tatsächlich relevant ist.
Parameter
| Name | Erforderlich | Beschreibung |
|---|---|---|
id | ✅ | Advisory-ID, z. B. GHSA-29mw-wpgm-hmr9 oder CVE-2021-23337. |
Rückgabe — Beschreibung, CVSS-Vektor und -Score, betroffene Versionsbereiche sowie Referenzlinks.
{
"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
Ausnutzungsinformationen zu einer CVE, aus den Cert-IX-Bedrohungsdaten: CISA-KEV-Status (bekanntermaßen in freier Wildbahn ausgenutzt), EPSS-Ausnutzungswahrscheinlichkeit (Score/Perzentil) sowie NVD-CVSS + CWE. Verwenden Sie es zur Priorisierung — eine KEV-gelistete oder EPSS-hohe CVE wird aktiv angegriffen und sollte gegenüber einer CVE mit höherem CVSS, aber ohne Ausnutzung, vorgezogen werden.
Akzeptiert eine CVE-ID oder eine GHSA/GO/RUSTSEC-Advisory-ID (deren CVE-Aliase werden
automatisch aufgelöst).
Parameter
| Name | Erforderlich | Beschreibung |
|---|---|---|
id | ✅ | CVE-ID (CVE-2021-44228) oder eine Advisory-ID (GHSA-jfh8-c2jp-5v3q). |
Rückgabe
{
"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 ist aktiviert, wenn DepCheck durch den Cert-IX-Elasticsearch-Mirror
(KEV/EPSS-Indizes) gestützt wird — was beim gehosteten Endpunkt
mcp.cert-ix.com/depcheck der Fall ist. Eine vollständig offline betriebene lokale Instanz
ohne den Mirror stellt die anderen vier Werkzeuge bereit.
Priorisierung, in einer einzigen Regel
Wenn mehrere Dinge verwundbar sind, kodiert die Reihenfolge von DepCheck die Priorität:
exploited/ KEV-gelistet / hohes EPSS — aktiv angegriffen. Zuerst beheben, sogar vor einem höheren rohen CVSS.- Schweregrad Critical / High — als Nächstes beheben.
- Medium / Low — einplanen.
Verschieben Sie dann jedes Paket auf die upgrade_to / min_safe_version /
safe_version, die die Werkzeuge Ihnen liefern. Siehe Agenten-Workflows
für die Einbindung in die Bearbeitungsschleife eines Agenten.
War diese Seite hilfreich?