Скомпрометированы npm-пакеты @joyfill: RAT DEV#POPPER атакует разработчиков
Два бета-релиза npm-пакета @joyfill были скомпрометированы и использованы для доставки сложного Remote Access Trojan (RAT), получившего имя DEV#POPPER. Это вредоносный инструмент, написанный на JavaScript, который применяет нетипичный и труднообнаружимый канал получения полезной нагрузки — расшифровку кода через транзакции в blockchain networks, в том числе Tron, Aptos и BNB Smart Chain. Анализ показал пересечение с malware family PolinRider и выявил многоуровневый механизм заражения, представляющий серьезную угрозу для сред разработки и CI/CD.
Детали компрометации
Оба затронутых пакета были опубликованы с использованием одной и той же npm identity. Злоумышленник внедрил malicious code до этапа создания финальной сборки, маскируя его с помощью сложных техник obfuscation. В результате при установке пакета не требовалась активация npm lifecycle hooks — основной payload в виде 77 КБ Node.js Trojan способен выполняться непосредственно при загрузке скомпрометированного кода, что расширяет поверхность атаки на множество сценариев, включая development и continuous integration (CI) systems.
Механизм доставки и архитектура DEV#POPPER
Malicious JavaScript, встроенный в пакеты, содержит уникальные indicators, характерные для malware family PolinRider, а также отличительные markers и поведенческие паттерны, связанные именно с DEV#POPPER. Ключевая особенность — использование запросов к public blockchain data для выбора и загрузки очередной ступени вредоносной логики. Операционная схема включает multi-stage loading, при которой дополнительные payloads извлекаются на основе blockchain transactions, что позволяет обходить классические средства detection и не полагаться на статические URL.
Функциональность RAT и возможность удаленного управления
После успешной загрузки основаной payload устанавливает command and control (C2) канал через Socket.IO. В распоряжении атакующего оказывается широкий набор возможностей:
- сбор информации о хосте;
- выполнение произвольных JavaScript или shell команд;
- exfiltration файлов.
Заметной чертой является стратегия persistence — RAT целенаправленно ищет и модифицирует файлы распространенных development tools и часто выполняемых приложений, встраивая себя в процессы, которые с высокой вероятностью будут запускаться регулярно.
Модульность и уклонение от обнаружения
В дополнение к основному коду вредонос использует второй loader, который извлекает очередную порцию malicious code. Такой модульный подход даёт злоумышленнику возможность обновлять функциональность RAT без необходимости публиковать новые npm packages, существенно снижая шансы быть замеченным средствами статического анализа и сигнатурного сканирования. По сути, вся логика заражения динамически управляется через blockchain.
Инструментарий злоумышленника
Сопровождающая инфраструктура кампании указывает на высокий уровень sophistication. По всей видимости, атакующий также применяет Python-based tools для data collection, способные извлекать sensitive information из различных платформ и приложений. Это позволяет сочетать целенаправленный сбор учётных данных, токенов и другой конфиденциальной информации с активным удалённым контролем скомпрометированных машин.
Необходимые меры реагирования
Любые машины, на которых были установлены затронутые версии пакетов @joyfill, должны рассматриваться как потенциально compromised. Security teams рекомендуется немедленно реализовать следующий набор действий:
- изолировать affected systems от сети и сохранить логи для последующего forensic-анализа;
- провести rotation of exposed credentials и ключей доступа, особенно для CI/CD-окружений;
- проверить на наличие unauthorized modifications часто используемые файлы, принадлежащие development tools и запускаемым приложениям;
- усилить monitoring outbound network activity, обращая внимание на необычные соединения с характерными для RAT адресами;
- заблокировать доступ к compromised packages на уровне реестра и систем сборки;
- внедрить enhanced monitoring of development environments и процесс верификации сторонних зависимостей.
Сложность и адаптивность DEV#POPPER подчеркивают необходимость проактивного подхода к защите цепочек поставок, особенно в экосистеме npm.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



