Достаточно одного импорта, чтобы криптовалюта ушла к киберпреступникам. Какие уязвимости нашли в Atomic Wallet?
ИИ-помощники сегодня умеют не только ускорять написание кода, но и — невольно — подсказывать варианты, как лишиться собственных средств.
Эксперты компании Socket выявили вредоносный пакет в реестре npm под названием nodejs-smtp. Он маскируется под популярную библиотеку nodemailer (около 3,9 млн скачиваний еженедельно), но фактически предназначен для взлома криптокошельков и перехвата переводов. При установке и импорте модуль вмешивается в работу Atomic Wallet на Windows: вносит изменения в структуру приложения, внедряет вредоносный JavaScript и подменяет адрес получателя при отправке транзакций на кошелёк злоумышленников.
На момент публикации пакет всё ещё доступен в npm, но команда Socket запросила его удаление и блокировку профиля разработчика nikotimon.
Механизм заражения активируется сразу после установки. Вредоносный код вызывает функцию patchAtomic, которая находит установленный Atomic Wallet, извлекает содержимое его основного архива app.asar, заменяет ключевой файл vendors.*.js
на скрипт a.js, затем заново упаковывает приложение и удаляет временные каталоги, скрывая следы модификации.
Примечательно, что сам кошелёк продолжает работать в штатном режиме и интерфейс не изменяется. Однако при любой операции перевода адрес назначения подменяется на заранее заданный. Если система не распознаёт токен, используется «резервный» Ethereum-адрес атакующих.
Опасность в том, что заражение происходит автоматически — стоит лишь подключить nodejs-smtp и запустить приложение. Даже если функция отправки писем не используется, изменения в Atomic Wallet всё равно происходят. Ситуация усугубляется тем, что библиотека может попасть в проект как транзитивная зависимость или через примеры кода в интернете, в том числе предложенные ИИ. Название, описание и интерфейс пакета полностью имитируют nodemailer, из-за чего им легко обмануть даже опытного разработчика.
Чтобы замаскировать вредоносную активность, библиотека действительно выполняет функции почтового клиента и полностью совместима с API nodemailer, что позволяет проходить тесты без подозрений. Помимо Atomic Wallet, фиксировались попытки модификации кошелька Exodus. После внедрения зловред удаляет временные файлы, делая атаку труднее обнаруживаемой.
Анализ показал, что атака имеет заранее подготовленную архитектуру, легко масштабируется и может быть использована в новых вредоносных модулях. Несмотря на то, что активность учётной записи nikotimon остаётся низкой, сам подход говорит о серьёзной угрозе и высоких рисках.
Особое беспокойство вызывает тот факт, что подобные подделки часто проникают в проекты именно через генеративные инструменты. Если разработчик попросит ИИ предложить библиотеку для работы с почтой в Node.js, модель может указать название nodejs-smtp как «корректное», и пользователь установит вредоносный пакет.
Socket предупреждает: подобные атаки становятся всё более сложными. Достаточно одного импорта, чтобы сработал вредоносный код, изменяющий сторонние приложения, сохраняющийся после перезагрузки и не требующий взаимодействия с функциями почтового клиента. Использование архивов Electron делает вмешательство ещё более устойчивым. По прогнозам компании, количество атак через open-source экосистемы (npm, PyPI и другие) будет только расти. Уже сегодня злоумышленники нацеливаются не только на Ethereum и Solana, но также на TRON, TON и ряд других сетей.