Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
confused — Инструмент для проверки уязвимостей путаницы зависимостей в нескольких системах управления пакетами. | Kitploit
Инструменты/GitHubGitHub/visma-prodsec/confused
Анализ уязвимостейБезопасность Цепочки Поставок
GitHubvisma-prodsec/confused

confused

Инструмент для проверки уязвимостей путаницы зависимостей в нескольких системах управления пакетами.

Репозиторий
7871093 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Confused

Инструмент для проверки на наличие свободных пространств имен для частных имен пакетов, указанных в конфигурации зависимостей для Python (pypi) requirements.txt, JavaScript (npm) package.json, PHP (composer) composer.json или MVN (maven) pom.xml.

О чём это всё?

9 февраля 2021 года исследователь безопасности Алекс Бирсан опубликовал статью, в которой затронул различные недостатки порядка разрешения зависимостей в инструментах управления зависимостями, присутствующие в нескольких экосистемах языков программирования.

Microsoft выпустила технический документ, описывающий способы смягчения последствий, в то время как первопричина все еще остается.

Интерпретация вывода инструмента

confused просто считывает файл определения зависимостей приложения и проверяет общедоступные репозитории пакетов для каждой записи зависимости в этом файле. Он сообщает обо всех именах пакетов, которые не найдены в общедоступных репозиториях — такое состояние подразумевает, что пакет может быть уязвим для атаки такого рода, хотя этот вектор еще не был использован.

Однако это не означает, что приложение уже активно не эксплуатируется. Если вы знаете, что ваше программное обеспечение использует частные репозитории пакетов, вы должны убедиться, что пространства имен для ваших частных пакетов были заняты доверенной стороной (обычно вами или вашей компанией).

Известные ложные срабатывания

Некоторые экосистемы упаковки, такие как npm, имеют концепцию «областей» (scopes), которые могут быть частными или общедоступными. Вкратце это означает пространство имен, имеющее верхний уровень — область. Области по своей природе не видны публично, что означает, что confused не может надежно определить, была ли она занята. Если ваше приложение использует именованные пакеты с областями, вы должны убедиться, что доверенная сторона заняла имя области в общедоступных репозиториях.

Установка

  • Скачайте предварительно собранный бинарный файл со страницы релизов, распакуйте и запустите!

    или

  • Если у вас установлен свежий компилятор Go: go get -u github.com/visma-prodsec/confused (та же команда работает для обновления)

    или

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

Использование

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

Пример

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

# Пример, когда частная область @mycompany зарегистрирована в npm, с использованием -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
 
Скачать инструмент