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
confused — Outil pour vérifier les vulnérabilités de confusion de dépendances dans plusieurs systèmes de gestion de paquets. | Kitploit
Outils/GitHubGitHub/visma-prodsec/confused
Analyse des VulnérabilitésSécurité de la Chaîne Logistique
GitHubvisma-prodsec/confused

confused

Outil pour vérifier les vulnérabilités de confusion de dépendances dans plusieurs systèmes de gestion de paquets.

Voir le dépôt
7871095il y a 3 ansVé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

Confused

Un outil pour détecter les espaces de noms libres résiduels pour les noms de paquets privés référencés dans la configuration des dépendances pour Python (pypi) requirements.txt, JavaScript (npm) package.json, PHP (composer) composer.json ou MVN (maven) pom.xml.

De quoi s'agit-il ?

Le 9 février 2021, un chercheur en sécurité, Alex Birsan, a publié un article qui abordait différentes failles d'ordre de résolution dans les outils de gestion des dépendances présents dans plusieurs écosystèmes de langages de programmation.

Microsoft a publié un livre blanc décrivant des moyens d'atténuer l'impact, alors que la cause première subsiste toujours.

Interprétation de la sortie de l'outil

confused lit simplement un fichier de définition des dépendances d'une application et vérifie les dépôts publics de paquets pour chaque entrée de dépendance dans ce fichier. Il signalera ensuite tous les noms de paquets non trouvés dans les dépôts publics – un état qui implique qu'un paquet pourrait être vulnérable à ce type d'attaque, bien que ce vecteur n'ait pas encore été exploité.

Cela ne signifie cependant pas qu'une application n'est pas déjà activement exploitée. Si vous savez que votre logiciel utilise des dépôts de paquets privés, vous devez vous assurer que les espaces de noms pour vos paquets privés ont été revendiqués par une partie de confiance (généralement vous-même ou votre entreprise).

Faux positifs connus

Certains écosystèmes de paquets comme npm ont un concept appelé « scopes » (portées) qui peuvent être privés ou publics. En bref, il s'agit d'un espace de noms avec un niveau supérieur – la portée. Les portées ne sont pas intrinsèquement visibles publiquement, ce qui signifie que confused ne peut pas détecter de manière fiable si elles ont été revendiquées. Si votre application utilise des noms de paquets avec portée, vous devez vous assurer qu'une partie de confiance a revendiqué le nom de la portée dans les dépôts publics.

Installation

  • Téléchargez un binaire précompilé depuis la page des versions, décompressez-le et exécutez-le !

    ou

  • Si vous avez un compilateur Go récent installé : go get -u github.com/visma-prodsec/confused (la même commande fonctionne pour la mise à jour)

    ou

  • git clone https://github.com/visma-prodsec/confused ; cd confused ; go get ; go build

Utilisation

root@kitploit:~
Usage:
 confused [-l LANGUAGENAME] depfilename.ext

Usage of confused:
  -l string
        Package repository system. Possible values: "pip", "npm", "composer", "mvn", "rubygems" (default "npm")
  -s string
        Comma-separated list of known-secure namespaces. Supports wildcards
  -v    Verbose output

Exemple

Python (PyPI)

root@kitploit:~
./confused -l pip requirements.txt

Issues found, the following packages are not available in public package repositories:
 [!] internal_package1

JavaScript (npm)

root@kitploit:~
./confused -l npm package.json

Issues found, the following packages are not available in public package repositories:
 [!] internal_package1
 [!] @mycompany/internal_package1
 [!] @mycompany/internal_package2

# Example when @mycompany private scope has been registered in npm, using -s
./confused -l npm -s '@mycompany/*' package.json

Issues found, the following packages are not available in public package repositories:
 [!] internal_package1

Maven (mvn)

root@kitploit:~
./confused -l mvn pom.xml

Issues found, the following packages are not available in public package repositories:
 [!] internal
 [!] internal/package1
 [!] internal/_package2

Ruby (rubygems)

root@kitploit:~
./confused -l rubygems Gemfile.lock

Issues found, the following packages are not available in public package repositories:
 [!] internal
 [!] internal/package1
 [!] internal/_package2
 
Télécharger l’outil