Исследовательская группа Socket обнаружила серию вредоносных пакетов в экосистеме популярной системы управления контентом (CMS), что вновь демонстрирует критическую угрозу цепочки поставок для разработчиков. Шесть тем для вьетнамскоязычной CMS OphimCMS, размещённых на официальном репозитории Packagist, содержали троянизированный JavaScript-код. Наиболее опасные образцы перенаправляют мобильных пользователей на сайты с азартными играми и контентом для взрослых через инфраструктуру компании FUNNULL Technology Inc., которая находится под санкциями Министерства финансов США за причастность к мошенничеству с криптовалютой на сумму более 200 миллионов долларов. Этот инцидент подчёркивает, как злоумышленники используют доверие к открытым репозиториям и сложность аудита сторонних зависимостей для масштабных атак.
Описание
Пакеты, опубликованные под пространством имён "ophimcms" на Packagist, маскируются под официальные темы для OphimCMS - платформы для создания сайтов потокового видео на основе фреймворка Laravel. Вредоносная функциональность была скрыта внутри поддельных файлов библиотеки jQuery, которые поставлялись вместе с темами. Это классический пример атаки на цепочку поставок, когда компрометация одного звена - в данном случае популярной темы - позволяет воздействовать на всех пользователей, которые её установят. По данным исследователей, общее количество загрузок шести вредоносных пакетов на момент обнаружения составляло около 2750, что указывает на потенциально широкий круг пострадавших сайтов.
Анализ выявил два основных вектора атаки. Первый, менее избирательный, предназначен для сбора метаданных. Вредоносный скрипт эксфильтрирует URL-адрес текущей страницы посетителя на контролируемый злоумышленниками домен "userstat[.]net". Этот механизм не имеет географических ограничений и срабатывает для всех пользователей, чьи хосты обслуживаются по протоколу HTTP. Второй вектор, более сложный и опасный, связан с инфраструктурой FUNNULL. Он активируется только при выполнении ряда условий: на мобильных устройствах, в определённые часы суток (с 8:00 до 23:59 по местному времени) и преимущественно для пользователей из китайских часовых поясов. При этом проверяется, не является ли посетитель администратором сайта или автоматическим сканером. Если все условия соблюдены, пользователь перенаправляется на сайты с азартными играми или контентом для взрослых, причём история браузера подменяется, чтобы заблокировать кнопку «Назад».
Особую тревогу вызывает связь с компанией FUNNULL. Эта базирующаяся на Филиппинах инфраструктурная платформа была внесена Управлением по контролю за иностранными активами (OFAC) Министерства финансов США в санкционный список 29 мая 2025 года. Её обвинили в пособничестве схемам криптовалютного инвестиционного мошенничества. Аналитики по безопасности связывают сеть доставки контента (CDN) FUNNULL с более чем 200 000 вредоносных доменных имён. Тот факт, что полезная нагрузка на домене "union[.]macoms[.]la" обновлялась 10 марта 2026 года, почти через десять месяцев после введения санкций, указывает на то, что операторы кампании продолжают активно её поддерживать, игнорируя правовые последствия. Исследователи из Socket сообщили, что уже направили запросы на удаление пакетов команде безопасности Packagist.
Помимо сбора данных и перенаправлений, в других пакетах обнаружились иные вредоносные функции. Например, одна тема внедряла на сайты назойливую полноэкранную рекламу, другая - перехватывала клики пользователей, подменяя целевой адрес на рекламный. Наиболее изощрённый образец, "theme-legend", содержал механизмы противодействия отладке: он блокировал открытие инструментов разработчика в браузере, отключал сочетания клавиш (вроде F12 или Ctrl+Shift+I) и создавал бесконечный цикл срабатывания точки останова "debugger", что делало анализ кода крайне затруднительным. Все эти действия выполняются на стороне клиента, в браузере посетителя, что означает: сам сервер CMS не скомпрометирован, но каждый пользователь заражённого сайта подвергается риску.
Расследование позволило выявить двух акторов, стоящих за публикацией пакетов. Все 26 тем (включая 20 чистых) были загружены через организацию "ophimcms" на GitHub с использованием двух учётных записей и двух email-адресов. Анализ истории коммитов показывает, что оба аккаунта имеют права на запись и вносили изменения в одни и те же репозитории, что указывает либо на их сотрудничество в рамках одной организации, либо на деятельность одного оператора под разными личинами. Интересно, что вредоносные темы не являются оригинальными разработками для OphimCMS. Это шаблоны, изначально созданные для китайской CMS MacCMS и портированные во вьетнамскую экосистему. В коде сохранились артефакты, такие как китайские метки для рекламных блоков и идентификаторы Baidu Analytics, что объясняет, почему наиболее опасное перенаправление нацелено именно на китайскую аудиторию.
Для специалистов по информационной безопасности этот инцидент служит очередным напоминанием о рисках, связанных с зависимостями, особенно теми, что включают в себя статические ресурсы вроде JavaScript и CSS. Разработчики, устанавливающие темы или плагины, редко проводят глубокий аудит каждого bundled-файла, полагаясь на репутацию репозитория. Злоумышленники пользуются этим, внедряя обфусцированный код в стандартные библиотеки. В качестве мер защиты эксперты рекомендуют внедрять инструменты для статического анализа зависимостей, которые могут сканировать не только метаданные пакетов, но и содержимое поставляемых с ними файлов. Необходимо проверять файлы распространённых библиотек (jQuery и подобные) на наличие постороннего кода, добавленного после закрывающих выражений. Также следует отслеживать исходящие сетевые запросы к известным вредоносным доменам, таким как "userstat[.]net" или "union[.]macoms[.]la", и обращать внимание на любые домены, резолвящиеся через CNAME с использованием доменной зоны ".nqsaaskw[.]com", которая ассоциируется с инфраструктурой FUNNULL. Владельцам сайтов на OphimCMS, которые могли установить заражённые темы, следует немедленно их удалить, провести аудит и уведомить своих пользователей о возможной утечке данных об их просмотрах.
Индикаторы компрометации
Malicious Packages
- ophimcms/theme-dy
- ophimcms/theme-mtyy
- ophimcms/theme-rrdyw
- ophimcms/theme-pcc
- ophimcms/theme-motchill
- ophimcms/theme-legend
Threat Actor Emails
- dev@ophim.cc
- opdlnf01@gmail.com
Threat Actor Github
- https://github.com/ophimcms
- https://github.com/phantom0803
- https://github.com/binhnguyen1998822
Network Indicators
- union.macoms.la
- userstat.net
- cre-ads.com
- xemphimlau.com
- im.ue8im.com
- 23.225.52.67:4466
- oss-cn-guangzhou.ailyunoss.com
- dxtv1.com
File Hashes
FDFCBF04343F4EB89BAB9EAF40FEE178D9002A42C7949C9BBD24C0E8831A04B0 (SHA256) - union.macoms.la/jquery.min-3.6.8.js
Tracking IDs
- Baidu Analytics: 71d6a48495935b1d8996cc128d9a6819 (theme-dy)
- Baidu Analytics: 998752431dfb16634c12a163110e90ea (theme-rrdyw)
- 51.la: KSj5TdeIpUCuuvpt (theme-rrdyw)