Экосистема разработки переживает один из самых серьезных кризисов безопасности за последние годы. Недавно Microsoft и принадлежащий ей сервис GitHub официально подтвердили факт компрометации: злоумышленники получили несанкционированный доступ к внутренним репозиториям GitHub.
Самое ироничное и пугающее в этой ситуации — это вектор атаки. Как метко отметил один из ИБ-специалистов в соцсетях: «GitHub компании Microsoft был взломан из-за того, что разработчик Microsoft, используя редактор VS Code от Microsoft, установил вредоносное расширение из официального маркетплейса VS Code, который модерируется и хостится самой Microsoft».
Разбираемся, как устроена эта цепочка заражения, почему концепция «безопасных автообновлений» превратилась в угрозу и почему ИБ-сообщество требует от Microsoft радикальной перестройки своих платформ.
Анатомия взлома: Цепочка поставок в действии
Первоначально многие предполагали, что атака была совершена через уязвимости в реестре npm, который в последнее время штурмует масштабная вредоносная кампания Mini Shyut (Shyrellet). Однако реальность оказалась еще хуже. Источником проблемы стал официальный маркетплейс расширений VS Code.
Официальные лица GitHub подтвердили:
«Мы обнаружили и локализовали компрометацию устройства сотрудника, связанную с отравленным расширением VS Code. Текущая оценка показывает, что действия злоумышленников привели к эксфильтрации (краже) внутренних репозиториев GitHub. Заявления атакующих о краже 3800 репозиториев директивно согласуются с ходом нашего расследования».
Главный подозреваемый: Расширение NX Console
Вскоре после заявления Microsoft Джефф Кросс, генеральный директор компании Narwhal (создатели популярного инструмента для монорепозиториев NX), взял на себя часть ответственности и подтвердил, что атака произошла через их расширение NX Console, которое имеет более 2,2 млн скачиваний и верифицированный статус (Verified Publisher Badge).
Хронология инцидента выглядит следующим образом:
- Кража токена: В ходе одной из предыдущих атак на цепочки поставок (червь Shyrellet) хакеры перехватили GitHub-токен одного из контрибьюторов NX.
- Публикация малвари: Используя этот токен, злоумышленники загрузили вредоносную версию NX Console (версия
10.1при чистой10.0) в Visual Studio Marketplace и Open VSX. - Окно уязвимости: Вредоносная версия была доступна в маркетплейсе Microsoft всего 18 минут, после чего ее удалили. Однако этого времени хватило, чтобы заразить тысячи машин.
Почему 18 минут хватило для катастрофы? Проблема автообновлений
Казалось бы, если расширение удалили через 18 минут, масштаб должен быть минимальным. Но в современных редакторах (VS Code, Cursor и др.) функция автоматического обновления включена по умолчанию.
Маркетплейс Microsoft не имеет буферной зоны или задержки перед отправкой обновления клиентам. Как только разработчик нажимает кнопку, код улетает пользователям. Более того, VS Code проверяет обновления не просто по таймеру (раз в 12 часов), а при каждом открытии боковой панели расширений или поиске по маркетплейсу.
Тысячи разработчиков по всему миру, у которых в этот момент был открыт VS Code, автоматически скачали вредоносный код за эти 18 минут. Причем простое удаление пакета из маркетплейса Microsoft не лечит уже зараженные машины — разработчики оставались с версией 10.1, пока авторы вручную не выпустили чистую версию 10.2, чтобы принудительно перебить вредоносный апдейт.
Главный парадокс современной безопасности: Раньше своевременные обновления были залогом безопасности. Сегодня, в эпоху скомпрометированных токенов разработчиков, автообновление — это прямой канал доставки малвари на ваш ПК.
У хакеров слишком много данных (и у них есть ИИ)
Вредоносный код, попадая на машину разработчика через VS Code, моментально сканирует систему на наличие паролей, SSH-ключей, токенов AWS, npm и GitHub-секретов.
Масштаб проблемы в том, что волна атак Shyrellet (начавшаяся еще в конце 2025 года с компрометации Async API) создала у хакеров колоссальную базу украденных данных. Эксперты сходятся во мнении, что злоумышленники физически не успевают обрабатывать терабайты украденных ключей вручную.
Скорее всего, они используют автоматизированных ИИ-агентов, которые крутятся в бесконечном цикле: берут токен из базы, проверяют его валидность, определяют, к какому репозиторию он дает доступ, и автоматически публикуют туда новые вредоносные обновления. Это порождает самоподдерживающуюся волну взломов.
Что должна сделать Microsoft?
Сторонние ИБ-стартапы (такие как Socket или Aikido) сегодня обнаруживают и анализируют эти угрозы гораздо быстрее и эффективнее, чем технологический гигант с триллионной капитализацией. У Microsoft отсутствует базовая культура безопасности вокруг своих платформ дистрибуции.
Для исправления ситуации необходимо внедрить четыре простых шага:
- Автоматический аудит обновлений: Если пакет (в npm или VS Code) имеет более 1000 скачиваний, любое его обновление должно автоматически проверяться ИИ-агентами безопасности на предмет обфускации и подозрительного кода до того, как оно попадет в общий доступ.
- Staging (Буферная зона): Новые версии не должны автоматически рассылаться пользователям в первые часы после публикации. Должно быть «безопасное окно» (например, 12 часов) для выявления жалоб.
- Механизм отзыва (Takedown & Rollback): У авторов должна быть «красная кнопка» в панели управления, которая не просто удаляет пакет, а отправляет клиентам принудительный сигнал: «Предыдущая версия была малварью, немедленно откатитесь назад и сбросьте ключи».
- Оповещения: Системы сборки (CI/CD) должны сканировать локальные зависимости по базе известных скомпрометированных хэшей и намертво блокировать сборку при обнаружении опасности.
Заключение
Перекладывать ответственность на плечи open-source maintainers (создателей бесплатного ПО) — это тупиковый путь. Разработчики не должны в одиночку противостоять целевым атакам, фишингу и SIM-своппингу.
Маркетплейс VS Code, GitHub Actions и реестр npm — это инфраструктура, которой полностью владеет Microsoft. И пока корпорация не перестроит саму логику работы своих платформ и не ликвидирует слепое доверие к автообновлениям, под угрозой уничтожения будет находиться вся мировая индустрия программного обеспечения.
На основе This is bad...
