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
ecosystemnpm, Go, PyPI, crates.io, Maven, RubyGems, Packagist, NuGet, Hex, Pub. Die Aliase python, rust, java werden akzeptiert.
nameExakter veröffentlichter Name — lodash, @scope/pkg, github.com/gin-gonic/gin, org.apache.logging.log4j:log4j-core.
versionKonkrete 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_contentDer vollständige Text der Manifestdatei.
manifest_nameDer 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
ecosystemDieselben Werte wie bei check_package.
nameExakter veröffentlichter Paketname.
include_prereleaseAuch 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
idAdvisory-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
idCVE-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 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:

  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?