Исследователи кибербезопасности зафиксировали новую волну атак на экосистему Node.js: в официальном реестре npm были обнаружены вредоносные пакеты, нацеленные на кражу криптовалютных кошельков и конфиденциальных данных разработчиков. Активность отслеживается компанией ReversingLabs под названием theGhost и, по оценкам специалистов, связана с более широкой кампанией GhostClaw, описанной ранее JFrog и Jamf.
Новая кампания theGhost: вредоносные npm‑пакеты под видом полезных утилит
Все выявленные вредоносные библиотеки Node.js были опубликованы в npm пользователем под псевдонимом «mikilanjillo». Пакеты маскировались под легитимные инструменты для оптимизации или интеграции в проекты, но их основная цель — фишинг пароля sudo и скрытая установка вредоносного ПО.
По данным ReversingLabs, сценарий атаки строится вокруг имитации нормальной установки пакета:
- пакет выводит на экран поддельные логи установки npm, создавая иллюзию загрузки дополнительных зависимостей;
- добавляются случайные задержки, чтобы пользователь считал, что идёт обычный процесс инсталляции;
- в какой‑то момент скрипт сообщает об ошибке записи в каталог
/usr/local/lib/node_modules(типичное место глобальной установки пакетов в Linux и macOS) и просит ввести root/администраторский пароль для продолжения.
После ввода пароля скрипт незаметно загружает следующий компонент — downloader, который обращается к Telegram‑каналу, чтобы получить адрес финального полезного груза и ключ для его расшифровки. На последнем этапе развёртывается удалённый троян (RAT), способный:
- собирать файлы и системную информацию;
- красть криптовалютные кошельки и данные браузеров;
- получать дальнейшие команды от удалённого сервера управления.
Связь с GhostClaw: GitHub, ИИ и фальшивые инструменты для разработчиков
ReversingLabs отмечает пересечения этой активности с уже описанным кластером GhostClaw, изученным JFrog и Jamf Threat Labs. Исследователи Jamf показали, что в рамках GhostClaw злоумышленники используют GitHub‑репозитории и ИИ‑ассистированные рабочие процессы разработки для доставки вредоносных нагрузок, в том числе на macOS.
Репозитории в GitHub тщательно маскируются под легитимные инструменты: торговые боты, SDK, утилиты для разработчиков. Многие из них успевают набрать десятки и сотни звёзд, что дополнительно усиливает доверие со стороны сообщества. На первом этапе в репозитории размещают безвредный или частично рабочий код, который длительное время не меняется. Лишь затем в цепочку установки аккуратно внедряются вредоносные компоненты.
Ключевую роль играет файл README (а в вариантах для ИИ‑сред — SKILL.md), в котором разработчикам предлагается выполнить shell‑скрипт для установки “дополнительных навыков” или настроек. Этот скрипт запускает многоступенчатую инфекцию, завершающуюся установкой stealer‑модуля для кражи учётных данных.
Интересная деталь: в сценарий встроена переменная окружения GHOST_PASSWORD_ONLY. При значении 0 пользователь видит “полноценный” мастер установки с прогресс‑баром и подсказками. При значении 1 скрипт работает в урезанном, скрытном режиме, сосредоточенном почти исключительно на сборе паролей и других секретов.
Цепочка заражения и монетизация через Telegram и BSC‑смарт‑контракты
Согласно анализу облачной компании Panther, один из ключевых пакетов react-state-optimizer, опубликованный тем же пользователем «mikilanjillo», содержит CLI‑“мастер настройки”, убеждающий разработчика ввести sudo‑пароль для якобы “системных оптимизаций”. Полученный пароль передаётся во всесторонний credential stealer, который выкачивает:
- учётные данные браузеров и куки;
- криптокошельки и сид‑фразы;
- SSH‑ключи и конфигурации облачных провайдеров;
- токены DevOps‑инструментов и других разработческих сервисов.
Первичный npm‑пакет загружает конфигурацию из Telegram‑канала либо со страницы Teletype.in, замаскированной под документацию по блокчейну. Далее разворачивается основной stealer, а украденные данные перенаправляются в привязанные Telegram‑боты.
Модель монетизации многоуровневая. Исследователи Panther отмечают, что:
- основной доход формируется за счёт продажи украденных учётных данных, маршрутизируемых по Telegram‑каналам партнёров;
- дополнительный доход обеспечивают партнёрские URL‑редиректы, параметры которых хранятся в отдельном смарт‑контракте в сети Binance Smart Chain (BSC). Это позволяет злоумышленникам менять партнёров и направления трафика без модификации самого вредоносного кода.
Риски для разработчиков и организаций: атаки на цепочку поставок
Описанная кампания наглядно демонстрирует смещение фокуса атакующих к экосистемам разработки. npm, GitHub и ИИ‑инструменты программирования становятся удобным каналом для supply chain‑атак, когда вредоносный код попадает в инфраструктуру компании через привычные и доверенные инструменты.
Особо уязвимы команды, в которых:
- разработчики регулярно запускают
npm installс правами sudo либо глобальную установку пакетов; - библиотеки выбираются по количеству звёзд и скачиваний, без дополнительной проверки источника и содержимого;
- отсутствует контроль целостности зависимостей и мониторинг активности пакетов после установки.
Рекомендации по защите от вредоносных npm‑пакетов и GitHub‑репозиториев
Для снижения рисков внедрения подобных вредоносов в процессы разработки целесообразно:
- Минимизировать использование sudo при установке npm‑пакетов, особенно из непроверенных источников.
- Проверять автора и историю пакета: дату создания, количество версий, ссылки на репозиторий, репутацию аккаунта.
- Анализировать содержимое скриптов
postinstallи shell‑установщиков, запускаемых по инструкции из README/СКILL.md. - Использовать репозитории‑зеркала и внутренние реестры пакетов с предварительным аудитом зависимостей.
- Внедрить мониторинг сетевой активности для выявления аномальных обращений к Telegram, Pastebin, Teletype.in и подобным сервисам из окружений сборки и CI/CD.
- Проводить обучение разработчиков типовым сценариям атак на цепочку поставок и практикам безопасной работы с пакетными менеджерами.
Кампании theGhost и GhostClaw подчёркивают: атаки на разработчиков перестали быть экзотикой и превращаются в устойчивый тренд. Чем глубже вредоносный код проникает в цепочку поставок — от npm и GitHub до ИИ‑ассистентов, — тем сложнее его обнаружить традиционными средствами. Организациям имеет смысл пересмотреть процессы управления зависимостями, усилить контроль прав и внедрить регулярный аудит пакетов. Разработчикам важно относиться к каждому новому пакету и установочному скрипту так же критично, как к входящему письму от неизвестного отправителя: проверять источник, читать код и не передавать свои пароли скриптам, которым нельзя доверять.