Шкідливі розширення VS Code Bitcoin Black і Codo AI: прихована атака на розробників через маркетплейс

CyberSecureFox 🦊

Офіційний маркетплейс Visual Studio Code знову продемонстрував, що навіть перевірені екосистеми не гарантують повної безпеки. Компанія Koi Security повідомила про виявлення двох шкідливих розширень VS Code — Bitcoin Black і Codo AI, які встановлювали на машини розробників потужний інфостілер, здатний викрадати паролі, cookie, дані криптогаманців та системну інформацію.

Як шкідливі розширення потрапили до маркетплейсу Visual Studio Code

Розширення Bitcoin Black маскувалося під тему оформлення VS Code, а Codo AI позиціонувалося як AI‑асистент для написання коду. Обидва плагіни були опубліковані під акаунтом видавця BigBlack. За даними Koi Security, на момент публікації звіту Codo AI все ще було доступне в каталозі та мало менше 30 установок, тоді як Bitcoin Black — лише одну.

Мала кількість інсталяцій не зменшує критичності інциденту. Один скомпрометований робочий ноутбук розробника часто відкриває шлях до вихідного коду, приватних репозиторіїв, CI/CD‑інфраструктури й корпоративних ресурсів, що робить такі атаки особливо привабливими для зловмисників.

Ланцюжок атаки: від подій VS Code до тихої доставки корисного навантаження

Активація через подію «*» та використання PowerShell

Розширення Bitcoin Black використовувало універсальну подію активації VS Code — «*». Це глобальний тригер, що спрацьовує практично за будь-якої дії користувача в редакторі. Такий підхід дозволяв розширенню регулярно виконувати свій код у фоновому режимі й залишатися непоміченим.

На ранньому етапі зловмисники застосовували PowerShell‑скрипт для завантаження зашифрованого архіву з шкідливим вмістом. Недоліком для атакувальних було те, що при цьому відкривалося вікно PowerShell, яке могло насторожити уважного користувача. Надалі схема була змінена на більш непомітну.

Перехід до bat‑скрипта, curl та прихованих DLL/EXE

У оновлених версіях Bitcoin Black логіку зараження винесли до bat‑скрипта (bat.sh), який викликав curl для завантаження DLL‑бібліотеки та виконуваного файлу .exe. Завантаження та запуск виконувалися у фоновому режимі, без видимих вікон командного рядка, що значно ускладнювало виявлення інциденту візуально.

Codo AI: поєднання корисного функціоналу та шкідливого коду

Codo AI дійсно надавав обіцяний функціонал — інтеграцію з популярними AI‑моделями (зокрема ChatGPT і DeepSeek) для автодоповнення та генерації коду. Однак паралельно в розширенні був вбудований ідентичний шкідливий компонент, що використовував ту саму ланку зараження, що й Bitcoin Black.

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

DLL hijacking через Lightshot і запуск інфостілера

Обидва розширення містили легітимний виконуваний файл популярної утиліти для скриншотів Lightshot та шкідливу DLL‑бібліотеку. Атака ґрунтувалася на техніці DLL hijacking: при запуску Lightshot замість очікуваної бібліотеки підвантажувалася підроблена DLL, розташована поруч з легітимним EXE.

У результаті в систему жертви непомітно розгорталася шкідлива програма‑інфостілер, яка запускалася як runtime.exe. За даними дослідників, шкідливу DLL розпізнавали лише 29 із 72 антивірусних рушіїв на сервісі VirusTotal, що вказує на відносну «свіжість» або якісну обфускацію зразка.

Можливості інфостілера: від паролів до криптогаманців

Після зараження шкідливий код створював каталог %APPDATA%\Local\Evelyn, куди зливав зібрані дані. Серед іншого інфостілер збирав:

— інформацію про запущені процеси та встановлене ПЗ;
— вміст буфера обміну;
— збережені Wi‑Fi‑облікові дані;
— базову системну інформацію;
— скриншоти екрана в режимі реального часу.

Для викрадення веб‑сесій інфостілер запускав Chrome та Edge у headless‑режимі (без графічного інтерфейсу) та екстрагував із профілів cookie‑файли. Це дозволяло перехоплювати активні сесії й отримувати доступ до облікових записів без введення пароля чи коду 2FA, якщо сесія вже була авторизована користувачем.

Окремим вектором стала крадіжка криптовалюти. Шкідлива програма сканувала файлову систему на наявність гаманців Phantom, Metamask, Exodus та інших, намагаючись отримати доступ до збережених секретних фраз, паролів та seed‑фраз, зокрема в автозбереженнях браузерів.

Реакція Microsoft та практичні висновки для розробників

Представники Microsoft повідомили про видалення шкідливих розширень Bitcoin Black і Codo AI з маркетплейсу VS Code. Попри це, сам факт публікації таких плагінів у офіційному каталозі підкреслює зростання ризиків supply chain‑атак на інструменти розробки.

Щоб мінімізувати ризики компрометації середовища розробника, варто дотримуватися таких рекомендацій:

— встановлювати розширення VS Code лише від відомих і перевірених видавців, уважно перевіряючи рейтинг та історію оновлень;
— періодично проводити аудит установлених плагінів і видаляти все, що давно не використовується;
— моніторити неочікувані запуски PowerShell, cmd, curl та сторонніх .exe із профілю розробника й CI‑середовища;
— застосовувати сучасні EDR/XDR‑рішення з поведінковим аналізом, а не покладатися лише на сигнатурний антивірус;
— зберігати seed‑фрази й ключі криптогаманців поза робочими станціями (за можливості — на апаратних гаманцях).

Цей інцидент із Bitcoin Black і Codo AI ще раз показує, що розробники залишаються однією з найцінніших і водночас найуразливіших мішеней для кіберзлочинців. Чим активніше в роботі використовуються розширення та AI‑асистенти, тим важливіше впроваджувати багаторівневий захист, регулярно підвищувати обізнаність команди та критично ставитися до будь‑яких нових плагінів, навіть якщо вони надходять з офіційних маркетплейсів. Своєчасний перегляд політик безпеки, контроль над ланцюгом постачання ПЗ та базова «цифрова гігієна» розробників сьогодні є не рекомендацією, а необхідною умовою безпечного створення програмного забезпечення.

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

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