Группа исследователей безопасности OpenSourceMalware обнаружила новую целенаправленную кампанию вредоносного ПО в реестре npm. Злоумышленники под видом легальной платформы монетизации Web3 распространяют пакеты, которые блокируют установку и требуют криптовалютный выкуп. Атака, получившая название XPACK ATTACK, отличается высоким уровнем социальной инженерии и использует легитимные механизмы для маскировки своей истинной цели - вымогательства.
Описание
Кампания связана с пользователем npm под именем dev.chandra_bose, который в период с 4 по 7 февраля 2026 года опубликовал девять вредоносных пакетов. Шесть из них содержат идентичный вредоносный код, что указывает на скоординированные действия, а не на разрозненные инциденты. Особенностью атаки стало массовое развертывание: шесть пакетов были опубликованы в течение всего трех минут, что говорит об использовании автоматизированных скриптов.
Механика атаки: от установки до вымогательства
Атака начинается в момент, когда разработчик запускает команду "npm install" для одного из вредоносных пакетов, таких как "test-npm-style" или "xpack-per-user". Срабатывает предустановочный хук "preinstall", который выполняет вредоносный скрипт. Этот скрипт сначала собирает конфиденциальные данные жертвы. Он использует четыре различных метода для извлечения имени пользователя GitHub, включая анализ глобальной конфигурации Git, удаленного URL-адреса репозитория и ответа SSH-сессии. Параллельно создается уникальный отпечаток устройства на основе хэша SHA256 от имени хоста и операционной системы.
Собранные данные эксфильтруются на командный сервер (Command & Control, C2), размещенный по адресу "hack-money-xpack.vercel.app". В ответ сервер возвращает HTTP-статус 402 "Payment Required" (Требуется оплата) с деталями для криптовалютного платежа. Это нестандартное использование легитимного кода состояния HTTP придает атаке видимость законности. В терминале разработчика появляется профессионально оформленное сообщение с требованием оплатить 0.1 USDC или ETH на указанный кошелек Ethereum. Скрипт также автоматически открывает браузер на странице оплаты, которая имитирует настоящий сервис Web3 с поддержкой кошельков MetaMask и WalletConnect.
Установка блокируется на пять минут. В течение этого времени скрипт каждые 2.5 секунды опрашивает C2-сервер, проверяя поступление платежа. Если оплата не подтверждается, установка завершается с ошибкой. Всего за время ожидания отправляется до 120 запросов, что позволяет злоумышленникам постоянно отслеживать жертву. Для обхода буферизации вывода npm вредоносная программа записывает сообщения напрямую в "/dev/tty" или "CON", гарантируя, что требование об оплате будет всегда видно в терминале.
Инфраструктура и социальная инженерия
C2-инфраструктура представляет собой полноценный веб-сайт, замаскированный под платформу монетизации с открытым исходным кодом под названием "Xpack". Сайт, созданный с использованием Next.js и React, предлагает документацию, dashboard (панель управления) и рекламирует различные модели оплаты: подписку, расчет за пользователя или устройство. Эта тщательно продуманная легенда создает правдоподобное оправдание и затрудняет для жертвы мгновенное распознавание мошенничества.
Злоумышленники выбрали для пакетов названия, формирующие фиктивную экосистему: "xpack-per-user", "xpack-per-device", "xpack-subscription". Подобный命名-стратегия может обмануть разработчиков, которые ищут в npm решения для монетизации своих проектов. Исследователи отмечают, что концепция платной установки пакетов сама по себе не является абсурдной, что и повышает эффективность социальной инженерии.
Последствия и рекомендации
Прямой финансовый ущерб от одной попытки установки оценивается примерно в 0.1 доллара при оплате USDC, но может достигать сотен долларов, если жертва переводит ETH. Однако главные риски связаны с утечкой конфиденциальных данных: имя пользователя GitHub и отпечаток устройства могут быть использованы для дальнейшего таргетирования или отслеживания деятельности разработчика. Даже если оплата не производится, атака приводит к потере времени и нарушает рабочий процесс.
Данный инцидент подчеркивает сохраняющиеся риски в цепочке поставок программного обеспечения. Эксперты рекомендуют разработчикам всегда проверять репутацию автора пакета, количество загрузок и историю обновлений перед установкой. Кроме того, следует с осторожностью относиться к пакетам, использующим предустановочные или постустановочные скрипты, особенно от неизвестных источников. Команда OpenSourceMalware уже уведомила администрацию npm о вредоносных пакетах для их скорейшего удаления из реестра.
Индикаторы компрометации
Domains
- 4373-2401-4900-8fcd-ac9c-6c82-85aa-e5d6-be4c.ngrok-free.app
- hack-money-xpack.vercel.app
URLs
- https://4373-2401-4900-8fcd-ac9c-6c82-85aa-e5d6-be4c.ngrok-free.app/api/install/start
- https://4373-2401-4900-8fcd-ac9c-6c82-85aa-e5d6-be4c.ngrok-free.app/api/install/status
- https://hack-money-xpack.vercel.app/api/install/start
- https://hack-money-xpack.vercel.app/api/install/status
- https://hack-money-xpack.vercel.app/dashboard
- https://hack-money-xpack.vercel.app/pay
MD5
- 54772dad022c2081272deeeb08adc126
- 6d84e952ad198a03ec55d741924942a6
- a5510900abd4e46136d113e435ca9b00
- f14161c8fbaeba7c37d381d2cb0468c6
Wallet Address
- 0xA9ab8933Ff0467D51d13ea2bFECD81504Fc6f15a
Package Names:
- testing-package-xdsfdsfsc@1.0.22
- test-npm-style@1.0.18
- xpack-per-user@1.0.3
- xpack-per-device@1.0.1
- xpack-sui@1.0.1
- xpack-subscription@1.0.1
- xpack-arc-gateway@1.0.1
- xpack-subscription-test@1.0.5
- xpack-video-submission@1.0.10
Project IDs (from package.json xpack.projectId)
- cml9sepu70000wzxe81w58vrh
- cml5jzoa000014zxeq5lelhpl
- cml9cauo40000xoxexaur9rnu
- cml7thc2900006oxe682w03nj
- cml8ip17q0000xxxe2tj6lnny
- cmlc7fhc1000404jszg4xt355
API Keys (from package.json xpack.apiKey):
- pay_c2e8dbf9fec1458aac4159dc740269ab
- pay_135abcf0612547dca4ea432d89f0cdb7
- pay_c041b26bd4d240aa88b2cda39ce8eb1f
- pay_d6117e31ecf149d6bee7f9bff511198b
- pay_af44b8a9576a402a895fa3cbc9e8d85c
- pay_c7d72c0a6063452586d93fcebd99efbc