Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 304

Атака путаницы зависимостей (Dependency Confusion)

Что такое Атака путаницы зависимостей (Dependency Confusion)?

Атака путаницы зависимостей (Dependency Confusion)Атака на цепочку поставок ПО, при которой злоумышленник публикует в публичном реестре вредоносный пакет с именем, совпадающим с внутренней зависимостью организации, заставляя сборку подтягивать публичную версию.


Dependency Confusion использует поведение по умолчанию у пакетных менеджеров (npm, pip, Maven, NuGet, RubyGems и др.), которые комбинируют публичные и приватные реестры. Злоумышленник узнаёт имя внутреннего пакета (по утёкшим манифестам, публичным репозиториям, DNS), публикует в публичном реестре пакет с тем же именем и более высокой версией и ждёт, пока сборочные агенты его скачают. Исследование Алекса Бирсана в 2021 году показало уязвимость десятков крупных компаний. Меры защиты: явная привязка к реестру (npm scoped-пакеты, upstream-фиды NuGet, pip --index-url), публикация внутренних имён-плейсхолдеров в публичном реестре, блокировка исходящего резолва, подпись пакетов через Sigstore или PGP, а также использование курируемого артефакт-репозитория, фиксирующего имя и источник. SLSA, SBOM и постоянный мониторинг новых публичных пакетов помогают выявлять попытки.

Примеры

  1. 01

    Внутренний пакет internal-utils заменён вредоносным internal-utils@99.0.0 в npm.

  2. 02

    Конвейер сборки тянет pip-зависимость из PyPI вместо приватного индекса.

Частые вопросы

Что такое Атака путаницы зависимостей (Dependency Confusion)?

Атака на цепочку поставок ПО, при которой злоумышленник публикует в публичном реестре вредоносный пакет с именем, совпадающим с внутренней зависимостью организации, заставляя сборку подтягивать публичную версию. Относится к категории Безопасность приложений в кибербезопасности.

Что означает Атака путаницы зависимостей (Dependency Confusion)?

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

Как работает Атака путаницы зависимостей (Dependency Confusion)?

Dependency Confusion использует поведение по умолчанию у пакетных менеджеров (npm, pip, Maven, NuGet, RubyGems и др.), которые комбинируют публичные и приватные реестры. Злоумышленник узнаёт имя внутреннего пакета (по утёкшим манифестам, публичным репозиториям, DNS), публикует в публичном реестре пакет с тем же именем и более высокой версией и ждёт, пока сборочные агенты его скачают. Исследование Алекса Бирсана в 2021 году показало уязвимость десятков крупных компаний. Меры защиты: явная привязка к реестру (npm scoped-пакеты, upstream-фиды NuGet, pip --index-url), публикация внутренних имён-плейсхолдеров в публичном реестре, блокировка исходящего резолва, подпись пакетов через Sigstore или PGP, а также использование курируемого артефакт-репозитория, фиксирующего имя и источник. SLSA, SBOM и постоянный мониторинг новых публичных пакетов помогают выявлять попытки.

Как защититься от Атака путаницы зависимостей (Dependency Confusion)?

Защита от Атака путаницы зависимостей (Dependency Confusion) обычно сочетает технические меры и операционные практики, как описано в определении выше.

Какие есть другие названия Атака путаницы зависимостей (Dependency Confusion)?

Распространённые альтернативные названия: Подмена пакетов, Путаница пространств имён.

Связанные термины

См. также