Вредоносный npm-пакет, выдающий себя за Nodemailer, крадёт криптовалюту

Источник: socket.dev
Коротко: недавно обнаружен вредоносный пакет в экосистеме npm, который выдает себя за легитимную библиотеку Nodemailer и при этом сохраняет функциональность отправки электронной почты, чтобы не вызывать подозрений. Его основная цель — модифицировать приложения-кошельки (в частности, Atomic Wallet) в среде Windows и перехватывать криптовалютные транзакции, перенаправляя средства на адреса злоумышленников.
Что произошло
Атака начинается с момента импорта вредоносного пакета в проект. На первый взгляд пакет выглядит как обычная замена или клон Nodemailer, продолжая выполнять функции отправки email, что снижает вероятность ручной проверки разработчиком.
После установки и запуска пакет выполняет следующую цепочку действий:
- распаковка компонентов целевого приложения кошелька;
- внедрение кода злоумышленника в критический файл провайдера (provider file);
- переупаковка приложения со встроенной вредоносной логикой;
- изменение адреса получателя при проведении транзакций, вследствие чего средства направляются на кошельки злоумышленников.
Важно: вмешательство происходит независимо от того, используется ли пакет для отправки почты — вредоносная логика нацелена на среду выполнения кошелька и работает скрытно.
Анализ, проведенный Socket AI Scanner, показал, что пакет распаковывает связанные архивы, внедряет вредоносные полезные файлы и затем переупаковывает приложение, позволяя злоумышленникам сохранять закрепление в системе и тайно выполнять вредоносные действия.
Как действует вредоносный пакет — пошагово
- Импортируется в проект как «легитимная» зависимость (имитирует Nodemailer);
- после установки выполняет распаковку связанных архивов целевых приложений (например, Atomic Wallet на Windows);
- внедряет вредоносный код непосредственно в критические файлы поставщика (provider), обеспечивая изменение логики транзакции;
- переупаковывает модифицированное приложение, сохраняя видимую работоспособность и минимизируя подозрения;
- обеспечивает устойчивость и скрытое выполнение, что позволяет злоумышленникам получать средства по подменным адресам.
Техническая классификация (MITRE ATT&CK)
По результатам анализа методы атаки соотносятся с несколькими техниками MITRE ATT&CK:
- Компрометация цепочки поставок (T1195.002) — внедрение вредоносного кода через зависимость в экосистеме поставок ПО.
- Маскировка (T1036.005) — пакет сохраняет легитимную функциональность (отправка почты), чтобы не привлекать внимание.
- Выполнение с помощью команд и скриптов JavaScript (T1059.007) — злоумышленники используют JavaScript для выполнения модификаций и автоматизации процесса.
- Кража денежных средств (T1657) — основная цель атаки — перехват и перенаправление криптовалютных транзакций.
Последствия для пользователей и индустрии
Успешное выполнение такой атаки может привести к значительным финансовым потерям для пользователей кошельков. Кроме прямых потерь, инцидент подрывает доверие к экосистеме npm и демонстрирует риски компрометации цепочки поставок, когда вредоносный код проникает в вереницу доверия между разработчиками, пакетами и конечными пользователями.
Рекомендации для разработчиков и пользователей
- Проверяйте подлинность пакетов: обращайте внимание на опечаточные/похожих имена пакетов, метаданные и количество загрузок.
- Фиксируйте версии зависимостей (pinning) и используйте lock-файлы (package-lock.json, yarn.lock) для повторяемых сборок.
- Внедрите автоматические сканы зависимостей: используйте npm audit, SCA-инструменты и сторонние сканеры (включая такие решения, как Socket AI Scanner), чтобы обнаруживать подозрительные изменения.
- Аудитируйте контейенты и бинарники приложений кошельков: сверяйте контрольные суммы и подписи с официальными релизами.
- Проверяйте целостность установленных кошельков (например, переустановка Atomic Wallet из официального источника при малейших подозрениях).
- Ограничьте права: запускайте процессы с наименьшими необходимыми привилегиями, избегайте выполнения непроверенных скриптов на машинах с ключами доступа к криптовалютам.
- Используйте аппаратные кошельки (hardware wallets) для хранения значительных средств и подтверждайте адреса получателя визуально на устройстве.
- Мониторьте транзакции и мгновенно реагируйте на подозрительную активность: при сомнительных переводах — изолируйте устройство и свяжитесь с поддержкой сервиса.
Заключение. Этот инцидент служит напоминанием о высокой степени риска в цепочках поставок ПО и о том, что вредоносный код может прятаться в кажущихся безобидными пакетах. Разработчикам и пользователям настоятельно рекомендуется пересмотреть процессы управления зависимостями и усилить меры контроля целостности приложений, особенно тех, которые работают с криптовалютой.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



