В реестре пакетов npm опубликована вредоносная программа, маскирующаяся под AI-инструмент для разработчиков на блокчейне. Пакет @copilot-mcp/apex, по данным из открытых источников, при установке запускает скрытый скрипт, который загружает и исполняет стилер - программу, крадущую пароли, данные браузеров, криптокошельки и системные записи. Атака нацелена на пользователей macOS, особенно на основателей Web3-стартапов.
Описание
Злоумышленники использовали многоступенчатую схему. Около трёх месяцев они создавали видимость легитимного проекта: в апреле 2026 года появился GitHub-аккаунт Apex-Foundation и безобидный пакет @apexfdn/copilot-mcp, который набрал около 229 загрузок в неделю. Никакого вредоносного кода в нём не было. Его единственная задача - создать репутацию перед тем, как опубликовать настоящий дроппер.
Основной вредоносный пакет @apexfdn/apez (затем @copilot-mcp/apex) содержит постинстал-скрипт, который запускается автоматически после установки без дополнительных действий пользователя. Он скачивает с GitHub-репозитория, не совпадающего с тем, что указан в описании пакета, исполняемый файл размером 120-150 МБ. Этот файл выглядит как рабочая AI-программа, но на самом деле является прикрытием. На macOS скрипт скачивает зашифрованную полезную нагрузку, расшифровывает её и выполняет через встроенный механизм AppleScript. Полезная нагрузка - стилер из семейства AMOS (Atomic Stealer), состоящий из 707 строк кода.
После запуска злоумышленники запрашивают у жертвы пароль от учётной записи macOS с помощью поддельного системного окна. Если пароль введён верно, программа получает доступ к связке ключей (Keychain), данным браузеров (включая Chrome, Firefox, Safari, Opera, Brave), а также к более чем двадцати популярным криптокошелькам (Exodus, Electrum, Ledger Live, Trezor Suite, Atomic и другим). Кроме того, похищаются сессии Telegram, история команд в терминале и файлы конфигурации. Все собранные данные упаковываются в архив /tmp/osalogging.zip и отправляются на командно-контрольный сервер update.apex-arena-router.com через HTTPS. Для закрепления в системе устанавливается LaunchAgent - элемент автозапуска, который позволяет стилеру работать даже после перезагрузки компьютера.
Как показал анализ цепочки атаки, злоумышленники уже сталкивались с удалением своего дроппера - команда безопасности npm изъяла пакет @apexfdn/apez спустя несколько часов после публикации. В ответ мошенники переопубликовали точно такой же код под другим именем @copilot-mcp/apex всего через 11 часов, а затем в течение следующих восьми часов выпустили более 20 версий (от 1.0.0 до 1.0.22). Они тестируют разные способы запуска, чтобы обойти детекцию: от прямой команды curl | zsh до вызова через osascript и компилированного вспомогательного файла. Пока пакет остаётся в реестре и продолжает обновляться.
Важно отметить, что под угрозой находятся не только macOS. На Linux и Windows постинстал-скрипт также выполняет не подписанный бинарный файл, хотя функция кражи данных на этих платформах не срабатывает. Тем не менее, доверять пакету нельзя ни на одной операционной системе.
Злоумышленники используют ещё один вектор - удалённый MCP-сервер на домене arena.apexfdn.xyz, который может взаимодействовать с клиентами без установки пакета. Этот сервер передаёт токены доступа на инфраструктуру атакующих.
Вредоносный код не виден в файле package.json зависимостей, потому что маскирующий пакет @apexfdn/copilot-mcp не указан как зависимость дроппера. Вызов происходит во время выполнения через require.resolve. Сканеры, анализирующие только явные зависимости, пропустят эту связь.
Для защиты от подобных атак рекомендуется блокировать пакеты @copilot-mcp/apex и @apexfdn/apex на уровне репозитория или файрвола, а также внести домены update.apex-arena-router.com и apexfdn.xyz в чёрные списки DNS. Если пакет был установлен на macOS, необходимо исходить из компрометации всей системы: сменить все пароли, отозвать токены доступа, перевыпустить сид-фразы криптокошельков и проверить наличие файла /tmp/osalogging.zip.
Этот инцидент показывает, что удаление вредоносного пакета из реестра npm - лишь временная мера. Злоумышленники меняют название, сохраняя всю инфраструктуру и код. Обнаружить такие кампании можно только с помощью поведенческого анализа, а не проверки имён и версий.
Индикаторы компрометации
Package
- @apexfdn/apex
- @apexfdn/copilot-mcp
Domain
- apexfdn.xyz
- arena.apexfdn.xyz
- docs.apexfdn.xyz
- update.apex-arena-router.com
URL
- https://arena.apexfdn.xyz/api/copilot/mcp
- arena@apexfdn.xyz
- chefkecharlie@gmail.com
- contact@apexfdn.xy
SHA256
- ecd1113fae1ede9869afd9d1af612bab7f1a2054e5c45a346e18c107c22b9164