В результате масштабной фишинговой атаки злоумышленники получили доступ к учетным записям maintainers нескольких популярных NPM-пакетов, включая eslint-config-prettier, eslint-plugin-prettier, synckit, @pkgr/core и napi-postinstall. Скомпрометированные пакеты использовались для распространения вредоносного кода, способного выполнять удаленные команды на Windows-системах 134.
Как произошла атака?
- Фишинговая кампания: Злоумышленники отправили письма, маскирующиеся под официальные уведомления от npm, с просьбой «подтвердить email». Ссылка вела на поддельный сайт
npnjs[.]com(вместоnpmjs[.]com), где жертвы вводили свои учетные данные 13. - Кража токенов: Получив доступ к аккаунтам maintainers, злоумышленники использовали npm-токены для публикации вредоносных версий пакетов без изменений в исходном коде на GitHub, что затруднило обнаружение атаки 34.
- Вредоносный код: В скомпрометированных версиях был добавлен скрипт, загружающий и запускающий DLL (
node-gyp.dll) черезrundll32, что позволяло выполнять произвольный код на Windows 14.
Какие пакеты затронуты?
eslint-config-prettier(версии 8.10.1, 9.1.1, 10.1.6, 10.1.7)eslint-plugin-prettier(4.2.2, 4.2.3)synckit(0.11.9)@pkgr/core(0.2.8)napi-postinstall(0.3.1) 134
Что делать разработчикам?
- Проверить зависимости: Убедиться, что в проектах не используются зараженные версии.
- Откатить версии: Перейти на безопасные релизы (например,
eslint-config-prettier@10.1.5). - Включить 2FA: Защитить аккаунты npm двухфакторной аутентификацией.
- Использовать scoped-токены: Ограничить права токенов для публикации пакетов 13.
Последствия и выводы

Атака демонстрирует уязвимость экосистемы open-source к социальной инженерии. Даже единичный компрометированный аккаунт может привести к заражению тысяч проектов, особенно при автоматическом обновлении зависимостей через инструменты вроде Dependabot 34.
Рекомендации для maintainers:
- Регулярно проверять активность в аккаунте.
- Использовать аппаратные ключи безопасности для критических репозиториев.
- Мониторить подозрительные активности в npm и GitHub 14.
npm уже удалил вредоносные версии, но разработчикам следует оставаться бдительными — аналогичные атаки могут повториться 3.
Источники: The Hacker News, Socket.dev, BleepingComputer