Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
deptrust — Serveur CLI et MCP qui vérifie les versions de paquets pour détecter des vulnérabilités connues dans 14+ écosystèmes, notamment npm, PyPI, crates.io, les modules Go et GitHub Actions. S'intègre aux agents IA via des hooks et des skills. | Kitploit
Outils/GitHubGitHub/clidey/deptrust
Scanners de VulnérabilitésScripting et AutomatisationSécurité CloudDevSecOpsDétection de SecretsSécurité de la Chaîne LogistiqueSécurité des API
GitHubclidey/deptrust

deptrust

Serveur CLI et MCP qui vérifie les versions de paquets pour détecter des vulnérabilités connues dans 14+ écosystèmes, notamment npm, PyPI, crates.io, les modules Go et GitHub Actions. S'intègre aux agents IA via des hooks et des skills.

Voir le dépôt
603il y a 1 jourVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

deptrust

root@kitploit:~
     __           __                  __
 ___/ /___  ___  / /________  _______/ /_
/ _  / __ \/ _ \/ __/ ___/ / / / ___/ __/
/  __/ /_/ /  __/ /_/ /  / /_/ (__  ) /_
\__,_/\____/ .___/\__/_/   \__,_/____/\__/
           /_/

deptrust est un CLI qui vérifie les versions de paquets pour détecter des vulnérabilités connues sur npm, PyPI, crates.io, les modules Go, RubyGems, NuGet, Maven, Packagist, pub.dev, CocoaPods, Hex.pm, Hackage, GitHub Actions, et plus encore.

Il s'exécute localement en tant que CLI et en tant que serveur MCP. Il appelle directement les API publiques des registres de paquets et d'OSV ; il n'existe aucun service deptrust hébergé auquel faire confiance ou à configurer.

Cet outil est né de la frustration que représentent les agents IA qui utilisent constamment d'anciennes versions.

Sommaire

  • Périmètre
  • Utilisation du CLI
  • Installation
  • Configuration des agents
  • Configuration manuelle de MCP
  • Outils MCP
  • Utilisation avec uniquement la compétence
  • Dépannage

Périmètre

Écosystèmes pris en charge :

  • npm, y compris les paquets scopés comme @clidey/ux
  • PyPI
  • Cargo / crates.io
  • Modules Go
  • RubyGems
  • NuGet
  • Maven, avec des noms de paquets groupId:artifactId
  • Packagist / Composer, avec des noms de paquets vendor/package
  • pub.dev
  • CocoaPods
  • Hex.pm
  • Hackage
  • GitHub Actions, avec des noms de paquets owner/repo et des tags, des références de branches ou des SHAs de commits comme versions

deptrust signale actuellement les vulnérabilités connues et donne une recommandation simple :

Sévérité connue la plus élevéeRecommandation
critiquebloquer
élevéebloquer
moyenne / inconnueexaminer
faible

allow signifie qu'aucune vulnérabilité connue bloquante n'a été trouvée dans les sources de données publiques. Cela ne prouve pas qu'un paquet est sûr.

deptrust émet également des signaux de risque qui ne sont pas des CVE. Par exemple, une version publiée au cours des 72 dernières heures est marquée pour examen afin qu'un agent n'installe pas aveuglément une toute nouvelle version.

Les fournisseurs d'avis sont interrogés en parallèle :

  • OSV
  • GitHub Advisory Database, y compris les avis examinés et les avis de logiciels malveillants

La couverture varie selon l'écosystème. Si deptrust peut résoudre les métadonnées du registre mais qu'aucun fournisseur de vulnérabilités configuré ne prend en charge cet écosystème, il renvoie unknown au lieu de considérer le paquet comme sûr.

Couverture des fournisseurs :

La sortie JSON inclut des champs de couverture des avis :

  • checked_providers : fournisseurs de vulnérabilités que deptrust a réellement interrogés
  • skipped_providers : fournisseurs configurés ignorés parce que l'écosystème n'est pas pris en charge
  • advisory_coverage : full, partial, none ou error
  • advisory_coverage_reason : brève explication de la valeur de couverture
  • registry_verification : verified lorsque les métadonnées du registre ont confirmé la version, ou unverified lorsqu'une vérification de version exacte s'est poursuivie après un échec transitoire du registre
  • registry_verification_reason : l'erreur du registre lorsque la vérification était indisponible

Une vérification de version exacte interroge toujours les fournisseurs d'avis lorsque la vérification du registre est temporairement indisponible. Ce résultat est toujours non installable et ne reçoit jamais de recommandation allow. Les vérifications de latest, des paquets inconnus et des versions définitivement inexistantes exigent toujours une résolution réussie du registre.

Les requêtes HTTP réessayent les réponses 429, 502, 503 et 504 jusqu'à trois tentatives au total. Les nouvelles tentatives utilisent de courts délais exponentiels et respectent les valeurs Retry-After jusqu'à deux secondes ; les attentes plus longues demandées par le serveur échouent rapidement afin que le CLI ne reste pas bloqué. Des nouvelles tentatives d'avis épuisées rendent le résultat incomplet et empêchent une recommandation allow.

Authentification à l'API GitHub

Les requêtes vers GitHub Advisory Database et l'API GitHub Actions peuvent utiliser un jeton d'application GitHub de courte durée et au privilège minimal. Dans CI, transmettez-le via DEPTRUST_GITHUB_TOKEN :

root@kitploit:~
DEPTRUST_GITHUB_TOKEN="$GITHUB_APP_TOKEN" deptrust check npm lodash 4.17.20

La précédence des identifiants est DEPTRUST_GITHUB_TOKEN, GITHUB_TOKEN, puis GH_TOKEN. Pour une utilisation locale, le recours facultatif au GitHub CLI est activé explicitement avec DEPTRUST_GITHUB_AUTH=gh deptrust check ... ; il exécute gh auth token sans invite. Si aucun identifiant n'est disponible, DepTrust continue sans authentification. Un échec de limite de débit ou de permission de l'API GitHub produit unknown avec des diagnostics et n'est jamais traité comme un succès OSV uniquement.

DepTrust ne stocke, ne regroupe, ne met en cache, ne journalise, ne télémètre et n'émet jamais de jetons GitHub. Les en-têtes d'authentification sont envoyés uniquement à https://api.github.com.

Utilisation du CLI

Vérifier une version exacte :

root@kitploit:~
deptrust check npm lodash 4.17.20

Exemple de réponse normale :

root@kitploit:~
npm [email protected]: 2 known vulnerabilities found
recommendation: block
risk_score: 80

Vérifier la dernière version :

root@kitploit:~
deptrust check pypi requests latest

Renvoie du JSON :

root@kitploit:~
deptrust check --json cargo serde latest

Vérifier un module Go :

root@kitploit:~
deptrust check go golang.org/x/crypto latest

Vérifier RubyGems, NuGet ou Maven :

root@kitploit:~
deptrust check rubygems rails latest
deptrust check nuget Newtonsoft.Json latest
deptrust check maven org.apache.logging.log4j:log4j-core latest

Vérifier Packagist, pub.dev, CocoaPods, Hex.pm, Hackage ou GitHub Actions :

root@kitploit:~
deptrust check packagist monolog/monolog latest
deptrust check pub http latest
deptrust check cocoapods AFNetworking latest
deptrust check hex plug latest
deptrust check hackage aeson latest
deptrust check github-actions actions/checkout v7.0.0
deptrust check github-actions actions/checkout main

Pour GitHub Actions, les SHAs de commits complets sont traités comme épinglés. Les tags semver complets comme v4.2.2 sont acceptés sans signal d'épinglage supplémentaire. Les tags majeurs uniquement comme v4 et les références de branches comme main sont des références valides, mais deptrust ajoute un signal d'examen car ils peuvent bouger.

Exemple de réponse JSON :

root@kitploit:~
{
  "ecosystem": "npm",
  "package": "lodash",
  "version": "4.17.20",
  "latest_version": "4.17.21",
  "known_vulnerabilities_found": true,
  "safe_to_use": false,
  "should_install": false,
  "risk_score": 80,
  "recommendation": "block",
  "classification": "vulnerable",
  "reason": "Found 2 known vulnerability records.",
  "next_action": "do_not_install; use suggest_safe_version or compare_versions to choose a safer version",
  "summary": "lodash 4.17.20 has 2 known vulnerabilities, including high severity. Block this exact version and prefer a fixed release.",
  "signals": [],
  "checked_providers": [
    "OSV",
    "GitHub Advisory DB"
  ],
  "skipped_providers": [],
  "advisory_coverage": "full",
  "advisory_coverage_reason": "all configured vulnerability providers were checked",
  "registry_verification": "verified",
  "vulnerabilities": [
    {
      "id": "GHSA-35jh-r3h4-6jhm",
      "aliases": [
        "CVE-2021-23337"
      ],
      "cve_ids": [
        "CVE-2021-23337"
      ],
      "ghsa_ids": [
        "GHSA-35jh-r3h4-6jhm"
      ],
      "summary": "Command Injection in lodash",
      "severity": "high",
      "source": "OSV",
      "advisory_url": "https://github.com/advisories/GHSA-35jh-r3h4-6jhm",
      "affected_ranges": [
        "SEMVER: introduced 0, fixed 4.17.21"
      ],
      "fixed_versions": [
        "4.17.21"
      ],
      "references": [
        {
          "type": "ADVISORY",
          "url": "https://github.com/advisories/GHSA-35jh-r3h4-6jhm"
        }
      ]
    }
  ],
  "provider_errors": []
}

Suggérer la dernière version uniquement lorsqu'aucune vulnérabilité connue n'est trouvée :

root@kitploit:~
deptrust suggest npm lodash

Si la dernière version n'est pas autorisée, suggest vérifie les versions connues plus anciennes et renvoie la version la plus récente avec une recommandation allow.

Lorsque les avis incluent des versions corrigées, suggest vérifie d'abord ces versions corrigées signalées par le fournisseur avant de parcourir à rebours la liste des versions du registre.

Comparer deux versions :

root@kitploit:~
deptrust compare npm lodash 4.17.20 4.17.21

Exemple de réponse compare :

root@kitploit:~
lodash 4.17.20 -> 4.17.21 improves risk: score 80 to 0.
recommendation: allow
next_action: upgrade_to_target

Afficher la version installée :

root@kitploit:~
deptrust version

Installation

Le chemin d'installation le plus simple est npx ou pnpx :

root@kitploit:~
npx @clidey/deptrust install
pnpx @clidey/deptrust@latest install

L'installeur par défaut est guidé. Il installe le binaire, demande quelles intégrations d'agents configurer, affiche les destinations au niveau utilisateur avant de modifier quoi que ce soit, et demande une confirmation. L'installeur guidé active par défaut MCP, le repli de compétence et les hooks de sécurité des dépendances pour Codex et Claude Code. Ajoutez --yes pour des installations non interactives du binaire uniquement, ou transmettez des drapeaux d'intégration explicites.

Réexécuter l'installeur est sûr. Il laisse silencieusement inchangés les configurations MCP, de compétence et de hooks existantes. Si une intégration pointe vers un ancien binaire deptrust ou si sa configuration gérée a changé, l'installeur la met à jour automatiquement ; les utilisateurs n'ont pas besoin de supprimer et de réajouter manuellement les serveurs MCP. Les compétences personnalisées sont sauvegardées avant remplacement.

Pour supprimer le binaire, la compétence et les entrées MCP au niveau utilisateur :

root@kitploit:~
npx @clidey/deptrust uninstall
pnpx @clidey/deptrust@latest uninstall

Les utilisateurs de Homebrew peuvent installer depuis le tap Clidey :

root@kitploit:~
brew install clidey/tap/deptrust

Ou ajouter le tap d'abord, puis installer et mettre à niveau comme d'habitude :

root@kitploit:~
brew tap clidey/tap
brew install deptrust
brew upgrade deptrust

Homebrew affiche un rappel après l'installation. Pour exécuter la configuration guidée Codex et Claude Code en utilisant le binaire Homebrew lui-même (enregistrements MCP et hooks de sécurité des dépendances) :

root@kitploit:~
deptrust setup

La configuration guidée demande avant d'activer MCP et les hooks de sécurité des dépendances. Elle laisse intacts les enregistrements qui utilisent déjà le binaire actuel et réconcilie les enregistrements DepTrust existants qui pointent vers un ancien chemin d'installation npm, Homebrew ou source.

Les utilisateurs de Go peuvent installer directement :

root@kitploit:~
go install github.com/clidey/deptrust/cmd/deptrust@latest

Nix

Le projet fournit des sorties de flake Nix facultatives pour les utilisateurs qui utilisent déjà Nix. Le flake enveloppe le binaire de version précompilé.

root@kitploit:~
# Exécuter sans installer
nix run github:clidey/deptrust

# Installer dans votre profil
nix profile install github:clidey/deptrust

Le workflow de publication normal génère les hashs Nix à partir des mêmes archives qu'il publie, évalue le flake avant la publication, puis le compile et l'exécute contre les ressources publiées avant de mettre à jour la branche par défaut. github:clidey/deptrust peut brièvement accuser un retard pendant que ce workflow s'exécute. Les tags de publication pointent vers le commit source antérieur à la mise à jour du flake généré et peuvent encore référencer le binaire précédent ; épinglez un commit dont le flake.nix contient la version dont vous avez besoin lorsque la reproductibilité compte.

Devbox

Pour des environnements de développement reproductibles, utilisez Devbox :

root@kitploit:~
# Installer Devbox d'abord (s'il n'est pas déjà installé)
curl -fsSL https://get.jetify.dev/devbox | bash

# Initialiser l'environnement
devbox shell

# Construire le projet
devbox run build

devbox.json contraint la version de la chaîne d'outils et le devbox.lock validé épingle les versions exactes des paquets et les révisions nixpkgs. Exécutez devbox update lorsque vous souhaitez intentionnellement actualiser ces épingles.

Ou installez Devbox via Homebrew :

root@kitploit:~
brew install jetify-com/devbox/devbox

Configuration des agents

Pour installer deptrust et enregistrer tout ce que l'installeur peut configurer sans les invites guidées :

root@kitploit:~
npx @clidey/deptrust install --all
pnpx @clidey/deptrust@latest install --all

--all installe le binaire, enregistre Codex MCP lorsque le CLI codex est disponible, installe le repli de compétence Codex, enregistre Claude Code MCP lorsque le CLI claude est disponible, et installe les hooks de sécurité des dépendances Codex et Claude Code.

Les hooks sont des hooks PreToolUse. Ils vérifient les commandes d'installation de paquets avant leur exécution, et ils vérifient également les GitHub Actions ajoutées aux fichiers de workflow via les outils d'édition de fichiers des agents. Un hook bloque l'appel d'outil lorsque deptrust renvoie review, block ou unknown. L'installeur écrit uniquement la configuration de hook au niveau utilisateur : ~/.codex/hooks.json pour Codex et ~/.claude/settings.json pour Claude Code.

Lorsque le CLI gh est disponible, la configuration guidée propose également d'utiliser sa connexion locale existante pour les vérifications de hooks. Cela écrit uniquement DEPTRUST_GITHUB_AUTH=gh, jamais un jeton GitHub, afin que les sous-processus de hooks puissent éviter les limites de débit non authentifiées de l'API GitHub.

Utilisez des installations plus ciblées si vous préférez :

root@kitploit:~
npx @clidey/deptrust install --codex-mcp
npx @clidey/deptrust install --claude-code-mcp
npx @clidey/deptrust skills install
pnpx @clidey/deptrust@latest install --codex-mcp
pnpx @clidey/deptrust@latest install --claude-code-mcp
pnpx @clidey/deptrust@latest skills install

Après la configuration MCP, les agents vérifieront automatiquement les paquets avant de recommander des mises à jour ou des modifications. Le serveur MCP envoie des instructions pour examiner toutes les versions de dépendances — y compris pour répondre à des questions comme « que puis-je mettre à jour » ou « quelles dépendances sont sûres à mettre à niveau » — avant de fournir des recommandations.

Si vous utilisez deptrust dans un contexte non MCP, rappelez à votre agent :

root@kitploit:~
Before listing, comparing, or recommending specific package versions, check them with deptrust. This includes answering "what can I update" — do not provide version recommendations until after checking for known vulnerabilities.

Pour CI, configurez un jeton d'application GitHub de courte durée et au privilège minimal comme DEPTRUST_GITHUB_TOKEN pour le processus exécutant DepTrust. Pour l'authentification locale via GitHub CLI, utilisez DEPTRUST_GITHUB_AUTH=gh deptrust check .... DepTrust ne stocke jamais de jetons.

Configuration manuelle de MCP

Si votre client prend en charge les serveurs MCP stdio, configurez-le pour exécuter :

root@kitploit:~
/absolute/path/to/deptrust mcp

De nombreux clients utilisent cette forme JSON :

root@kitploit:~
{
  "mcpServers": {
    "deptrust": {
      "command": "/absolute/path/to/deptrust",
      "args": ["mcp"]
    }
  }
}

Pour Codex, vous pouvez également l'ajouter avec :

root@kitploit:~
codex mcp add deptrust -- /absolute/path/to/deptrust mcp

Pour Claude Code :

root@kitploit:~
claude mcp add --transport stdio deptrust -- /absolute/path/to/deptrust mcp

Lors de initialize, le serveur renvoie des instructions MCP indiquant à l'agent quand recourir à ces outils (avant d'ajouter, de mettre à niveau ou de recommander une dépendance, ou lorsqu'on lui demande si une version est sûre à mettre à jour). Les clients qui affichent les instructions du serveur appliqueront cela automatiquement, de sorte que le rappel manuel ci-dessus est facultatif plutôt qu'obligatoire.

Outils MCP

check_package

Vérifie une version de paquet et renvoie les vulnérabilités connues ainsi qu'une recommandation.

root@kitploit:~
{
  "ecosystem": "npm",
  "package": "lodash",
  "version": "4.17.20"
}

version peut être omis ou défini sur latest. Si une version exacte n'existe pas, deptrust renvoie une erreur et suggère la dernière version explicite.

La sortie MCP est intentionnellement compacte afin que les agents puissent décider d'installer une dépendance sans faire entrer les corps d'avis complets dans le contexte. Si l'utilisateur demande à voir les détails complets, l'agent peut exécuter le full_response_command.

Exemple de sortie structurée MCP compacte :

root@kitploit:~
{
  "ecosystem": "npm",
  "package": "vite",
  "version": "7.0.0",
  "latest_version": "8.0.16",
  "known_vulnerabilities_found": true,
  "safe_to_use": false,
  "should_install": false,
  "risk_score": 80,
  "classification": "vulnerable",
  "recommendation": "block",
  "reason": "Found 7 known vulnerability records.",
  "next_action": "do_not_install; use suggest_safe_version or compare_versions to choose a safer version",
  "summary": "vite 7.0.0 has 7 known vulnerabilities, including high severity. Block this exact version and prefer a fixed release.",
  "vulnerability_count": 7,
  "vulnerability_counts": {
    "critical": 0,
    "high": 2,
    "medium": 3,
    "low": 2,
    "unknown": 0
  },
  "highest_severity": "high",
  "checked_providers": [
    "OSV",
    "GitHub Advisory DB"
  ],
  "skipped_providers": [],
  "advisory_coverage": "full",
  "advisory_coverage_reason": "all configured vulnerability providers were checked",
  "registry_verification": "verified",
  "full_response_command": "deptrust check --json npm vite 7.0.0"
}

La réponse MCP compacte omet le tableau de vulnérabilités, les details des avis et les references répétées. Les agents doivent utiliser par défaut les compteurs, la sévérité la plus élevée, la couverture des fournisseurs, la recommandation et l'action suivante. Si l'utilisateur demande les détails complets des avis, exécutez le full_response_command.

Lorsque l'accès aux avis GitHub est limité par le débit ou indisponible, MCP renvoie unknown. L'agent doit proposer de manière proactive de configurer un jeton et de réessayer, d'ignorer ou de différer la version, ou de continuer uniquement après que l'utilisateur a explicitement accepté le risque de couverture GitHub non résolu pour cette version exacte. Cette exception doit rester clairement étiquetée comme une incertitude acceptée par l'utilisateur ; elle ne doit pas être signalée comme allow ni comme une preuve que la version est sûre.

suggest_safe_version

Vérifie d'abord la dernière version. Si la dernière n'est pas autorisée, vérifie d'abord les versions corrigées signalées par le fournisseur, puis les versions connues plus anciennes, et suggère la version la plus récente avec une recommandation allow.

root@kitploit:~
{
  "ecosystem": "npm",
  "package": "lodash"
}

compare_versions

Compare une version actuelle et une version cible, y compris les vulnérabilités résolues et ajoutées.

root@kitploit:~
{
  "ecosystem": "npm",
  "package": "lodash",
  "from_version": "4.17.20",
  "to_version": "4.17.21"
}

Utilisation avec uniquement la compétence

Si vous ne voulez pas de MCP, installez la compétence Codex fournie :

root@kitploit:~
npx @clidey/deptrust skills install

La compétence indique à Codex d'appeler le CLI deptrust avant d'installer, de mettre à jour ou de recommander des paquets npm, PyPI, Cargo, modules Go, RubyGems, NuGet, Maven, Packagist, pub.dev, CocoaPods, Hex.pm, Hackage et GitHub Actions.

Dépannage

Si deptrust n'est pas trouvé :

root@kitploit:~
export PATH="$HOME/.local/bin:$PATH"

Si un client MCP ne peut pas démarrer le serveur, trouvez le chemin complet :

root@kitploit:~
which deptrust

Puis placez ce chemin absolu dans la configuration MCP.

Si une vérification de paquet renvoie unknown, ne traitez pas le paquet comme sûr. Cela signifie que deptrust n'a pas pu obtenir une réponse complète d'un fournisseur d'avis ou n'a pas pu vérifier la version exacte auprès de son registre.

Télécharger l’outil
autoriser
aucune trouvéeautoriser
ÉcosystèmeMétadonnées du registreOSVGitHub Advisory DB
npmouiouioui
PyPIouiouioui
Cargo / crates.ioouiouioui
Modules Goouiouioui
RubyGemsouiouioui
NuGetouiouioui
Mavenouiouioui
Packagist / Composerouiouioui
pub.devouiouioui
CocoaPodsouinonoui
Hex.pmouiouioui
Hackageouiouinon
GitHub Actionsouiouioui