Специалисты по кибербезопасности из компании Socket выявили серию вредоносных пакетов в репозитории npm, нацеленных на разработчиков популярной игровой платформы Roblox. Злоумышленники использовали методы социальной инженерии и маскировки под легитимные библиотеки для распространения опасных стилеров данных.
Анализ вредоносной кампании
В ходе исследования были обнаружены четыре подозрительных пакета: node-dlls (77 загрузок), ro.dll (74 загрузки), autoadv (66 загрузок) и rolimons-api (107 загрузок). Злоумышленники целенаправленно имитировали названия легитимных инструментов сообщества Roblox, включая широко используемый пакет node-dll. Подробности кампании опубликованы в реестре GitHub Security Advisories.
Механизм работы вредоносного ПО
Исследователи выявили, что вредоносные пакеты содержали обфусцированный JavaScript-код, который загружал и выполнял два известных стилера: Skuld (написанный на Golang) и Blank Grabber (на Python). Для избежания обнаружения злоумышленники хранили вредоносные бинарные файлы в специально созданном GitHub-репозитории.
Функциональность стилеров
После внедрения в систему жертвы стилеры собирают широкий спектр конфиденциальной информации: сохранённые пароли браузеров, токены сессий Discord, данные криптовалютных кошельков и файлы cookies. Для экфильтрации похищенных данных использовались веб-хуки Discord и Telegram, что затрудняло обнаружение вредоносной активности традиционными средствами защиты.
Кого затрагивает угроза
Под угрозой находятся все разработчики игр и инструментов для платформы Roblox, использующие npm-зависимости в своих проектах. Особенно уязвимы начинающие разработчики, которые полагаются на репутацию имени пакета без проверки его содержимого. Инцидент также затрагивает организации, где корпоративные устройства использовались для разработки под Roblox.
Что необходимо сделать
- Немедленно удалите пакеты node-dlls, ro.dll, autoadv и rolimons-api, если они установлены в ваших проектах.
- Проверьте историю установки npm на предмет этих пакетов командой
npm lsи просмотритеpackage-lock.json. - Смените все пароли и токены Discord/Telegram, к которым мог быть получен доступ на скомпрометированных машинах.
- Используйте npm Security Advisories для проверки известных уязвимостей зависимостей перед установкой.
- Подключите автоматическую проверку зависимостей через npm audit в CI/CD-пайплайне.
Масштаб угрозы и последствия
Несмотря на относительно небольшое число загрузок вредоносных пакетов, данный инцидент демонстрирует серьёзную уязвимость в цепочке поставок программного обеспечения. Для сравнения: легитимный Python-пакет rolimons набрал более 17 000 загрузок, что подчёркивает потенциальный масштаб ущерба при более успешной маскировке. Разработчикам необходимо тщательно проверять источники используемых пакетов и применять дополнительные меры защиты при работе с внешними зависимостями.