npm-дроппер @copilot-mcp/apex крадёт данные пользователей macOS
Экосистема npm вновь стала каналом целевой атаки. Вредоносный пакет @copilot-mcp/apex, маскирующийся под безобидный инструмент, оказался post-installation dropper, разворачивающим многофункциональный infostealer на устройствах под управлением macOS. Основной удар направлен на владельцев криптоактивов и основателей Web3-проектов — злоумышленники охотятся за конфиденциальными данными и учётными записями.
Мгновенный ребрендинг: из @apexfdn/apex в @copilot-mcp/apex
Кампания стартовала с публикации пакета @apexfdn/apex. Спустя примерно две с половиной недели он был удалён из реестра npm, однако оператор отреагировал практически моментально: в течение нескольких часов вредоносный дроппер появился под новым именем — @copilot-mcp/apex. Такая скорость перевыпуска свидетельствует о высокой автоматизации и готовности злоумышленников быстро адаптироваться к мерам противодействия.
Как работает заражение: от установки до кражи данных
После инсталляции через npm или npx пакет загружает бинарный файл размером 120–150 МБ из стороннего репозитория на GitHub. Этот репозиторий не указан в метаданных пакета, что позволяет менять полезную нагрузку на серверной стороне без новой публикации в npm — классический приём для снижения заметности.
Загруженный бинарник содержит вторую ступень, которая на macOS расшифровывает и выполняет AppleScript. Именно этот скрипт реализует функциональность инфостилера. Первым делом он фишит системный пароль пользователя через поддельное диалоговое окно, имитирующее легитимный запрос macOS, а затем приступает к планомерному сбору конфиденциальной информации:
- пароли и данные автозаполнения из браузеров;
- приватные SSH-ключи;
- учётные данные AWS;
- файлы популярных криптовалютных кошельков (горячие кошельки, seed-фразы и хранилища ключей);
- личные документы из пользовательских каталогов.
Персистентность и канал управления
Для закрепления в системе создаётся LaunchAgent, который каждые 60 секунд стучится на сервер управления и контроля (C2). Благодаря этому вредоносное ПО сохраняет скрытый доступ к машине жертвы даже после первичной эксфильтрации данных. Серверная инфраструктура поддерживает многопользовательский режим и способна одновременно обслуживать несколько различных кампаний в рамках единой платформы.
Собранные сведения шифруются по алгоритму AES, упаковываются в zip-архив и отправляются на C2 сразу после установления HTTP-соединения. Таким образом, весь процесс извлечения происходит в фоновом режиме, не привлекая внимания пользователя.
Удаление пакетов не остановило кампанию
Несмотря на то, что npm оперативно удалил и оригинальный @apexfdn/apex, и переименованный @copilot-mcp/apex, сопутствующая инфраструктура остаётся активной. GitHub-репозитории, C2-серверы и управляющие боты продолжают функционировать. Угроза сохраняется, поскольку злоумышленник способен в любой момент повторно воспользоваться теми же механизмами доставки через иные имена пакетов.
Рекомендации по защите: почему недостаточно проверять только имена
Инцидент наглядно демонстрирует, что традиционные инструменты инспекции зависимостей, ориентированные на статический анализ метаданных и списков известных вредоносных имён, не способны выявить подобные угрозы. Ключевое поведение — загрузка исполняемых файлов и эксфильтрация данных — проявляется исключительно во время выполнения.
Специалистам по анализу вредоносного ПО рекомендуется проверять выполнение пакетов, обращая особое внимание на попытки установки сетевых соединений с непредусмотренными хостами и создание фоновых агентов. Организациям настоятельно советуют:
- блокировать доступ к идентифицированным индикаторам компрометации — доменам, IP-адресам и URL, связанным с инфраструктурой дроппера;
- проводить поведенческий мониторинг и анализ runtime-активности npm-пакетов;
- искать на скомпрометированных системах следы запуска нестандартных LaunchAgents и аномальной сетевой активности;
- применять принципы минимальных привилегий и изолировать среды сборки и разработки.
Материал подготовлен на основе отчёта об угрозе. Вся инфраструктура злоумышленника сохраняет работоспособность, поэтому бдительность и глубокая проверка runtime-сценариев остаются критически важными.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



