Zum Hauptinhalt springen
Version: 1.0.0

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.

WerkzeugKurzbeschreibung
check_packageIst genau diese eine Version eines Pakets verwundbar?
scan_dependenciesWelche Pakete in diesem gesamten Manifest sind verwundbar?
suggest_safe_versionWas ist die neueste Version mit null bekannten Advisories?
get_advisoryVollständige Details (CVSS, Bereiche, Referenzen) zu einer Advisory-ID.
get_cve_intelWird 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

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

NameErforderlichBeschreibung
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.
Scannen Sie die Lockfile für die installierte Wahrheit

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.

Lokaler stdio-Modus

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

NameErforderlichBeschreibung
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

NameErforderlichBeschreibung
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

NameErforderlichBeschreibung
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"]
}
Verfügbarkeit

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 lokale Instanz ohne den Mirror (die dann osv.dev direkt abfragt) stellt die anderen vier Werkzeuge bereit.


Priorisierung, in einer einzigen Regel​

Wenn mehrere Dinge verwundbar sind, kodiert die Reihenfolge von DepCheck die Priorität:

  1. exploited / KEV-gelistet / hohes EPSS — aktiv angegriffen. Zuerst beheben, sogar vor einem höheren rohen CVSS.
  2. Schweregrad Critical / High — als Nächstes beheben.
  3. 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?