Взлом GitHub через расширение Nx Console: утечка 3 800 репозиториев
Каждый CTO, утвердивший политику «разработчики могут устанавливать любые расширения VS Code, какие им нужны» во имя производительности, теперь получил незапланированную статью расходов. На этой неделе GitHub подтвердил, что его собственные внутренние репозитории были взломаны через отравленное расширение Nx Console, запущенное на машине сотрудника. Если компания, которая создаёт реестр, где хранится код всего мира, может быть атакована через расширение из маркетплейса, то архитектурное допущение о том, что эндпоинты разработчиков — это активы с малым радиусом поражения, официально устарело.
Что произошло
В среду 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 года. Этого оказалось достаточно. Полезная нагрузка представляла собой стилер учётных данных, нацеленный на хранилища 1Password, конфигурации Anthropic Claude Code, npm-токены, учётные данные GitHub и ключи AWS. Сама схема атаки показательна: похитить учётные данные одной группы доверенных разработчиков, а затем использовать их для компрометации следующего доверенного инструмента.
Команда Nx раскрыла, что система их разработчика была скомпрометирована в результате атаки на цепочку поставок TanStack, которая также затронула OpenAI, Mistral AI и Grafana Labs. Уэйлс отметила, что некоторые внутренние репозитории GitHub содержат данные, полученные от клиентов, включая фрагменты переписки в службе поддержки, и пообещала уведомить клиентов в случае выявления последствий. Джефф Кросс, сооснователь Narwhal Technologies (компании, стоящей за nx.dev), написал в X, что «многие из допущений, на которых экосистема работала годами, больше не действуют», и сообщил о начале переговоров с другими известными мейнтейнерами о структурных изменениях в распространении программного обеспечения с открытым исходным кодом.
Техническая анатомия атаки
Механика атаки заслуживает детального разбора, поскольку она напрямую влияет на решения в области закупок и архитектуры. Исследователь OX Security Нир Задок точно описал полезную нагрузку: «Расширение выглядело и вело себя как обычная Nx Console, но при запуске оно незаметно выполняло одну команду оболочки, которая загружала и запускала скрытый пакет из подсаженного коммита в официальном репозитории nrwl/nx на GitHub». Команда оболочки была замаскирована под рутинную задачу настройки MCP. Вредоносный пакет размещался не на инфраструктуре злоумышленников, а скрывался внутри подсаженного коммита в настоящем репозитории — а значит, проверки подписей и инструменты анализа репутации доменов никогда бы не сработали.
Второй механизм — распространение. Исследователь Aikido Рафаэль Силва указал на структурный изъян: «Каждый популярный маркетплейс расширений поставляется с включённым автообновлением по умолчанию. VS Code, Cursor — весь этот ряд». Автообновление существует потому, что большинство разработчиков никогда не патчат вручную, а его отключение оставило бы долгий хвост устаревших уязвимых редакторов. Тезис Силвы острее, чем кажется на первый взгляд. «Компромисс теряет смысл, когда учитываешь враждебных или скомпрометированных издателей. Автообновление даёт злоумышленнику, контролирующему релиз, прямой канал доставки на каждую машину с установленным расширением. Маркетплейсы не вводят никаких проверочных барьеров или периодов ожидания между публикацией обновления и его загрузкой клиентами».
В терминах MITRE ATT&CK это классическая компрометация цепочки поставок для получения первоначального доступа (T1195.002), за которой следует сбор учётных данных из локальных инструментов разработки. Новым является скорость. Восемнадцать минут присутствия в маркетплейсе конвертировались в тысячи похищенных учётных данных, которые затем обеспечили взлом второго уровня крупнейшего хостинга кода. Компрометация машины мейнтейнера, подсаженный коммит в легитимный upstream-репозиторий, замаскированная задача настройки MCP и канал нулевой задержки маркетплейса — это четыре независимых режима отказа, объединённых в единую цепочку атаки. Защита любого из них по отдельности не разрывает цепочку.
Кто пострадает
Очевидная зона поражения — все, кто установил Nx Console в течение 18-минутного окна 18 мая. Более интересна зона поражения второго порядка. Если разработчик вашей финтех-компании, iGaming-платформы или DeFi-протокола имел ключи AWS, GitHub PAT или сессионные токены 1Password, которые были похищены, эти учётные данные теперь находятся в инвентаре TeamPCP — вне зависимости от того, стали ли вы целью атаки. Группа заработала репутацию в последние месяцы, охотясь за широко используемыми проектами с открытым исходным кодом и инструментами в области безопасности, а это означает, что похищенные учётные данные используются в следующих кампаниях, а не сжигаются ради единовременного выкупа.
Регулируемые отрасли несут наибольшую нагрузку. Лицензированный iGaming-оператор, чьи производственные ключи AWS находились на ноутбуке разработчика с Nx Console, теперь участвует в разговоре о регуляторном раскрытии информации — даже если эксплуатации не произошло, поскольку большинство игровых комиссий и их финтех-аналоги требуют уведомления об утечке учётных данных, а не только о подтверждённом взломе. Юрист любой компании под надзором FCA, MGA или NYDFS должен спросить вице-президента по инжинирингу на этой неделе, есть ли у компании инвентарь утечек учётных данных, привязанный к окну 18 мая, — потому что этот вопрос будет задан под присягой, если в течение следующих 90 дней всплывёт инцидент с последствиями.
Поставщики инструментов «developer experience» также под ударом. Каждая внутренняя платформенная команда, которая выстраивала нарратив вокруг «мы ускоряем инженеров, курируя набор расширений», теперь вынуждена защищать это курирование как инструмент безопасности, а не функцию производительности. Математика «строить vs покупать» меняется. Если ценностное предложение вашей платформенной команды строилось на допущении, что расширения из маркетплейса — это безопасная инфраструктура по умолчанию, в перечень затрат только что добавилась новая строка — «происхождение расширений и возможность отката». Этот счёт ляжет на стол CFO в следующем бюджетном цикле, и за него придётся бороться.
План действий для команд безопасности
Краткий список действий, которые стоит выполнить на этой неделе, в порядке приоритета. Во-первых, получите телеметрию установок nrwl.angular-console по всему парку машин разработчиков и сопоставьте с теми, чьи машины были в сети с 12:30 до 12:48 UTC 18 мая. Смените все типы учётных данных, на которые нацелился стилер: сессии 1Password, конфигурации Claude Code, npm-токены, GitHub PAT и SSH-ключи, ключи доступа AWS. Не рассчитывайте на то, что истечение срока действия краткосрочных токенов вас спасёт, — меняйте также долгосрочных эмитентов.
Во-вторых, отключите автообновление в VS Code, Cursor и любых форках Code, которые использует ваша инженерная организация. Да, вы унаследуете накопленный долг по патчингу. Но этот долг теперь является явным, управляемым риском, что предпочтительнее неявного канала доставки от любого скомпрометированного мейнтейнера. Дополните это внутренним списком разрешённых расширений под управлением платформенной команды и карантином от 24 до 72 часов перед тем, как новые версии попадут на машины разработчиков.
В-третьих, проведите аудит того, что хранится на эндпоинтах разработчиков в открытом виде или в разблокированных хранилищах. Если ваши инженеры хранят производственные ключи AWS в ~/.aws/credentials без принудительного MFA на уровне принятия ролей, инцидент с Nx Console — это ваш бесплатный предпросмотр того, что происходит, когда такой паттерн встречает компетентного злоумышленника. Перейдите на краткосрочные учётные данные, выдаваемые через SSO и внутренний брокер. При необходимости сверяйте атрибуцию CVE с записями MITRE по мере выхода рекомендаций.
Руководитель платформы должен задать CFO на этой неделе один вопрос: какова стоимость одного скомпрометированного ноутбука разработчика в нашей среде, измеренная в регуляторных рисках плюс трудозатраты на смену учётных данных плюс стоимость уведомления клиентов. Если этой цифры нет ни в одном слайде к концу квартала, то архитектурные решения об изоляции эндпоинтов, эфемерных средах разработки и управлении расширениями принимаются без ценника — то есть принимаются неверно.
Ключевые выводы
- Восемнадцатиминутного окна в маркетплейсе хватило, чтобы похитить 3 800 внутренних репозиториев GitHub. Эшелонированная защита эндпоинтов разработчиков больше не является опциональной.
- Автообновление маркетплейса — это прямой канал доставки от любого скомпрометированного мейнтейнера на каждый установленный клиент без каких-либо проверочных барьеров. Рассматривайте это как риск закупок, а не функцию удобства.
- Паттерн TeamPCP — повторное использование учётных данных в цепочке поставок. Если ваши разработчики были затронуты через TanStack или Nx, считайте, что учётные данные уже в инвентаре для следующей кампании.
- Регулируемые отрасли (iGaming, финтех, крипто) несут обязательства по раскрытию информации об утечке учётных данных, а не только о подтверждённом взломе. Создайте инвентарь утечек уже сейчас.
- Платформенные команды, продававшие курированные наборы расширений как историю про производительность, теперь несут ответственность за это курирование как за инструмент безопасности — со всеми вытекающими бюджетными последствиями.
Часто задаваемые вопросы
В: Как именно начался взлом GitHub через Nx Console?
Команда Nx раскрыла, что система одного из их разработчиков была скомпрометирована вследствие предшествующей атаки на цепочку поставок TanStack. Злоумышленники использовали этот доступ для публикации отравленной версии расширения Nx Console для VS Code, которая затем запустилась на машине сотрудника GitHub и похитила учётные данные, использованные для доступа к внутренним репозиториям.
В: Какие учётные данные похитило вредоносное расширение Nx Console?
По данным исследователей OX Security и Aikido, стилер учётных данных был нацелен на хранилища 1Password, конфигурации Anthropic Claude Code, npm-токены, учётные данные GitHub и ключи доступа AWS. Полезная нагрузка выполнялась при запуске расширения через команду оболочки, замаскированную под рутинную задачу настройки MCP.
В: Следует ли инженерным командам отключить автообновление расширений VS Code?
Для большинства сред с высокими требованиями к безопасности — да, хотя бы временно. Автообновление даёт любому скомпрометированному издателю прямой путь к каждому установленному клиенту без проверочного барьера — именно так 18-минутное окно Nx Console нанесло столь значительный ущерб. Дополните отключение автообновления внутренним списком разрешённых расширений и коротким периодом карантина перед тем, как новые версии расширений попадут на машины разработчиков.
Claude Mythos находит 10 000 уязвимостей нулевого дня, а конвейер патчей ломается
Claude Mythos Preview от Anthropic обнаружил более 10 000 уязвимостей нулевого дня за месяц. Исправлено только 97. 90-дневное окно раскрытия перестало иметь смысл.
Zero-Day за $20: плагины WordPress стали мишенью для ИИ-охотников
За три дня ИИ-пайплайн нашёл более 300 zero-day уязвимостей в плагинах WordPress по $20 за каждую. Инфраструктура раскрытия не справляется, а злоумышленники уже используют те же методы.
Drupal CVE-2026-9082 вынуждает PostgreSQL-сайты срочно устранять уязвимость
Критическая уязвимость Drupal Core CVE-2026-9082 позволяет анонимным атакующим проводить SQL-инъекцию на сайтах с PostgreSQL, что может привести к удалённому выполнению кода.




