Популярне розширення Nx Console для Visual Studio Code (версія 18.95.0) було скомпрометовано й використане для доставки багатоступеневого зловмисного ПЗ, що викрадає облікові дані розробників. Розширення, яке налічує понад 2,2 мільйона інсталяцій, поширювалося через офіційний VS Code Marketplace. Згідно з офіційним повідомленням із безпеки від команди Nx, причиною інциденту стала компрометація робочої станції одного з розробників, що призвело до витоку його облікових даних GitHub. Версія розширення для Open VSX не постраждала. Усім користувачам необхідно негайно оновитися до версії 18.100.0 або вище та провести ротацію всіх секретів, доступних із зараженої машини.
Механізм атаки
Викрадені облікові дані були використані для впровадження зловмисного orphan-коміту (осиротілого, не прив’язаного до основних гілок) в офіційний репозиторій nrwl/nx на GitHub. Коміт не був підписаний, що є важливим індикатором компрометації. За даними дослідників StepSecurity, під час відкриття будь-якого робочого простору в VS Code скомпрометоване розширення протягом кількох секунд завантажувало й виконувало обфускований корисний вантаж розміром 498 КБ, прихований у цьому orphan-коміті.
Як повідомляється, зловмисний код встановлював середовище виконання Bun (JavaScript runtime) для запуску обфускованого файла index.js, який являв собою багатоступеневий інструмент для викрадення облікових даних та отруєння ланцюга постачання. Дослідники StepSecurity описують такі канали ексфільтрації даних: HTTPS, GitHub API та DNS-тунелювання. На системах macOS, за даними дослідників, додатково встановлювався бекдор на Python, що використовував GitHub Search API як механізм отримання команд (dead drop resolver).
Цільові секрети та можливості шкідника
За інформацією StepSecurity, зловмисне ПЗ цілеспрямовано вилучало секрети з:
- Сховищ 1Password
- Конфігурацій Anthropic Claude Code
- Токенів і секретів npm, GitHub та AWS
Окремої уваги заслуговує задекларована дослідниками інтеграція з Sigstore, включно з випуском сертифікатів Fulcio та генерацією SLSA-провенансу. Якщо цю інформацію буде підтверджено, то в поєднанні з викраденими OIDC-токенами npm зловмисник потенційно міг би публікувати шкідливі npm-пакети з чинними криптографічними підписами, які виглядали б як легітимні верифіковані збірки. Важливо зазначити, що це оцінка потенційного впливу від одного дослідницького джерела — підтверджених випадків такої публікації наразі не зафіксовано.
Показова деталь: шкідник перевіряв часовий пояс системи й, імовірно, уникав зараження машин у російських та інших часових зонах СНД — типовий патерн, поширений в операціях східноєвропейських угруповань, хоча конкретної атрибуції в цьому випадку не встановлено.
Вікно компрометації та індикатори зараження
Згідно з офіційним повідомленням, вікно експозиції було вкрай вузьким: 18 травня 2026 року з 14:36 до 14:47 CEST (усього 11 хвилин). Попри це, команда Nx підтвердила, що за цей період було скомпрометовано кількох користувачів.
Індикатори компрометації (IOC) — файли на диску:
~/.local/share/kitty/cat.py~/Library/LaunchAgents/com.user.kitty-monitor.plist/var/tmp/.gh_update_state/tmp/kitty-*
Підозрілі процеси:
- Процес Python, що виконує
cat.py - Будь-який процес зі змінною оточення
__DAEMONIZED=1
Контекст: повторна атака на екосистему Nx
Це вже другий інцидент в екосистемі Nx менш ніж за рік. У серпні 2025 року, за даними StepSecurity, кілька npm-пакетів, пов’язаних із Nx, були заражені стилером облікових даних у межах кампанії, що отримала назву s1ngularity. Якщо попередня атака була націлена на npm-пакети, то поточна змістила вектор на розширення VS Code — більш прямий шлях до робочого середовища розробника.
Інцидент відбувається на тлі масштабної хвилі атак на екосистему npm. Одночасно зафіксовано шкідливі пакети, націлені на сесії Claude Code, крадіжку криптовалютних гаманців, захоплення акаунтів Telegram, а також скоординовану кампанію з 38 пакетів, що експлуатує dependency confusion для атак на CI/CD-конвеєри великих технологічних компаній.
Рекомендації щодо реагування
Для всіх користувачів Nx Console у VS Code:
- Негайно оновіть розширення до версії 18.100.0 або вище
- Перевірте наявність перелічених вище IOC-файлів і процесів на робочій станції
- У разі виявлення індикаторів — завершіть шкідливі процеси та видаліть артефакти з диска
- Проведіть повну ротацію усіх облікових даних, доступних із ураженої машини: токени npm, GitHub, AWS, SSH-ключі, секрети з менеджерів паролів
- Перевірте журнали аудиту GitHub і npm на предмет несанкціонованих дій у період вікна експозиції
- Розгляньте запровадження політик, що обмежують автоматичне оновлення розширень VS Code у корпоративному середовищі
Цей інцидент демонструє, що розширення IDE стають повноцінним вектором атак на ланцюг постачання, співставним за небезпекою з компрометацією npm-пакетів. Облікові дані розробника, який має права на публікацію в маркетплейсі, — це критичний актив, що потребує захисту на рівні привілейованого доступу: апаратні ключі для MFA, обмеження прав публікації, обов’язковий підпис комітів і моніторинг orphan-комітів у репозиторіях.