Кампанія GlassWorm, орієнтована на розробників, отримала новий розвиток: зловмисники інтегрували Zig‑дроппер у підроблене розширення для Visual Studio Code, здатне непомітно заражати практично всі IDE на робочій станції, що підтримують екосистему VS Code. Цей інцидент є показовим прикладом атаки на ланцюг постачання програмного забезпечення і напряму б’є по середовищах розробки та секретах проєктів.
GlassWorm і підроблене розширення WakaTime в Open VSX
Дослідники виявили шкідливий модуль в репозиторії Open VSX під назвою «specstudio.code-wakatime-activity-tracker». Він маскувався під легітимний трекер активності WakaTime, який широко використовується для аналізу часу, проведеного в IDE. Розширення вже видалене з каталогу, однак усі, хто встиг його встановити, мають розглядати свою систему як потенційно скомпрометовану.
Функціональність фейкового плагіна майже повністю повторює офіційний WakaTime, що значно ускладнює виявлення підміни. Критичні відмінності приховано у функції activate(), де запускається прихована шкідлива логіка, невидима для більшості користувачів і базових засобів моніторингу.
Як працює Zig‑дроппер у Visual Studio Code та чому це небезпечно
Під час встановлення розширення додає в систему нативний бінарний модуль: «win.node» для Windows або універсальний Mach‑O «mac.node» для macOS. Це нативні розширення Node.js, скомпільовані мовою Zig, які підключаються безпосередньо до рантайму Node та обходять обмеження JavaScript‑пісочниці.
На практиці це означає, що шкідливий код отримує повноцінний доступ до операційної системи: файлової системи, мережевих з’єднань, процесів. Якщо у класичних шкідливих плагінах для VS Code основне навантаження реалізовано на JavaScript, то у випадку GlassWorm нативний код використовується як непомітний «проксі‑дроппер», завдання якого — тихо розгорнути наступні компоненти атаки та поширити їх на всі виявлені IDE.
Які IDE опиняються під загрозою: не лише Visual Studio Code
Після активації Zig‑дроппер сканує систему в пошуках усіх середовищ розробки, що підтримують розширення формату VS Code (.VSIX). Під ризиком опиняються не тільки Microsoft Visual Studio Code і VS Code Insiders, але й численні форки та сумісні IDE, зокрема:
- VSCodium;
- Positron;
- Cursor;
- Windsurf;
- інші IDE та AI‑орієнтовані редактори з підтримкою VSIX‑плагінів.
У результаті одноразова установка підробленого розширення перетворюється на точку входу для масового зараження всієї розробницької екосистеми на конкретній машині, включно з робочими та експериментальними IDE.
Ланцюжок зараження GlassWorm: від GitHub до Chrome‑браузера
Завантаження шкідливого VSIX з GitHub
Виявлений Zig‑дроппер додатково завантажує ще одне розширення VS Code формату .VSIX з репозиторію GitHub, контрольованого зловмисниками. Воно має назву «floktokbok.autoimport» і імітує дуже популярний модуль «steoates.autoimport», який має мільйони встановлень в офіційному Visual Studio Marketplace. Подібність назви та поведінки знижує ймовірність того, що розробник або система захисту помітять аномалію.
Тиха установка у всі IDE та функції другого етапу
Завантажений файл .VSIX записується у тимчасовий каталог і потім безшумно встановлюється у всі знайдені IDE за допомогою їхніх CLI‑інсталяторів. На цьому етапі активується другий шкідливий компонент — розширення‑дроппер, яке виконує низку критичних дій:
- геофільтрація — код не запускається на системах із російською локалізацією чи географією, що ускладнює атрибуцію та може вказувати на мотиви атакуючих;
- отримання C2 через блокчейн Solana — адреси серверів керування зчитуються з децентралізованої інфраструктури, що ускладнює блокування й відключення командних каналів;
- ексфільтрація даних — збір конфіденційної інформації (файли проєктів, конфігурації, токени, ключі API) та передача її на інфраструктуру нападників;
- установлення RAT (Remote Access Trojan) — надання зловмисникам стійкого віддаленого доступу до системи розробника;
- розгортання шкідливого розширення Google Chrome — фінальний етап, спрямований на крадіжку облікових даних, cookies та іншої чутливої інформації з браузера.
Наслідки для розробників та ланцюга постачання ПЗ
З погляду безпеки, GlassWorm об’єднує одразу кілька тенденцій сучасних загроз: маскування під популярні інструменти розробки, використання нативного коду (Zig + Node.js) для обходу обмежень та удар по ланцюгу постачання ПЗ. Під загрозою опиняються не тільки персональні дані розробників, а й секрети організацій і проєктів: ключі до Git‑репозиторіїв, облікові дані CI/CD, токени хмарних платформ, внутрішні API‑ключі.
Беручи до уваги домінуючу роль Visual Studio Code та сумісних IDE у світовій розробці, подібні кампанії здатні масштабуватися дуже швидко. Компрометація одного ноутбука розробника може призвести до підриву довіри до цілого продукту або open source‑проєкту, якщо відсутні додаткові процеси контролю цілісності, перевірки розширень та моніторингу аномальної активності.
Практичні кроки реагування та профілактики для розробників
Користувачам, які встановлювали «specstudio.code-wakatime-activity-tracker» або «floktokbok.autoimport», варто виходити з припущення про повну компрометацію середовища розробки і невідкладно:
- видалити згадані й інші сумнівні розширення в усіх IDE на машині;
- виконати повне сканування системи актуальними антивірусними та EDR‑рішеннями на предмет RAT та інших шкідливих компонентів;
- змінити всі паролі і провести ротацію секретів (токени, SSH‑ключі, API‑ключі, хмарні креденшіали);
- перегенерувати токени доступу в GitHub, GitLab, хмарних платформах та інших сервісах розробки;
- перевстановити або перевірити розширення Chrome, видаливши всі невідомі чи неочікувані модулі.
Для зниження ризику подібних атак у майбутньому командам варто формалізувати політику довірених розширень: використовувати офіційні маркетплейси, перевіряти видавця, історію оновлень, число встановлень та відгуки, регулярно проводити аудит встановлених плагінів. Інвестиції в практики безпеки розробки (SSDLC, контроль секретів, принцип мінімально необхідних прав, моніторинг аномалій у середовищі IDE) підвищують стійкість не лише окремого розробника, а й усієї організації та її ланцюга постачання програмного забезпечення.