«Скачал зависимость — потерял ключи». Новая атака на разработчиков

«Скачал зависимость — потерял ключи». Новая атака на разработчиков

Доверие к IT-экосистемам обернулось катастрофой для всей индустрии.

image

Исследователи из Zscaler ThreatLabz обнаружили в официальном репозитории PyPI библиотеку termncolor, которая распространяла вредоносный код через зависимость colorinal. Обе библиотеки уже удалены, однако до этого их успели скачать более 800 раз.

Особенность атаки заключалась в многоступенчатом заражении: установка termncolor приводила к загрузке colorinal, которая запускала DLL-файл для расшифровки и запуска следующего этапа. На этой стадии применялся бинарный файл vcpktsvr.exe вместе с libcef.dll, загруженным методом DLL Sideloading. Последний собирал информацию о системе и связывался с управляющим сервером через чат-платформу Zulip, что позволяло замаскировать трафик.ф

Для закрепления в системе библиотека прописывала ключ в автозагрузке Windows, а в Linux устанавливала библиотеку terminate.so с аналогичным функционалом. Анализ активности в Zulip показал наличие трёх активных аккаунтов и почти 91 тысячу сообщений, что указывает на длительное использование канала и активность автора с начала июля 2025 года.

Одновременно компания SlowMist сообщила о другой кампании, нацеленной на разработчиков. Злоумышленники выдавали себя за работодателей и просили кандидатов склонировать GitHub-репозиторий с заражённым npm-пакетом. Такой код позволял извлекать данные iCloud Keychain, содержимое браузеров и криптовалютных кошельков, а также отправлять их на внешний сервер.

Помимо этого, вредоносные модули могли скачивать и запускать Python-скрипты, собирать сведения о системе, искать конфиденциальные файлы, похищать учётные данные, фиксировать нажатия клавиш, делать скриншоты и контролировать буфер обмена. Среди выявленных пакетов — redux-ace и rtk-logger, которые в совокупности были загружены более 550 раз.

В последние месяцы зафиксированы и другие вредоносные npm-пакеты, ориентированные на специалистов по безопасности. Они использовались для кражи данных и скрытого майнинга криптовалюты, причём злоумышленники применяли зависимости и легальные сервисы наподобие Dropbox для вывода украденной информации. По данным Datadog, такие пакеты распространялись под видом proof-of-concept для уязвимостей или фиктивных «улучшений производительности ядра». За этой деятельностью стоит группа, отслеживаемая под идентификатором MUT-1244.

Дополнительный риск представляет автоматическое обновление зависимостей. ReversingLabs показала , что в случае компрометации популярного проекта вредоносные версии могут массово распространяться в другие проекты. Примером стал случай с eslint-config-prettier, когда атакующие смогли через фишинг получить доступ и загрузить подменённые версии в npm без изменений в репозитории GitHub.

Более 14 тысяч пакетов указали этот модуль как основную зависимость вместо devDependency, что привело к автоматическому распространению заражённых версий через Dependabot и GitHub Actions. Исследователи отметили, что такие инструменты, изначально созданные для снижения рисков, при атаке на цепочку поставок могут сами стать фактором, ускоряющим заражение.

История с вредоносными библиотеками на PyPI и npm показывает, что уязвимыми оказываются не только конечные пользователи, но и сами инструменты разработки: чем глубже автоматизация и доверие к экосистемам, тем опаснее становится одно подменённое звено в цепочке поставок.