Вредоносные расширения VS Code превратили GitHub в канал управления
Кампания «heyheyhey» включала шесть вредоносных расширений для Visual Studio Code, опубликованных на Microsoft Marketplace с 3 по 5 июня 2026 года. Они имитировали инструменты Kanban и управления проектами, но фактически использовались для доставки и выполнения удаленного JavaScript-кода.
Расширения маскировались под инструменты Roblox
Злоумышленники выбрали для расширений названия в стиле Roblox. В кампанию вошли RoFlow, RoTasker, RoPlanner, RoPilot, RoControl и ManageBlox. В интерфейсе продукты отображали функционально выглядящие веб-представления и доски управления проектами.
При этом каждое расширение было опубликовано с отдельного одноразового аккаунта. У этих аккаунтов не было других известных расширений или веб-присутствия.
Загрузчик запускался при каждом старте Visual Studio Code
Все расширения использовали событие активации *. Поэтому их загрузчик запускался при каждом старте Visual Studio Code.
Код расширений выполнял HTTPS-запрос к необработанному URL-адресу GitHub, связанному с репозиторием jjengu/heyheyhey. Полученный ответ записывался в JavaScript-файл во временной директории операционной системы. Затем файл выполнялся через child_process.exec с использованием cscript.
Скачанный контент представлял собой произвольный JavaScript-код. Он выполнялся с привилегиями Windows Script Host.
Вредоносная логика поддерживала Linux и macOS
Расширения содержали бинарный файл cscript.exe и запускали его с параметрами //nologo //e:jscript. Это позволяло выполнять полезную нагрузку на системах Linux и macOS даже при отсутствии нативной установки cscript.
Удаление репозитория не остановило механизм доставки
На момент анализа репозиторий GitHub возвращал ответы HTTP 404. Соответствующий аккаунт также не содержал публичных репозиториев или активности. Это указывало на удаление репозитория либо перевод его в приватный режим.
При этом сами расширения оставались механизмами доставки и продолжали пытаться загрузить полезную нагрузку при каждом запуске IDE. Восстановление репозитория или замена его содержимого по тому же пути могло бы реактивировать кампанию без обновления расширений.
Использование необработанного URL GitHub обеспечило удаленный канал управления на основе HTTPS. Такой подход мог обходить средства защиты, ориентированные на подозрительные домены или IP-адреса.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



