DEV#POPPER и OmniStealer: APT использует GitHub для кражи криптокошельков
В феврале 2026 года исследователи кибербезопасности выявили сложную кампанию с участием удалённого троянского доступа DEV#POPPER, связываемого с северокорейской APT-группой, и компонента кражи данных OmniStealer. Угроза имеет преимущественно финансовую мотивацию и фокусируется на компрометации криптовалютных кошельков и разработчиков через поддельные репозитории на GitHub, что приводит к инцидентам в цепочке поставок программного обеспечения.
Ключевые факты
- Основной вектор — скомпрометированный репозиторий «ShoeVista», маскирующийся под платформу электронной коммерции.
- Атака стартует при клонировании репозитория и запуске фронтенд-приложения: скрытый скрипт инициирует цепочку загрузки вредоносных компонентов.
- В арсенале злоумышленников — многослойная обфускация JavaScript, техники анти‑анализа и шифрование полезной нагрузки (включая XOR‑дешифровку).
- Цель — системы на macOS, Windows и Linux, то есть комплексная стратегия нацеливания.
Механизм атаки — как разворачивается эксплойт
Последовательность действий злоумышленников достаточно типична для атак на цепочки поставок, но отличается глубокой технической проработкой:
- Клонирование репозитория «ShoeVista» разработчиком или пользователем.
- Запуск фронтенд‑приложения, в котором скрыт скрипт запускает сильно обфусцированный JavaScript в среде Node.js.
- Многоступенчатая загрузка и дешифровка полезных нагрузок — среди них DEV#POPPER и OmniStealer.
- Установление постоянной связи с инфраструктурой C2 (серверы управления и контроля), адреса которых выбираются в зависимости от campaign ID, хранящегося в глобальной переменной.
- Поддержание персистентности через добавление вредоносного кода в конец файлов JavaScript в существующих Node.js‑приложениях.
Технические особенности DEV#POPPER
- Коммуникация: использует npm‑пакет socket.io-client для поддержания постоянного канала с C2.
- Возможности RAT: загрузка и выгрузка файлов, проведение аутентификации системы, кража содержимого буфера обмена, внедрение вредоносного кода в приложения.
- Персистентность: инъекции в существующие JS‑файлы гарантируют выполнение при старте приложений.
- Многоуровневая обфускация: динамические вызовы через прокси‑функции, runtime‑оценки и вызовы расшифровки (включая XOR‑схемы).
- Анти‑анализ: проверки окружения, препятствующие выполнению в песочницах и аналитических средах.
OmniStealer — сбор и эксфильтрация данных
OmniStealer служит для широкой кражи конфиденциальной информации и работает в связке с DEV#POPPER:
- Извлекает пароли из браузеров, учётные данные криптовалютных кошельков и важные файлы с диска.
- Собранные данные упаковываются в зашифрованные архивы и отправляются по HTTP; при неудаче — используется fallback через Telegram.
- Для облегчения задач используются сторонние Python‑библиотеки для работы с файлами и HTTP‑запросами.
Методы обфускации и инструменты для анализа
Авторы вредоносного кода активно применяют продвинутые техники затруднения реверс‑инжиниринга: динамические прокси‑вызовы, сложные runtime‑оценки, цепочки дешифровок и множественные уровни упаковки. Это затрудняет статический анализ и требует инструментов для автоматизации деобфускации.
«Детальное исследование показало, что стандартные сигнатуры и статический анализ недостаточны — нужна автоматическая деобфускация и мониторинг поведения в рантайме», — констатируют исследователи.
Для ускорения и систематизации анализа сообществом безопасности был разработан инструмент DEV#STOPPER.js, который автоматизирует деобфускацию сложных скриптов, используемых в DEV#POPPER и OmniStealer. Это облегчает извлечение полезных сигнатур и создание детекций для EDR/AV‑решений.
Риски и влияние
- Компрометация учётных данных разработчиков может привести к нарушению целостности поставляемого ПО и масштабным инцидентам в цепочке поставок.
- Кража ключей и токенов доступа — прямая угроза финансовым активам, особенно криптовалютам.
- Многофункциональность RAT и возможности постэксплойта повышают риск долгосрочного скрытого присутствия в инфраструктуре.
Рекомендации по защите
Практические шаги, которые помогут снизить риск попадания под аналогичную кампанию:
- Не запускать неизвестный код и не доверять непроверенным репозиториям на GitHub без аудита.
- Проверять подписанные пакеты и контролировать зависимости через SBOM и политики управления зависимостями.
- Использовать сеансные проверки целостности репозиториев и автоматизированный сканинг на наличие вредоносных паттернов в CI/CD.
- Ограничивать доступы и ротацию секретов и токенов; хранить ключи в безопасных хранилищах (secret managers).
- Деплой EDR/AV решений с поведенческими детекторами, мониторинг исходящего трафика на аномалии (C2‑коммуникации) и блокирование подозрительных npm‑пакетов.
- Инструменты деобфускации (например, DEV#STOPPER.js) включать в арсенал аналитиков для ускорения реагирования.
Вывод
Кампания с участием DEV#POPPER и OmniStealer демонстрирует зрелость и гибкость современных APT‑операций, ориентированных на цепочки поставок и финансовую добычу. Комбинация сильной обфускации, мультиплатформенности и целенаправленной компрометации разработчиков делает угрозу опасной и масштабируемой. В этой ситуации ключевыми остаются превентивные меры: строгий контроль исходного кода, аудит зависимостей и оперативный обмен индикаторами компрометации между командами безопасности.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.


