Северокорейские хакеры опубликовали в npm реестре 26 зараженных пакетов, которые извлекают адреса командных серверов из обычных компьютерных эссе на Pastebin и устанавливают троян для кражи данных разработчиков.
Атака получила название StegaBin и приписывается группировке Famous Chollima. Исследователи Socket и kmsec.uk обнаружили, что все пакеты маскируются под популярные инструменты разработки — от argonist и bcryptance до zoddle и windowston.
Как работает стеганографическая схема
Каждый пакет содержит установочный скрипт, который автоматически запускается при установке через npm. Зловред обращается к трем URL на Pastebin, где размещены невинные эссе о компьютерных науках.
«Декодер извлекает символы из определенных позиций текста и склеивает их в список доменов C2-серверов», — объясняют исследователи Socket Филипп Буркхардт и Питер ван дер Зее. Система считывает 5-значный маркер длины, вычисляет равномерно расположенные позиции символов и извлекает скрытые адреса.
После декодирования малварь подключается к одному из 31 доменов, размещенных на Vercel, и загружает платформо-специфичные payload для Windows, macOS и Linux. Основной C2-сервер расположен по адресу 103.106.67.63:1244.
Девять модулей для тотального шпионажа
Троян разворачивает комплексный набор из девяти модулей:
VS Code persistence — внедряет зловредный tasks.json файл, который активируется каждый раз при открытии проекта в редакторе через триггер runOn: "folderOpen".
Keylogger и clipboard theft — перехватывает нажатия клавиш и содержимое буфера обмена.
Browser credential harvesting — выкачивает сохраненные пароли из браузеров.
TruffleHog secret scanning — сканирует код на предмет API-ключей и токенов.
Git и SSH exfiltration — крадет репозитории и SSH-ключи разработчиков.
Чем это грозит разработчикам
Все зараженные пакеты объявляют в зависимостях легитимные библиотеки, имена которых пытаются подделать — классический typosquatting. Это делает их более правдоподобными при беглом осмотре package.json.
Для российских команд риск особенно высок, если они используют внешние npm-пакеты без тщательной проверки. Один неосторожный npm install может скомпрометировать весь проект и корпоративную инфраструктуру.
Socket рекомендует внедрить автоматическое сканирование зависимостей и не устанавливать пакеты с подозрительно похожими именами на популярные библиотеки.


