Злам GitHub через Розширення Nx Console: 3 800 Репозиторіїв Скомпрометовано
Кожен CTO, який затвердив політику «розробники можуть встановлювати будь-які розширення VS Code для підвищення продуктивності», тепер має незапланований рядок у бюджеті. GitHub цього тижня підтвердив, що його власні внутрішні репозиторії були зламані через отруєне розширення Nx Console, що запускалося на машині одного зі співробітників. Якщо компанія, яка створює реєстр, де зберігається код усього світу, може бути атакована через marketplace-розширення, архітектурне припущення про те, що кінцеві точки розробників є малозначущими активами, офіційно застаріло.
Що Сталося
У середу CISO GitHub Алексіс Вейлс підтвердила, що внутрішні репозиторії були скомпрометовані після того, як на пристрої співробітника запустилася троянізована збірка розширення Nx Console для VS Code з ідентифікатором пакета nrwl.angular-console. Зловмисники — кіберзлочинне угруповання TeamPCP — викрали близько 3 800 репозиторіїв, перш ніж GitHub локалізував інцидент і виконав ротацію критичних секретів.
Як повідомляє The Hacker News, шкідливе розширення було доступне у Visual Studio Marketplace лише 18 хвилин — з 12:30 до 12:48 UTC 18 травня 2026 року. Цього вікна виявилося достатньо. Payload являв собою викрадач облікових даних, який полював на сховища 1Password, конфігурації Anthropic Claude Code, npm-токени, облікові дані GitHub та ключі AWS. Сам шаблон атаки є показовим: зібрати облікові дані від одного набору довірених розробників, а потім використати їх для компрометації наступного довіреного інструменту.
Команда Nx розкрила, що система їхнього розробника була скомпрометована в результаті атаки на ланцюг постачання TanStack, яка також зачепила OpenAI, Mistral AI та Grafana Labs. Вейлс зазначила, що деякі внутрішні репозиторії GitHub містять дані, отримані від клієнтів, зокрема фрагменти звернень до служби підтримки, і пообіцяла сповіщати клієнтів у разі виявлення наслідків. Джефф Кросс, співзасновник Narwhal Technologies (компанії, що стоїть за nx.dev), написав у X, що «багато припущень, на яких екосистема працювала роками, більше не діють», і повідомив про початок переговорів з іншими відомими мейнтейнерами щодо структурних змін у дистрибуції відкритого коду.
Технічна Анатомія
Механіка атаки варта детального розбору, оскільки вона безпосередньо впливає на рішення щодо закупівель та архітектури. Дослідник OX Security Нір Задок точно описав payload: «Розширення виглядало і поводилося як звичайний Nx Console, але під час запуску воно тихо виконувало єдину shell-команду, яка завантажувала і запускала прихований пакет із впровадженого коміту в офіційному репозиторії nrwl/nx на GitHub». Shell-команда була замаскована під рутинну задачу налаштування MCP. Шкідливий пакет не розміщувався на інфраструктурі зловмисників — він ховався всередині впровадженого коміту в справжньому репозиторії, а отже, перевірки підписів та інструменти репутації доменів ніколи б не спрацювали.
Другий механізм — дистрибуція. Дослідник Aikido Рафаель Сілва вказав на структурний дефект: «Кожен популярний marketplace розширень постачається з увімкненим за замовчуванням автооновленням. VS Code, Cursor — увесь цей ряд». Автооновлення існує тому, що більшість розробників ніколи не встановлюють патчі вручну, тому його відключення залишило б довгий хвіст застарілих, вразливих редакторів. Думка Сілви гостріша, ніж здається на перший погляд. «Компроміс втрачає сенс, щойно ви враховуєте ворожих або скомпрометованих видавців. Автооновлення дає зловмиснику, який контролює реліз, прямий канал push до кожної машини, що запускає це розширення. Marketplace не встановлює жодних воріт перевірки чи часу очікування між публікацією оновлення та його отриманням встановленими клієнтами».
З точки зору MITRE ATT&CK, це хрестоматійний компроміс ланцюга постачання, що забезпечує початковий доступ (T1195.002), з подальшим збором облікових даних із локального інструментарію розробки. Новим є швидкість. Вісімнадцять хвилин присутності в marketplace конвертувалися в тисячі вкрадених облікових даних, що потім уможливили злам другого рівня гіпермасштабного хостингу коду. Компрометація машини мейнтейнера, впроваджений коміт у легітимний upstream-репозиторій, замаскована задача налаштування MCP та канал push без затримки в marketplace — це чотири незалежних режими відмови, об'єднані в єдиний kill chain. Захист будь-якого з них окремо не розриває ланцюг.
Хто Постраждав
Очевидна зона ураження — всі, хто встановлював Nx Console протягом 18-хвилинного вікна 18 травня. Більш цікавою є зона ураження другого порядку. Якщо розробник у вашій фінтех-компанії, iGaming-платформі або DeFi-протоколі мав зібрані ключі AWS, GitHub PAT або сесійні токени 1Password, ці облікові дані тепер знаходяться в інвентарі TeamPCP, незалежно від того, чи стали ви вже мішенню. Угруповання останніми місяцями здобуло репутацію завдяки атакам на широко використовувані проєкти з відкритим кодом та інструменти, пов'язані з безпекою, що означає: зібрані облікові дані використовуються у наступній кампанії, а не спалюються заради разового викупу.
Регульовані вертикалі несуть найважчий хвіст наслідків. Ліцензований iGaming-оператор, чиї AWS production-ключі були на ноутбуці розробника із запущеним Nx Console, тепер веде розмову про регуляторне розкриття інформації — навіть якщо жодної експлуатації не відбулося, оскільки більшість ігрових комісій та еквівалентні фінтех-регулятори вимагають сповіщення про факт витоку облікових даних, а не лише про підтверджений злам. Юридичний радник будь-якої компанії під наглядом FCA, MGA або NYDFS цього тижня повинен запитати VP of Engineering, чи є у компанії інвентар витоку облікових даних, прив'язаний до вікна 18 травня, — бо це питання прозвучить під присягою, якщо протягом наступних 90 днів виявиться інцидент нижче за ланцюгом.
Постачальники інструментарію «developer experience» також під ударом. Кожна внутрішня platform-команда, яка будувала наратив «ми прискорюємо інженерів, куруючи пакет розширень», тепер змушена захищати цю курацію як контроль безпеки, а не як продуктивну функцію. Математика «build vs buy» змінюється. Якщо ціннісна пропозиція вашої platform-команди передбачала, що marketplace-розширення є безпечними за замовчуванням, то у специфікації матеріалів щойно з'явився новий рядок під назвою «провенанс розширень і відкат». Цей рахунок потрапить на стіл CFO в наступному бюджетному циклі, і це буде боротьба.
План Дій для Команд Безпеки
Короткий список дій, що варті виконання цього тижня, у порядку пріоритету. По-перше, отримайте телеметрію встановлень nrwl.angular-console у вашому парку розробників та зіставте з тими, чиї машини були онлайн між 12:30 і 12:48 UTC 18 травня. Виконайте ротацію кожного типу облікових даних, на який орієнтувався викрадач: сесії 1Password, конфігурації Claude Code, npm-токени, GitHub PAT та SSH-ключі, ключі доступу AWS. Не покладайтеся на закінчення терміну дії короткочасних токенів — виконайте ротацію довгострокових issuer теж.
По-друге, вимкніть автооновлення у VS Code, Cursor та будь-якому Code-форку, що використовується у вашій інженерній організації. Так, ви успадкуєте накопичений борг з патчингу. Цей борг тепер є явним, керованим ризиком, що краще, ніж неявний push-канал від будь-якого скомпрометованого мейнтейнера. Доповніть це внутрішнім allowlist розширень, керованим platform-командою, та карантином від 24 до 72 годин перед поширенням нових версій на машини розробників.
По-третє, проведіть аудит того, що зберігається на кінцевих точках розробників у відкритому тексті або у незаблокованих сховищах. Якщо ваші інженери мають production AWS-ключі у ~/.aws/credentials без примусового MFA на рівні прийняття ролей, інцидент з Nx Console — це безкоштовний попередній перегляд того, що відбудеться, коли цей патерн зустрінеться з компетентним зловмисником. Перейдіть на короткочасні облікові дані, що видаються через SSO та внутрішній брокер. За необхідності зіставляйте CVE-атрибуцію із записами MITRE у міру появи рекомендацій.
Head of Platform цього тижня повинен поставити CFO єдине питання: яка вартість одного скомпрометованого ноутбука розробника у вашому середовищі, виражена у регуляторній відповідальності плюс витрати праці на ротацію облікових даних плюс вартість сповіщення клієнтів. Якщо ця цифра не фігурує десь на слайді до кінця кварталу, то рішення про архітектурну ізоляцію кінцевих точок, ефемерні dev-середовища та управління розширеннями приймається без цінника — тобто погано.
Ключові Висновки
- 18-хвилинного вікна в marketplace виявилося достатньо для викрадення 3 800 внутрішніх репозиторіїв GitHub. Глибокий захист кінцевих точок розробників більше не є опціональним.
- Автооновлення marketplace — це прямий push-канал від будь-якого скомпрометованого мейнтейнера до кожного встановленого клієнта без жодних воріт перевірки. Розглядайте його як закупівельний ризик, а не функцію зручності.
- Патерн TeamPCP — це рециклювання облікових даних через ланки ланцюга постачання. Якщо ваші розробники були скомпрометовані через TanStack або Nx, вважайте, що облікові дані вже в інвентарі для наступної кампанії.
- Регульовані вертикалі (iGaming, фінтех, криптовалюти) мають зобов'язання щодо розкриття інформації про витік облікових даних, а не лише про підтверджений злам. Створіть інвентар витоку зараз.
- Platform-команди, що позиціонували куровані пакети розширень як продуктивний інструмент, тепер несуть відповідальність за цю курацію як контроль безпеки — з відповідними бюджетними наслідками.
Часті Запитання
Q: Як насправді розпочався злам GitHub через Nx Console?
Команда Nx розкрила, що система одного з їхніх розробників була скомпрометована внаслідок попередньої атаки на ланцюг постачання TanStack. Зловмисники використали цей доступ для публікації отруєної версії розширення Nx Console для VS Code, яка потім запустилася на машині співробітника GitHub і зібрала облікові дані, використані для доступу до внутрішніх репозиторіїв.
Q: Які облікові дані вкрало шкідливе розширення Nx Console?
За даними дослідників OX Security та Aikido, викрадач облікових даних орієнтувався на сховища 1Password, конфігурації Anthropic Claude Code, npm-токени, облікові дані GitHub та ключі доступу AWS. Payload виконувався під час запуску розширення через shell-команду, замасковану під рутинну задачу налаштування MCP.
Q: Чи повинні інженерні команди вимкнути автооновлення розширень VS Code?
Для більшості середовищ, чутливих до безпеки, — так, принаймні тимчасово. Автооновлення дає будь-якому скомпрометованому видавцю прямий шлях до кожного встановленого клієнта без жодних воріт перевірки — саме так 18-хвилинне вікно Nx Console завдало такої великої шкоди. Поєднайте відключення автооновлення з внутрішнім allowlist та коротким карантинним періодом перед тим, як нові версії розширень потраплять на машини розробників.
Claude Mythos Знаходить 10 000 Zero-Day Вразливостей, Конвеєр Патчів Зламано
Claude Mythos Preview від Anthropic знайшов понад 10 000 zero-day за місяць. Виправлено лише 97. 90-денне вікно координованого розкриття втратило сенс.
$20 за Zero-Day: Плагіни WordPress стали мисливськими угіддями для ШІ
За три дні ШІ-пайплайн знайшов 300+ zero-day у плагінах WordPress по $20 кожен. Інфраструктура розкриття вразливостей не готова, а зловмисники вже діють за тією самою схемою.
Drupal CVE-2026-9082 Змушує PostgreSQL-Сайти до Екстреного Патчингу
Критична вразливість Drupal Core CVE-2026-9082 дозволяє анонімним зловмисникам атакувати PostgreSQL-сайти через SQL ін'єкцію з можливістю виконання коду.




