Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
confused — Tool zur Überprüfung auf Abhängigkeitsverwirrungs-Schwachstellen in mehreren Paketverwaltungssystemen | Kitploit
Tools/GitHubGitHub/visma-prodsec/confused
SchwachstellenanalyseLieferkettensicherheit
GitHubvisma-prodsec/confused

confused

Tool zur Überprüfung auf Abhängigkeitsverwirrungs-Schwachstellen in mehreren Paketverwaltungssystemen

Repository anzeigen
787109vor 3 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Confused

Ein Werkzeug, um nach verbleibenden freien Namensräumen für private Paketnamen zu suchen, die in der Abhängigkeitskonfiguration referenziert werden, für Python (pypi) requirements.txt, JavaScript (npm) package.json, PHP (composer) composer.json oder MVN (maven) pom.xml.

Worum geht es hier?

Am 9. Februar 2021 veröffentlichte der Sicherheitsforscher Alex Birsan einen Artikel, der verschiedene Auflösungsreihenfolgefehler in Abhängigkeitsverwaltungswerkzeugen thematisierte, die in mehreren Programmiersprachen-Ökosystemen vorhanden sind.

Microsoft veröffentlichte ein Whitepaper, das Möglichkeiten zur Minderung der Auswirkungen beschreibt, während die Ursache weiterhin bestehen bleibt.

Interpretation der Werkzeugausgabe

confused liest einfach eine Abhängigkeitsdefinitionsdatei einer Anwendung durch und prüft die öffentlichen Paket-Repositories für jeden Abhängigkeitseintrag in dieser Datei. Es meldet alle Paketnamen, die nicht in den öffentlichen Repositories gefunden werden – ein Zustand, der darauf hindeutet, dass ein Paket für diese Art von Angriff anfällig sein könnte, während dieser Vektor noch nicht ausgenutzt wurde.

Dies bedeutet jedoch nicht, dass eine Anwendung nicht bereits aktiv ausgenutzt wird. Wenn Sie wissen, dass Ihre Software private Paket-Repositories verwendet, sollten Sie sicherstellen, dass die Namensräume für Ihre privaten Pakete von einer vertrauenswürdigen Partei (in der Regel Sie selbst oder Ihr Unternehmen) beansprucht wurden.

Bekannte Fehlalarme

Einige Paketierungs-Ökosysteme wie npm haben ein Konzept namens "scopes", die entweder privat oder öffentlich sein können. Kurz gesagt bedeutet es einen Namensraum, der eine obere Ebene hat – den Scope. Die Scopes sind standardmäßig nicht öffentlich sichtbar, was bedeutet, dass confused nicht zuverlässig erkennen kann, ob er beansprucht wurde. Wenn Ihre Anwendung gescopte Paketnamen verwendet, sollten Sie sicherstellen, dass eine vertrauenswürdige Partei den Scope-Namen in den öffentlichen Repositories beansprucht hat.

Installation

  • Laden Sie ein vorerstelltes Binary von der Releases-Seite herunter, entpacken Sie es und führen Sie es aus!

    oder

  • Wenn Sie einen aktuellen Go-Compiler installiert haben: go get -u github.com/visma-prodsec/confused (derselbe Befehl funktioniert auch zum Aktualisieren)

    oder

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

Verwendung

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

Beispiel

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
 
Tool herunterladen