Aller au contenu principal
Version: 1.0.0

Référence des outils

📄 Vous préférez hors ligne ? Téléchargez ce guide au format PDF.

DepCheck expose cinq outils. Ils sont tous en lecture seule — ils recherchent des données et les renvoient ; aucun ne modifie votre projet, vos manifestes ni aucun état côté serveur.

OutilEn une ligne
check_packageCette version précise d'un paquet est-elle vulnérable ?
scan_dependenciesQuels paquets de tout ce manifeste sont vulnérables ?
suggest_safe_versionQuelle est la version la plus récente sans aucun avis connu ?
get_advisoryDétail complet (CVSS, plages, références) pour un identifiant d'avis.
get_cve_intelCette CVE est-elle exploitée dans la nature (KEV / EPSS) ?

Les exemples de réponses ci-dessous sont illustratifs — la sortie réelle reflète les données d'avis en direct au moment de l'appel.


check_package

Vérifiez une version de paquet par rapport aux bases de données d'avis. C'est l'outil à appeler avant d'ajouter ou d'épingler une dépendance.

Paramètres

NomRequisDescription
ecosystemnpm, Go, PyPI, crates.io, Maven, RubyGems, Packagist, NuGet, Hex, Pub. Les alias python, rust, java sont acceptés.
nameNom publié exact — lodash, @scope/pkg, github.com/gin-gonic/gin, org.apache.logging.log4j:log4j-core.
versionVersion concrète (4.17.20, v1.9.0). Les opérateurs de plage (^, ~, >=) sont réduits à leur borne inférieure.

Exemple

{ "ecosystem": "npm", "name": "lodash", "version": "4.17.20" }

Renvoie — les avis affectant exactement cette version, ainsi que la version sûre minimale vers laquelle migrer. Lorsque des renseignements sur l'exploitation sont disponibles, les avis figurant sur la liste CISA KEV ou dotés d'un score EPSS élevé sont marqués exploited et triés en premier.

{
"package": "[email protected] (npm)",
"vulnerable": true,
"advisories": [
{
"id": "GHSA-29mw-wpgm-hmr9",
"aliases": ["CVE-2021-23337"],
"summary": "Injection de commande dans lodash",
"severity": "High",
"exploited": false,
"fixed": "4.17.21"
}
],
"min_safe_version": "4.17.21"
}

scan_dependencies

Analysez un manifeste entier en un seul appel. Utilisez-le lors de la revue d'un service, après avoir ajouté plusieurs dépendances, ou pour répondre à la question « nos dépendances sont-elles sûres ? ». Seuls les paquets vulnérables sont renvoyés (chacun avec une cible de mise à niveau) ; les paquets sains sont simplement comptés.

Paramètres (point de terminaison hébergé)

Le serveur hébergé n'a aucun accès à votre système de fichiers, donc votre agent lit le fichier et en transmet le texte :

NomRequisDescription
manifest_contentLe texte complet du fichier manifeste.
manifest_nameLe nom du fichier, qui sélectionne l'analyseur : go.mod, package.json, package-lock.json, requirements.txt, pyproject.toml, Cargo.toml, Cargo.lock, pom.xml, composer.json.
Analysez le lockfile pour connaître la vérité installée

Un manifeste comportant des plages (^4.17.0) est vérifié à sa borne inférieure. Pour détecter ce qui est réellement résolu, analysez le lockfile (package-lock.json, Cargo.lock, un pyproject de type poetry.lock, …) au lieu du manifeste, ou en plus de celui-ci.

Mode stdio local

Lorsque vous exécutez DepCheck en local, scan_dependencies accepte également un manifest_path (un chemin du système de fichiers) comme alternative à manifest_content + manifest_name.

Renvoie

{
"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"
}
]
}

Corrigez en premier les résultats exploited: true — ce sont ceux qui font l'objet d'attaques actives. Mettez à niveau chaque paquet vulnérable vers sa version upgrade_to.


suggest_safe_version

Obtenez la version la plus récente d'un paquet ne présentant aucun avis connu. Utilisez-le pour choisir la version à ajouter, ou pour sélectionner la cible de mise à niveau d'une dépendance vulnérable — ne choisissez jamais à la main une version susceptible de porter ses propres avis.

Paramètres

NomRequisDescription
ecosystemMêmes valeurs que check_package.
nameNom de paquet publié exact.
include_prereleasePrendre également en compte les versions alpha/beta/rc. Valeur par défaut false.

Écosystèmes pris en charge par cet outil : npm, Go, PyPI, crates.io, Maven, RubyGems, NuGet. Il sonde les dernières versions (via deps.dev) par rapport à OSV jusqu'à en trouver une saine.

Renvoie

{
"package": "express (npm)",
"safe_version": "4.21.2",
"checked_latest_first": true
}

get_advisory

Détail complet pour un identifiant d'avis renvoyé par les autres outils — GHSA-…, CVE-…, RUSTSEC-…, GO-… ou PYSEC-…. Utilisez-le pour décider si une vulnérabilité signalée compte réellement au regard de la manière dont votre code utilise le paquet.

Paramètres

NomRequisDescription
idIdentifiant d'avis, par ex. GHSA-29mw-wpgm-hmr9 ou CVE-2021-23337.

Renvoie — description, vecteur et score CVSS, plages de versions affectées et liens de référence.

{
"id": "GHSA-29mw-wpgm-hmr9",
"aliases": ["CVE-2021-23337"],
"summary": "Injection de commande dans lodash",
"details": "Les versions de lodash antérieures à 4.17.21 sont vulnérables à l'injection de commande 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

Renseignements sur l'exploitation d'une CVE, issus des données de menace Cert-IX : statut CISA KEV (connue comme exploitée dans la nature), score/percentile de probabilité d'exploitation EPSS, ainsi que CVSS + CWE du NVD. Utilisez-le pour prioriser — une CVE listée dans KEV ou à EPSS élevé fait l'objet d'attaques actives et doit passer devant une autre au CVSS plus élevé mais non exploitée.

Accepte un identifiant CVE, ou un identifiant d'avis GHSA/GO/RUSTSEC (ses alias CVE sont résolus automatiquement).

Paramètres

NomRequisDescription
idIdentifiant CVE (CVE-2021-44228) ou identifiant d'avis (GHSA-jfh8-c2jp-5v3q).

Renvoie

{
"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 est activé lorsque DepCheck s'appuie sur le miroir Elasticsearch Cert-IX (index KEV/EPSS) — ce qui est le cas du point de terminaison hébergé mcp.cert-ix.com/depcheck. Une instance locale entièrement hors ligne sans le miroir expose les quatre autres outils.


La priorisation, en une seule règle

Lorsque plusieurs éléments sont vulnérables, l'ordre de tri de DepCheck encode la priorité :

  1. exploited / listé dans KEV / EPSS élevé — attaqué activement. À corriger en premier, même devant un CVSS brut plus élevé.
  2. Sévérité Critical / High — à corriger ensuite.
  3. Medium / Low — à planifier.

Déplacez ensuite chaque paquet vers la version upgrade_to / min_safe_version / safe_version que les outils vous fournissent. Consultez Flux de travail d'agent pour savoir comment intégrer cela dans la boucle d'édition d'un agent.

Cette page vous a-t-elle été utile ?