WaterPlum: новий ланцюжок атак через Visual Studio Code проти криптовалютних і Web3‑розробників

CyberSecureFox 🦊

Звична для розробників середа Visual Studio Code стала черговим інструментом у руках північнокорейської групи WaterPlum, пов’язаної з кампанією Contagious Interview. Зловмисники розповсюджують спеціально підготовлені проєкти VS Code з вбудованим шкідливим ПЗ StoatWaffle, прицільно атакуючи досвідчених інженерів у криптовалютному та Web3‑сегментах.

Зловмисні проєкти VS Code та StoatWaffle: як працює атака

За даними NTT Security, починаючи з грудня 2025 року WaterPlum активно експлуатує конфігураційний файл tasks.json у VS Code. Ключовий параметр runOn: “folderOpen” дає змогу автоматично запускати задачу щоразу, коли розробник відкриває папку з проєктом, без натискання будь-яких кнопок чи запуску скриптів вручну.

Ця прихована задача завантажує дані з вебдодатку на платформі Vercel, а в новіших варіантах — зі скриптів GitHub Gist, після чого виконує їх як код Node.js. Таке рішення робить StoatWaffle кросплатформним — він однаково ефективно працює на Windows, macOS і Linux, що суттєво розширює потенційну площу атаки.

Багатоступенева інфекція та модульна архітектура StoatWaffle

Початковий компонент StoatWaffle насамперед перевіряє, чи встановлено Node.js у системі жертви. Якщо середовище виконання відсутнє, malware самостійно завантажує та інсталює офіційний дистрибутив Node.js, фактично створюючи для себе повноцінну платформу виконання на цільовому хості.

Далі запускається довнлоадер, який періодично звертається до командно-контрольної інфраструктури (C2) і підтягує наступні етапи зараження. Такий підхід ускладнює виявлення: частина шкідливого ланцюжка завжди залишається «в хмарі», а на диск потрапляє лише мінімальний стартовий код.

За спостереженнями дослідників, StoatWaffle реалізовано як модульний malware на Node.js. Виявлено щонайменше два основні типи модулів: stealer для викрадення облікових даних і конфіденційної інформації та RAT (Remote Access Trojan) для віддаленого адміністрування зараженої системи. Модульна схема дозволяє WaterPlum оперативно додавати нові функції без повного перезапуску кампанії.

Фейкові технічні співбесіди як ключовий канал зараження

Аналітика Microsoft щодо кампанії Contagious Interview показує, що первинний доступ до середовищ розробників забезпечується за рахунок складної соціальної інженерії. Мішеням пропонують нібито легітимний процес найму із технічним інтерв’ю, під час якого кандидата просять:

клонувати репозиторій з GitHub/GitLab/Bitbucket, виконати набір команд або встановити додаткові пакети «для оцінки навичок». Саме в таке тестове завдання й вбудовуються зловмисні tasks.json та інші компоненти StoatWaffle.

Важливий аспект таргетингу: хакери КНДР свідомо орієнтуються не на джуніорів, а на засновників, CTO та провідних інженерів криптокомпаній і Web3‑стартапів, зокрема через LinkedIn та інші професійні платформи. Ці люди зазвичай мають розширені привілеї доступу до інфраструктури, приватних ключів та корпоративних криптогаманців. Серед задокументованих інцидентів — невдала спроба скомпрометувати засновника AllSecure.io через підставну співбесіду.

OtterCookie, InvisibleFerret, FlexibleFerret: ширша екосистема WaterPlum

StoatWaffle є лише одним елементом розгалуженого набору інструментів WaterPlum. У ланцюжках атак фігурують також:

OtterCookie — бекстор із розширеними можливостями збору й ексфільтрації даних; InvisibleFerret — Python‑бектор, який раніше зазвичай доставлявся через компонент BeaverTail, але нині частіше з’являється як наступний етап після OtterCookie; FlexibleFerret (також відомий як WeaselStore) — модульний бектор із реалізаціями на Go (GolangGhost) та Python (PylangGhost), що дедалі частіше виступає фінальною корисною нагрузкою при атаках через GitHub‑репозиторії з VS Code‑проєктами.

Захист у Visual Studio Code: нові налаштування та практичні поради

На тлі зловживання механізмом Tasks у VS Code, Microsoft у версії 1.109 запровадила нову опцію task.allowAutomaticTasks, яка за замовчуванням блокує автозапуск задач із tasks.json під час відкриття робочої області. Критично важливо, що цю опцію неможливо перевизначити на рівні workspace, отже зловмисний репозиторій через .vscode/settings.json більше не може примусово ввімкнути автозапуск.

Версії 1.109 та 1.110 також додають додаткове попередження при виявленні автоматично запусканих задач у новому workspace, посилюючи захист поверх механізму Workspace Trust. Організаціям рекомендується вимагати від розробників:

перевіряти вміст каталогу .vscode у сторонніх репозиторіях, особливо в тестових завданнях для співбесід; вимкнути чи обмежити автозапуск tasks; моніторити нетипову активність інтерпретаторів на кшталт Node.js, Python та Go.

КНДР, «експорт» ІТ‑фахівців і роль WaterPlum

Операції WaterPlum вкладаються в ширшу картину державної кіберпрограми КНДР. Міністерство юстиції США повідомило про вироки трьом громадянам США, які допомагали північнокорейським IT‑спеціалістам обходити санкції, створюючи підставні акаунти та отримуючи роботу «віддалених розробників». Один з обвинувачених отримав рік ув’язнення та конфіскацію понад 190 тисяч доларів, зароблених КНДР завдяки використанню його особистості.

Спільне дослідження Flare та IBM X-Force демонструє, що ІТ‑кадри КНДР проходять престижну освіту й жорсткий відбір, після чого стають інструментом держави для заробляння валюти, кібершпигунства, вимагання та підтримки інших хакерських груп. Атаки на розробників і криптопроєкти через VS Code, GitHub та LinkedIn є логічним продовженням цієї стратегії.

Сценарії на кшталт Contagious Interview демонструють, що навіть звичні інструменти розробки — IDE, репозиторії коду та процеси найму — більше не можна вважати безпечними «за замовчуванням». Компаніям, особливо в криптовалютному та Web3‑секторі, варто формалізувати перевірку тестових завдань, обмежити автозапуск задач у VS Code, впровадити моніторинг аномальної активності Node.js/Python/Go та регулярно навчати команди розпізнаванню фішингу й фейкових співбесід. Чим вищою є культура кібербезпеки серед розробників, тим важче групам рівня WaterPlum перетворити довіру до інструментів розробки на успішний вектор атаки.

Залишити коментар

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються дані ваших коментарів.