Фишинговая атака привела к компрометации ключевых NPM-пакетов

В результате масштабной фишинговой атаки злоумышленники получили доступ к учетным записям maintainers нескольких популярных NPM-пакетов, включая eslint-config-prettiereslint-plugin-prettiersynckit@pkgr/core и napi-postinstall. Скомпрометированные пакеты использовались для распространения вредоносного кода, способного выполнять удаленные команды на Windows-системах 134.

Как произошла атака?

  1. Фишинговая кампания: Злоумышленники отправили письма, маскирующиеся под официальные уведомления от npm, с просьбой «подтвердить email». Ссылка вела на поддельный сайт npnjs[.]com (вместо npmjs[.]com), где жертвы вводили свои учетные данные 13.
  2. Кража токенов: Получив доступ к аккаунтам maintainers, злоумышленники использовали npm-токены для публикации вредоносных версий пакетов без изменений в исходном коде на GitHub, что затруднило обнаружение атаки 34.
  3. Вредоносный код: В скомпрометированных версиях был добавлен скрипт, загружающий и запускающий 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

This site uses Akismet to reduce spam. Learn how your comment data is processed.