GlassWorm: вредоносные расширения Open VSX используют extensionDependencies
Недавние расследования выявили новую волну вредоносных расширений Open VSX, связанных с кампанией GlassWorm. Атака расширилась минимум до 73 случаев применения переходных зависимостей (transitive dependencies), что позволяет злоумышленникам маскировать вредоносную полезную нагрузку внутри, на первый взгляд, безвредных расширений.
В чём суть угрозы
Механизм заражения базируется на использовании полей манифеста, таких как extensionPack и extensionDependencies. Это даёт злоумышленникам возможность публиковать легитимно выглядящие расширения, которые при установке подтягивают и активируют другие пакеты — в том числе те, которые содержат вредоносный код. В результате простой просмотр исходной публикации расширения перестаёт быть достаточной мерой предосторожности.
Как работает GlassWorm (ключевые принципы)
- Поэтапное выполнение JavaScript с разделением логики на несколько стадий, что затрудняет статический анализ.
- Геозонирование: привязка выполнения к русской локали и часовому поясу для таргетинга.
- Использование заметок о транзакциях Solana (transaction memos) для скрытой передачи данных.
- Ротация инфраструктуры C2 и кошельков для усложнения трекинга и отслеживания активности.
«Стратегия ротации направлена на поддержание оперативной безопасности злоумышленников путем усложнения обнаружения и установления личности», — отмечают аналитики.
Эволюция тактик и усиление обфускации
В последних вариантах кампании злоумышленники перешли к более агрессивной ротации инфраструктуры: например, был зафиксирован переход с кошелька Solana BjVeAjPrSKFiingBn4vZvghsGj9KCE8AJVtbc9S8o8SC на новый 6YGcuyFRJKZtcaYCCFba9fScNUvPkGXodXE1mJiSzqDJ, а также введение новых IP-адресов командования и контроля (C2) наряду с уже используемыми.
Для снижения видимости вредоносного компонента злоумышленники усложнили обфускацию: статический загрузчик AES заменён более сложной цепочкой RC4/base64/string-array, а материалы, необходимые для расшифровки, частично переносятся из расширения в заголовки HTTP-ответов. Это добавляет уровень уклонения от классических механизмов детектирования.
Индикаторы компрометации и что отслеживать
Защитникам следует особенно мониторить следующие признаки:
- Изменения в манифестах расширений, включающие поля extensionPack или extensionDependencies в новых версиях.
- Поэтапный JavaScript-код с признаками геозонирования (локаль/часовой пояс).
- Использование встроенных криптографических подписей и нетипичные схемы обфускации (RC4/base64/string-array).
- Транзакции Solana с подозрительными memos, используемыми для передачи скрытых данных.
- Необычная ротация кошельков и появление новых C2 IP-адресов.
Примеры зафиксированных расширений
otoboss.autoimport-extension— в манифесте ссылается на известные расширения, связанные с GlassWorm.twilkbilk.color-highlight-css— имитация законного инструмента, маскировка под надежный функционал.
Такие маскировки направлены на повышение числа скачиваний и создание видимости легитимности, чтобы заманить ничего не подозревающих разработчиков.
Рекомендации — немедленные и долгосрочные
Эксперты по кибербезопасности и команды разработчиков должны предпринять следующие действия без промедления:
- Провести аудит полной истории установленных расширений — не только текущих версий, но и предыдущих.
- Идентифицировать и удалить инфраструктуру, связанную с GlassWorm, из сред разработки.
- Проверить и при необходимости очистить потенциально выполняемые в памяти полезные нагрузки; рассмотреть возможность сканирования на предмет пост-эксплуатационных модулей, ориентированных на локальные учётные данные и конфигурационные файлы.
- Блокировать известные кошельки и подозрительные C2 IP/доменные имена на уровне сети; мониторить появление новых адресов.
- Усилить контроль за распространением расширений: переоценить процессы верификации и ревью для Open VSX/VS Code, в том числе проверку зависимостей в манифесте.
- Рассмотреть реализацию дополнительных мер целостности — например, проверки подписей расширений и политики доверенных источников.
- Ротация и защита учётных данных, которые могли быть скомпрометированы вследствие выполнения вредоносных нагрузок в памяти.
Поверхность атаки и значение бдительности
Поверхность атаки в основном прослеживается в открытых путях установки и обновления расширений VSX/VS Code, что подчёркивает критическую важность бдительности разработчиков и операторов репозиториев. Переходные зависимости и манипуляции с манифестами позволяют злоумышленникам обходить первичные фильтры и получать доступ к средам разработки.
Заключение
Кампания GlassWorm продемонстрировала эволюцию тактик злоумышленников: от простых троянов в расширениях до многоступенчатых цепочек поставки с глубокой обфускацией и ротацией инфраструктуры. Главный вывод — необходимо рассматривать расширения не как единичный артефакт, а как часть цепочки поставки, требующую постоянного аудита, мониторинга и жёсткой политики контроля зависимостей.
Организациям и разработчикам рекомендуется немедленно проверить свои среды разработки и расширения, особенно те, которые недавно добавляли или обновляли зависимости, и внедрить процедуры, которые снизят риск повторных компрометаций.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.
