GitHub повідомила про витік внутрішніх репозиторіїв після компрометації пристрою співробітника через отруєне розширення Visual Studio Code. Компанія не назвала розширення, але заявила, що твердження TeamPCP про приблизно 3 800 зачеплених репозиторіїв загалом збігається з поточним розслідуванням [1].
Ризик тут не зводиться до втрати коду. Шкідливе розширення працює всередині робочого середовища розробника, поряд із репозиторіями, локальними токенами та файлами збірки. Тому атака може виглядати як звичайне оновлення інструмента, а не як очевидний фішинг.
Що варто перевірити зараз
GitHub заявила, що видалила шкідливу версію розширення, ізолювала уражений endpoint і ротувала критичні секрети. CyberScoop також пов’язує інцидент з окремою компрометацією Nx Console, де обліковий запис мейнтейнера використали для публікації шкідливої версії VS Code extension. В advisory StepSecurity зазначено, що Nx Console 18.95.0 була скомпрометованою версією та вже видалена [2].
Командам, які використовують VS Code extensions у роботі з production-adjacent кодом, варто починати не лише з GitHub audit logs. Перевірте встановлені версії розширень станом на 20 травня, приберіть підозрілі або вже відкликані релізи, а потім ротувайте токени, доступні на уражених машинах. Репозиторії також треба переглянути на несподівані зміни у workspace hooks, зокрема в .vscode/tasks.json.
Це продовжує тенденцію, яку Gridinsoft вже описував у матеріалі про Shai-Hulud у npm-пакетах AntV. Зловмисники б’ють не по одному серверу, а по довіреному каналу доставки інструментів, після чого збірка або IDE виконують небезпечний код за них.
Аналіз Aikido Security підкреслює головну прогалину: розширення мають широкий доступ у середовищі розробника, тоді як частина контролів дивиться на endpoint, package manifest або CI logs [3]. Практичний висновок простий: оновлення extension треба сприймати як виконання коду, якщо машина має GitHub tokens, signing keys або доступ до деплою.
До теми: схожа межа довіри проявилася в AI tooling: ChromaDB CVE-2026-45829 може виконати model code до автентифікації, якщо вразливий Python server доступний з мережі.
