Новости ИИ

Взлом VS Code: 18 минут, которые потрясли GitHub

Heli
Автор
Heli
Опубликовано 28.05.2026
0,0
Views 16

18 мая 2026 года группировка TeamPCP опубликовала вредоносную версию расширения Nx Console (версия 18.95.0) в VS Code Marketplace. Расширение провисело там ровно 18 минут, с 12:30 до 12:48 UTC, прежде чем его удалили. За это время автообновление успело раздать заражённую версию пользователям.

Один из разработчиков GitHub установил обновление и запустил вредоносный payload, который при открытии workspace молча собрал AWS-ключи, npm-токены, GitHub-учётные данные, конфигурации 1Password и Claude Code, после чего отправил всё на серверы атакующих.

Итог: TeamPCP получила доступ примерно к 3 800 внутренних репозиториев GitHub.

CVE-2026-48027. Nx Console — это 2,2 миллиона установок на Marketplace, верифицированный издатель, официальный UI для Nx — монорепо-системы от компании Nrwl, которую используют Google, Microsoft и тысячи enterprise-команд. GitHub подтвердил, что пользовательские репозитории инцидент не затронул — только внутренние.

Как это произошло

Вредоносная версия тянула обфусцированный payload из специально подготовленного коммита в официальном репозитории nrwl/nx на GitHub. Атакующие скомпрометировали аккаунт одного из мейнтейнеров и от его имени запушили заражённую версию. Хитрость была в том, что вредоносный код не лежал прямо в расширении — версия 18.95.0 при установке подтягивала payload динамически из коммита в том же официальном репозитории. Это позволило обойти статический анализ Marketplace.

VS Code по умолчанию автоматически обновляет расширения. Пользователи получили версию 18.95.0 без уведомлений и подтверждений. Триггером активации стало открытие workspace в VS Code — расширение Nx Console легитимно читает конфигурацию проекта, что стало идеальным прикрытием для запуска вредоносного кода.

Payload молча собрал AWS credentials из ~/.aws/credentials и переменных окружения, npm токены из ~/.npmrc, GitHub credentials из ~/.gitconfig, GitHub CLI и SSH ключей, конфигурации 1Password — пути к хранилищам и сессии, а также настройки Claude Code — API ключи, истории промптов, кастомные навыки. Всё было отправлено на контролируемые атакующими серверы через зашифрованные каналы.

На машине разработчика GitHub хранились credentials с доступом к ~3800 внутренних приватных репозиториев, инфраструктурным конфигурациям, внутренним инструментам разработки и CI/CD секретам. TeamPCP получила доступ ко всему.

Официальная реакция и шантаж

GitHub подтвердил инцидент и заявил: "Инцидент затронул только внутренние репозитории GitHub. Пользовательские репозитории не скомпрометированы. Мы провели ротацию всех потенциально затронутых credentials, усилили мониторинг и работаем с правоохранительными органами."

Важный нюанс: пользовательские данные на github.com действительно не пострадали. Но утечка внутренних репозиториев может содержать непубличные уязвимости в GitHub Enterprise, планы развития продукта, внутренние инструменты безопасности и алгоритмы модерации и антифрода.

TeamPCP объявила, что продаст всё одному покупателю за $50 000. Если покупатель не найдётся — опубликует бесплатно. Это классическая модель вымогательства в атаках supply chain: жертва (GitHub) не может заплатить напрямую по юридическим причинам, но есть шанс, что кто-то из конкурентов или государственных акторов купит данные, чтобы не допустить публикации.

Идеальный шторм для Microsoft

Это подходящий момент сказать пару слов про комбо-атаку на экосистему Microsoft. Разработчик Microsoft (GitHub принадлежит Microsoft с 2018 года) поставил расширение из Microsoft Marketplace (VS Code Marketplace управляется Microsoft) в редакторе VS Code от Microsoft и получил вредоносное ПО. К-к-к-комбо!

Это perfect storm для репутации сразу по трём направлениям: провал модерации Marketplace — верифицированный издатель с миллионами установок опубликовал malware; провал безопасности GitHub — мейнтейнер крупного проекта был скомпрометирован; провал изоляции VS Code — расширение получило доступ к критичным credentials.

Что пошло не так

В отличие от мобильных платформ, VS Code не требует криптографической подписи кода. Любой с доступом к аккаунту издателя может опубликовать что угодно. Расширения VS Code работают в том же процессе, что и редактор, с полным доступом к API Node.js — они могут читать файлы, делать сетевые запросы, выполнять системные команды.

Пользователи не могут отключить автообновление для отдельных расширений или откатиться на предыдущую версию без ручной манипуляции файлами. AWS ключи, npm токены, GitHub PAT часто лежат в конфигах без шифрования — любой процесс с доступом к файловой системе может их украсть. VS Code не отслеживает подозрительную активность расширений: массовое чтение конфигов, сетевые запросы на неизвестные домены, обфускацию кода.

Уроки для индустрии

Разработчикам стоит начать аудировать permissions расширений перед установкой, отключить автообновление для критичных расширений, использовать credential managers типа 1Password или Vault вместо plaintext, сегментировать доступы через отдельные машины для критичной работы и мониторить сетевую активность через Little Snitch или Glasswire.

Вендорам вроде Microsoft и JetBrains необходимо внедрить обязательный code signing как в Apple App Store, создать песочницы для расширений с изоляцией процессов и permissions API, добавить runtime monitoring для детекта аномальной активности, использовать gradual rollout вместо раздачи обновлений всем одновременно и вводить ручную проверку для расширений с более чем миллионом установок.

Open source проектам критически важно требовать обязательную 2FA для мейнтейнеров, подписанные коммиты через GPG/SSH, code review для всех изменений даже от core team, автоматический анализ на вредоносный код в CI и публичные transparency logs для аудита всех релизов.

А что насчёт OpenIDE Marketplace?

Нельзя не упомянуть иронию ситуации в контексте OpenIDE Marketplace — альтернативного маркетплейса для VS Code расширений, который позиционируется как более безопасный благодаря ручной модерации каждого обновления, децентрализованной верификации издателей, open source инфраструктуре и community-driven security audits.

Конечно, нельзя утверждать, что OpenIDE Marketplace полностью защищён от подобных атак. Но инцидент с Nx Console показывает: централизованный контроль без должной модерации не гарантирует безопасность. Факт остаётся фактом: разработчик Microsoft, используя продукты Microsoft, получил malware через Microsoft Marketplace. Да ладно, рофлю. Но всё же немного не посмаковать её я не могу.

Что делать прямо сейчас

Если вы использовали Nx Console версию 18.95.0, немедленно ротируйте все credentials: AWS ключи, GitHub Personal Access Tokens, npm токены, API ключи сервисов вроде Anthropic и OpenAI. Проверьте логи доступа в AWS CloudTrail, GitHub audit log и npm access logs. Включите алерты на уведомления о новых SSH ключах в GitHub, необычную активность в AWS и мониторинг публикаций в npm. Просканируйте систему антивирусом, проверьте на persistence механизмы и проанализируйте сетевые подключения.

Атака на Nx Console — это не единичный инцидент, а симптом системной проблемы. Supply chain атаки становятся основным вектором для компрометации enterprise-систем: 2020 — SolarWinds (18 000 компаний через обновление софта), 2021 — CodeCov (утечка credentials через bash uploader), 2024 — XZ Utils (backdoor в компрессионной библиотеке), 2026 — Nx Console (3800 репозиториев GitHub за 18 минут).

Индустрия должна перейти от trust by default к verify everything: code signing, reproducible builds, dependency pinning, runtime sandboxing, continuous monitoring. Иначе следующий инцидент может затронуть не 3800 репозиториев, а миллионы пользователей.

Авторизуйтесь, чтобы оставить комментарий.

Комментариев: 0

Нет комментариев.

Тут может быть ваша реклама

Пишите info@aisferaic.ru

Похожие новости