Информационная безопасность открытых экосистем программного обеспечения вновь подверглась испытанию. Исследователи компании Socket обнаружили эволюцию продолжающейся кампании по распространению вредоносного ПО GlassWorm, нацеленной на разработчиков через реестр расширений Open VSX. Злоумышленники внедрили новую тактику, при которой полезная нагрузка доставляется с внешней инфраструктуры GitHub, а для управления атакой используется децентрализованная сеть блокчейна Solana. Это делает традиционные методы противодействия, такие как удаление расширений из реестра, значительно менее эффективными.
Описание
Кампания, впервые задокументированная на прошлой неделе, вступила в новую фазу в середине марта 2026 года. Изначально было выявлено 72 вредоносных расширения. Однако в течение уик-энда специалисты обнаружили более 20 новых опасных модулей, а также около 20 "спящих" расширений, которые на момент публикации не содержали вредоносного кода. Последние представляют особую угрозу, так как злоумышленники публикуют безобидные на вид пакеты, часто подделывая названия популярных утилит, а затем, спустя часы, дни или недели, выпускают обновление, которое превращает их в инструмент для доставки вредоносного загрузчика.
Кульминация атаки пришлась на 17 и 18 марта 2026 года. В это время исследователи в реальном времени наблюдали, как ранее бездействующие "спящие" расширения были активированы и превращены в оружие. Их обновления преобразовывали их в наборы расширений, которые подключали вредоносные зависимости. Более того, по крайней мере одно такое расширение, "lauracode.wrap-selected-code", после обновления начало напрямую скачивать и устанавливать вредоносный файл VSIX с GitHub в несколько популярных IDE. Это серьёзное улучшение в методах уклонения от обнаружения, поскольку загрузка больше не зависит от пакетов, размещённых в самом реестре Open VSX. Вредоносная полезная нагрузка теперь размещается на инфраструктуре GitHub, что выводит её из-под контроля модераторов репозитория.
Команда безопасности Eclipse Foundation, поддерживающей Open VSX, оперативно реагировала на угрозу на протяжении всей кампании, удаляя опасные расширения и связанные с ними учётные записи издателей. После обращений исследователей были сняты с публикации расширение "96-studio.json-formatter" и восемь "спящих" модулей, активированных 17 марта. Однако на момент публикации отчёта новая волна расширений от 18 марта, включая "lauracode.wrap-selected-code", всё ещё оставалась доступной в реестре. Специалисты заранее уведомили об этом фонд Eclipse.
Технический анализ активированного расширения "lauracode.wrap-selected-code" выявил сложный загрузчик. При запуске он перечисляет локально установленные среды разработки, получает следующий VSIX-файл по жёстко заданному пути к релизу на GitHub, а затем использует механизмы командной строки редактора для принудительной установки полезной нагрузки в дополнительные среды разработки, что в конечном итоге приводит к выполнению произвольного кода. Ключевым элементом новой схемы является использование блокчейна Solana в качестве механизма управления командным центром. Вместо традиционного сервера, который можно отключить, злоумышленник публикует транзакцию в сети Solana с указанием в мемо нового URL для загрузки полезной нагрузки. Вредоносный код опрашивает несколько публичных RPC-нод Solana, ища эти инструкции. Это делает инфраструктуру управления атакой практически неуязвимой для традиционного отключения.
Кроме того, код содержит географическое ограничение, проверяя, не находится ли жертва в России, по языковым настройкам и часовому поясу, что характерно для киберпреступных группировок из Восточной Европы, стремящихся избежать внимания местных правоохранительных органов. Для усложнения анализа используется многослойная обфускация, задержки выполнения и проверка временных меток для ограничения частоты обращений к C2. Особую хитрость представляет техника "расхождения исходного кода и бинарника": расширение является троянизированной копией популярного легитимного плагина Auto Import, причём вредоносный код добавлен исключительно в скомпилированный JavaScript, в то время как исходный код TypeScript остаётся чистым. Это делает бессмысленным поверхностный аудит исходников на GitHub.
Данный инцидент ярко демонстрирует растущую изощрённость атак на цепочку поставок программного обеспечения. Злоумышленники используют легитимные облачные платформы для хранения полезной нагрузки и децентрализованные технологии для управления атакой, сводя на нет усилия по централизованному удалению угроз. Для организаций это означает, что защита не может ограничиваться лишь мониторингом реестров пакетов. Необходимо внедрять решения для анализа поведения кода и его происхождения, способные обнаруживать аномалии даже в легитимно выглядящих зависимостях, особенно на этапе их компиляции и сборки.
Индикаторы компрометации
GitHub Delivery Infrastructure
- https://github.com/chiara585/fwefwewvwfe/releases/download/dqdwd/qwdfewfqzxv.vsix
- https://github.com/francesca898/dqwffqw/releases/download/vsx/autoimport-smart-tool-2.5.8.vsix
Solana C2 Wallet
- 6YGcuyFRJKZtcaYCCFba9fScNUvPkGXodXE1mJiSzqDJ
Threat Actor Aliases and Publisher Accounts
- laura6909 - lauracode.wrap-selected-code
- martina0094 - 96-studio.json-formatter, rubyideext.ruby-ide-extension
- chiara585 - GitHub account hosting VSIX; also Open VSX publisher of pubruncode.ccoderunner
- francesca898 - GitHub account hosting VSIX