Ghost Campaign: вредоносные npm-пакеты
Исследователи в области кибербезопасности обнаружили новую волну атак, нацеленных на разработчиков и пользователей Node.js. Серия вредоносных пакетов в реестре npm, объединённая под названием Ghost Campaign, предназначена для хищения криптовалютных кошельков, учётных данных и другой чувствительной информации.
Все выявленные библиотеки были опубликованы от имени пользователя mikilanjillo.
Список идентифицированных пакетов включает:
Специалисты ReversingLabs, отслеживающие эту активность, отмечают изощрённый подход злоумышленников. Сами пакеты выполняют функцию фишинга пароля sudo — именно с его помощью активируется финальная стадия атаки. Вредоносный код тщательно маскирует свою истинную природу и избегает обнаружения, демонстрируя пользователю правдоподобные логи установки.
Выявленные Node.js-библиотеки не только ложно заявляют о загрузке дополнительных пакетов, но и искусственно вставляют случайные задержки, создавая иллюзию нормального процесса установки. На определённом этапе пользователь получает уведомление об ошибке: системе не хватает прав на запись в папку /usr/local/lib/node_modules — стандартное расположение для глобально устанавливаемых Node.js-пакетов в Linux и macOS. Жертве предлагается ввести пароль root или администратора для продолжения установки.
Как только пароль оказывается в руках злоумышленников, вредоносное ПО в фоновом режиме загружает следующий компонент — загрузчик второй стадии. Тот, в свою очередь, обращается к Telegram-каналу, чтобы получить URL финальной полезной нагрузки и ключ для её расшифровки. Кульминацией атаки становится развёртывание трояна удалённого доступа (RAT), который способен собирать данные, нацеливаться на криптовалютные кошельки и ожидать дальнейших команд от внешнего сервера.
Исследователи ReversingLabs указывают на пересечение этой активности с кластером, который JFrog ранее задокументировал под именем GhostClaw. Пока неясно, является ли это работой одной и той же злоумышленной группы или же совершенно новой кампанией.
GhostClaw: репозитории GitHub и AI-воркфлоу под прицелом
Аналитики Jamf Threat Labs в своём отчёте описывают, как кампания GhostClaw использует репозитории GitHub и рабочие процессы с искусственным интеллектом для доставки вредоносных нагрузок на macOS. Злоумышленники создают репозитории, которые имитируют легитимные инструменты: торговых ботов, SDK и утилиты для разработчиков. Внешне они выглядят убедительно — некоторые из них набрали сотни звёзд, что создаёт иллюзию надёжности и популярности.
Схема строится на постепенном внедрении вредоносного кода. Изначально репозитории наполняются безвредным или частично рабочим кодом и остаются в таком состоянии длительное время, чтобы завоевать доверие сообщества. Затем злоумышленники добавляют вредоносные компоненты. В репозиториях присутствует README-файл, который инструктирует разработчиков выполнить shell-скрипт в рамках установки.
В некоторых вариантах кампании используется файл SKILL.md, ориентированный на рабочие процессы с искусственным интеллектом: жертвам предлагается установить внешние навыки через AI-агентов вроде OpenClaw. Независимо от метода, shell-скрипт запускает многоступенчатый процесс заражения, завершающийся развёртыванием похитителя данных.
Последовательность действий выглядит следующим образом:
Скрипт определяет архитектуру хоста и версию macOS, проверяет наличие Node.js и при необходимости устанавливает совместимую версию. Установка происходит в директорию, контролируемую пользователем, чтобы не вызывать подозрений.
Затем вызываются команды node scripts/setup.js и node scripts/postinstall.js, что переводит выполнение на JavaScript-полезные нагрузки. На этом этапе происходит кража системных учётных данных, загрузка вредоносного модуля GhostLoader через обращение к командно-контрольному (C2) серверу и очистка следов активности путём сброса терминала.
Скрипт включает переменную окружения GHOST_PASSWORD_ONLY. Если она установлена в ноль, пользователю демонстрируется полный интерактивный процесс установки с индикаторами прогресса и запросами. Если переменная равна единице, запускается упрощённый путь, сосредоточенный исключительно на сборе паролей, без дополнительных элементов интерфейса.
В некоторых случаях скрипт postinstall.js отображает безобидное сообщение об успешной установке, предлагая пользователю настроить библиотеку в своём проекте с помощью команды npx react-state-optimizer.
Согласно отчёту компании Panther, пакет react-state-optimizer — лишь один из нескольких npm-модулей, опубликованных пользователем mikilanjillo. Это подтверждает, что обе кластерные активности (Ghost Campaign и GhostClaw) являются частью одной кампании. В список выявленных пакетов также входят:
react-query-core-utils
react-state-optimizer
react-fast-utils
react-performance-suite
ai-fast-auto-trader
carbon-mac-copy-cloner
carbon-mac-copys-cloner
pkgnewfefame
darkslash
Эти пакеты содержат псевдо-мастер установки в командной строке (CLI), который обманом заставляет разработчиков ввести пароль sudo под предлогом «оптимизации системы». Захваченный пароль затем передаётся полноценному похитителю учётных данных, который извлекает из системы пароли из браузеров, криптовалютные кошельки, SSH-ключи, конфигурации облачных провайдеров и токены инструментов разработчика.
Собранные данные направляются в специализированные Telegram-боты, привязанные к конкретным партнёрам через уникальный идентификатор кампании, встроенный в каждый загрузчик. Учётные данные хранятся в смарт-контракте Binance Smart Chain (BSC) и могут обновляться без изменения самого вредоносного кода.
Модель монетизации, по данным Panther, построена на двух источниках дохода. Основной — продажа украденных учётных данных через партнёрские Telegram-каналы. Вторичный — перенаправление через партнёрские ссылки (affiliate URLs), которые хранятся в отдельном смарт-контракте BSC.
«Эта кампания демонстрирует продолжающийся сдвиг в тактике злоумышленников: методы распространения выходят за рамки традиционных реестров пакетов и проникают в такие платформы, как GitHub, а также в новые рабочие процессы с использованием искусственного интеллекта, — отмечают аналитики Jamf. — Используя доверенные экосистемы и стандартные практики установки, атакующие могут внедрять вредоносный код в среды разработки с минимальным сопротивлением».