Опубликовано: 20.05.2026г.

Масштабная утечка на GitHub: тысячи репозиториев скомпрометированы через зараженное расширение VS Code

20 мая GitHub подтвердил, что зараженное расширение для редактора кода VS Code, установленное на устройстве одного из сотрудников, предоставило злоумышленникам доступ примерно к 3800 внутренним репозиториям на платформе для хранения и разработки кода, принадлежащей Microsoft. Ответственность за инцидент взяла на себя хакерская группа TeamPCP, официально отслеживаемая подразделением Google по анализу угроз как UNC6780. Группа выставила украденные репозитории на продажу по цене от 50 000 долларов США. По оценке GitHub, заявления злоумышленников «в целом соответствуют» результатам текущего расследования. Компании Trend Micro, StepSecurity и Snyk с марта отслеживают деятельность TeamPCP, связанную как минимум с семью волнами червя Mini Shai-Hulud, атакующего цепочки поставок.

Взлом GitHub не был единичным случаем. В тот же день новая волна червя Mini Shai-Hulud использовала поддельные криптографические доказательства подлинности для 639 вредоносных версий пакетов npm (популярный менеджер пакетов для JavaScript). Днем ранее злоумышленники скомпрометировали расширение VS Code с 2,2 миллионами установок. В тот же день компания Wiz обнаружила, что TeamPCP скомпрометировала Python SDK Microsoft Durabletask на PyPI (репозиторий пакетов Python). И в то же утро Отчет об исследованиях утечек данных (DBIR) Verizon за 2026 год показал, что 67% сотрудников получают доступ к инструментам ИИ через некорпоративные учетные записи. Пять критических точек в цепочке поставок были скомпрометированы за 48 часов. В том же месяце были раскрыты еще два класса атак на агенты ИИ, завершившие картину угроз. Одна группа злоумышленников связана как минимум с тремя из этих инцидентов.

Подтверждение GitHub и вектор атаки

В официальном сообщении GitHub, опубликованном в X 20 мая, указывалось: «Вчера мы обнаружили и пресекли компрометацию устройства сотрудника, связанную с зараженным расширением VS Code. Мы удалили вредоносную версию расширения, изолировали конечную точку и немедленно начали реагирование на инцидент. Наша текущая оценка показывает, что деятельность была связана исключительно с эксфильтрацией (тайным извлечением) внутренних репозиториев GitHub. Текущие заявления злоумышленников о ~3800 репозиториях в целом соответствуют нашим данным». GitHub добавил, что критически важные секреты были изменены в течение ночи, при этом приоритет отдавался наиболее значимым учетным данным.

Подтверждение GitHub сузило вектор атаки до одного устройства сотрудника, но при этом радиус поражения продолжает расширяться. Компания не назвала конкретное расширение. Внутренние репозитории содержат конфигурации инфраструктуры, скрипты развертывания, промежуточные учетные данные и схемы внутренних API. Доступ к исходному коду на этом уровне — это не просто утечка данных, а утечка критически важной информации об инфраструктуре.

Издание Dark Web Informer сообщило, что объявление TeamPCP появилось на хакерском форуме за несколько часов до первоначального раскрытия информации GitHub, предлагая около 4000 приватных репозиториев. Информация о продаже была независимо подтверждена Hackmanac. Аккаунт в X, связанный с TeamPCP, xploitrsturtle2, опубликовал сообщение после подтверждения GitHub: «GitHub знал об этом часами, они медлили с уведомлением, и не будут честны в будущем. Это был удивительный забег, было честью поиграть с ‘кошками’ в течение последних нескольких месяцев».

Волна атак на цепочки поставок

Подразделение Google по анализу угроз официально отслеживает TeamPCP как UNC6780 — финансово мотивированного субъекта угроз, специализирующегося на атаках на цепочки поставок, ориентированных на утилиты безопасности с открытым исходным кодом и промежуточное ПО для ИИ. Trend Micro зафиксировала «по меньшей мере семь подтвержденных волн», охватывающих Trivy (март 2026), Checkmarx KICS, LiteLLM, elementary-data, Bitwarden CLI, TanStack (11 мая) и Mistral AI (12 мая). StepSecurity, Snyk и Trend Micro с высокой степенью уверенности оценивают инциденты, связанные с Trivy, Bitwarden CLI и TanStack, основываясь на совпадении инструментария. Подтверждение GitHub от 20 мая о том, что взлом произошел через зараженное расширение VS Code, согласуется с точным вектором атаки, который TeamPCP использовала на протяжении 2026 года.

Сооснователь Binance, CZ, незамедлительно опубликовал сообщение: «Если у вас есть ЛЮБЫЕ приватные репозитории с открытыми секретами или конфиденциальными документами/архитектурами, немедленно смените свои секреты». Майк Ример, технический директор Ivanti, в эксклюзивном интервью сообщил, что сеть «медовых ловушек» Azure теперь фиксирует эксплуатацию известных уязвимостей менее чем за 90 секунд. Украденные учетные данные сокращают фазу разведки, которая предшествует эксплуатации. Каждый секрет на стороне GitHub, который попадает к покупателю, ускоряет любой путь атаки, который этот покупатель уже использует.

Червь, который подделывает подлинность

За несколько часов до раскрытия информации GitHub, Endor Labs обнаружила 42 вредоносных пакета npm, опубликованных с 04:39 до 05:06 по московскому времени 19 мая. Более широкий анализ Socket показал, что полная волна включала 639 вредоносных версий в 323 пакетах внутри экосистемы визуализации данных @antv Alibaba, что составляет около 16 миллионов еженедельных загрузок.

Эта волна атак представила подделку доказательства подлинности. Червь теперь вызывает Fulcio и Rekor во время выполнения, чтобы генерировать действительные сертификаты подписи Sigstore для каждого распространяемого им пакета. Инструменты проверки подлинности показывают «зеленый значок». Однако цепочка сборки принадлежит злоумышленнику. «Аттестация доказывает, где был создан пакет. Она не доказывает, что сборка была авторизована», — заявили в Endor Labs.

По словам Пейтона Кеннеди, старшего исследователя безопасности в Endor Labs, «TanStack имела правильную конфигурацию на бумаге: доверенная публикация через OIDC (OpenID Connect — протокол аутентификации), подписанное доказательство подлинности, двухфакторная аутентификация (2FA) для каждой учетной записи сопровождающего. Однако атака все равно сработала. Каждая волна выбирала все более популярную цель и внедряла более технически интересный вектор доступа».

Поздно вечером 12 мая vx-underground сообщило, что TeamPCP выложила в открытый доступ полностью вооруженный код червя Shai-Hulud. Уже появились его копии, что усложняет атрибуцию. Кеннеди предоставил первоначальный метод обнаружения: запустите find . -name 'router_init.js' -size +1M по каталогам проекта и поищите хеш 79ac49eedf774dd4b0cfa308722bc463cfe5885c в файле package-lock.json. Если будет найдено совпадение, изолируйте и создайте образ машины, прежде чем отзывать какие-либо токены. Деструктивный демон червя активируется при отзыве.

Компрометация GitHub Actions

Также 19 мая злоумышленники скомпрометировали популярный рабочий процесс GitHub Actions actions-cool/issues-helper, перенаправив каждый существующий тег в репозитории на поддельный коммит (фиксацию изменений), который не отображается в обычной истории коммитов действия. «Этот коммит содержит вредоносный код, который эксфильтрует учетные данные из конвейеров CI/CD (непрерывной интеграции/непрерывной доставки), использующих это действие», — сказал исследователь StepSecurity Варун Шарма. С тех пор GitHub отключил доступ к репозиторию.

Домен эксфильтрации (t.m-kosche[.]com) совпадает с доменом, использованным в волне Mini Shai-Hulud @antv, что связывает эти два кластера. Затронуты оказались только те рабочие процессы, которые были привязаны к заведомо надежному полному хешу-сумме (SHA) коммита.

Атака на Microsoft Python SDK

Через несколько часов после волны @antv, Wiz обнаружила, что TeamPCP скомпрометировала durabletask — официальный клиент Microsoft Python для фреймворка выполнения рабочих процессов Durable Task. Три вредоносных версии (1.4.1, 1.4.2 и 1.4.3) были опубликованы на PyPI в течение 35 минут 19 мая. Цепочка атаки была прямой: учетная запись GitHub, скомпрометированная в ходе предыдущей операции TeamPCP, все еще имела доступ к репозиторию microsoft/durabletask-python. Злоумышленник выгрузил секреты GitHub, извлек токен публикации PyPI и напрямую выпустил зараженные версии. PyPI поместил все три версии в карантин.

Анализ StepSecurity показал, что полезная нагрузка загружает дроппер (небольшую программу, загружающую основное вредоносное ПО) rope.pyz размером 28 КБ, который крадет учетные данные из AWS, Azure, GCP, Kubernetes и более чем 90 конфигураций инструментов разработчика, а затем распространяется в облачной инфраструктуре. Полезная нагрузка пропускает системы с русской локалью (языковыми и региональными настройками). Пакет durabletask имеет в среднем более 400 000 загрузок ежемесячно.

Уязвимость расширений VS Code

18 мая злоумышленники опубликовали скомпрометированную версию расширения Nx Console для VS Code, установленного более 2,2 миллиона раз. Вредоносная версия собирала токены из GitHub, npm, AWS, HashiCorp Vault, Kubernetes и 1Password, а также специально нацеливалась на файлы конфигурации Claude Code, расположенные в ~/.claude/settings.json. Команда Nx удалила ее в течение 11 минут. Любой разработчик, который открывал рабочее пространство с 15:36 до 15:47 по московскому времени, запускал программу для кражи учетных данных. Днем позже GitHub подтвердил, что другое зараженное расширение VS Code стало точкой входа для взлома его собственной внутренней инфраструктуры, затронувшего 3800 репозиториев.

Как выразился один из пользователей X: «GitHub компании Microsoft был скомпрометирован, когда разработчик Microsoft, использующий Microsoft VS Code, установил вредоносное расширение из библиотеки расширений Microsoft VS Code, которая модерируется и размещается Microsoft». Вся цепочка атаки оставалась внутри экосистемы одного поставщика. Разработчики годами сообщали Microsoft о вредоносных расширениях VS Code. Публично задокументированная жалоба от декабря 2024 года просила Microsoft исправить ситуацию на торговой площадке. Восемнадцать месяцев спустя эта торговая площадка стала точкой входа для взлома самого GitHub.

Новые векторы атак с использованием ИИ

Исследование TrustFall от Adversa AI, опубликованное 7 мая, тестировало Claude Code, Gemini CLI, Cursor CLI и Copilot CLI. «Репозиторий может поставлять конфигурацию, которая автоматически одобряет и немедленно запускает MCP-сервер (сервер публикации вредоносного кода), без необходимости вызова инструмента агентом», — об этом сообщил исследователь Рони Утевски в интервью Dark Reading. Все четыре по умолчанию отвечают «Да/Доверять». Управляемая конфигурация области действия, которая могла бы заблокировать это, «редко используется». Когда Claude Code работает в безголовом режиме через GitHub Actions, диалоговое окно доверия никогда не отображается.

Комментарии к запросам на слияние как инструкции для агентов

Аонань Гуань вместе с коллегами из Университета Джонса Хопкинса, Чжэнъю Лю и Гэвином Чжуном, введя вредоносную инструкцию в заголовок запроса на слияние (pull request), наблюдали, как действие Anthropic Claude Code Security Review опубликовало собственный ключ API в качестве комментария. Та же инъекция промптов (внедрение вредоносных инструкций в запросы к ИИ) сработала против Gemini CLI Action и GitHub Copilot Agent. Anthropic классифицировала это как критическую уязвимость CVSS (общая система оценки уязвимостей) с 9,4 балла.

Инъекция промптов достигает функции eval() через легитимные вызовы API

Microsoft раскрыла CVE-2026-26030 и CVE-2026-25592 7 мая, обе критические уязвимости в Semantic Kernel. Уязвимость в Python SDK позволяла специально составленному промпту добиться удаленного выполнения кода на уровне хоста. Уязвимость в .NET SDK превратила случайно обнаруженную вспомогательную функцию передачи файлов в инструмент, который мог вызывать ИИ-модель, что позволяло совершить выход из «песочницы» (изолированной среды) из Azure Container Apps.

Социальные сети как каналы доставки полезной нагрузки вне зоны действия EDR

Отчет CrowdStrike «Ландшафт угроз для финансовых услуг за 2026 год», выпущенный 14 мая, количественно оценил рост кражи личных данных вне цепочек инструментов разработчика. Акторы, связанные с КНДР, похитили 2,02 миллиарда долларов США в цифровых активах в 2025 году, что на 51% больше по сравнению с предыдущим годом. Группа PRESSURE CHOLLIMA осуществила крупнейшую из когда-либо зарегистрированных финансовых краж: 1,46 миллиарда долларов США с помощью троянизированного программного обеспечения, распространяемого через компрометацию цепочки поставок. FAMOUS CHOLLIMA удвоила свои операции, используя ИИ-генерируемые идентификационные данные. STARDUST CHOLLIMA утроила темп своей работы. Основные каналы доставки: WhatsApp и LinkedIn, где EDR (системы обнаружения и реагирования на конечных точках) не имеет сигнала.

Адам Майерс, старший вице-президент по операциям противодействия угрозам в CrowdStrike, отметил в отчете: «Финансовые организации сталкиваются с угрозами со всех сторон, и искусственный интеллект усложняет их предотвращение. Злоумышленники используют ИИ для сокращения времени от первоначального доступа до воздействия, перемещаясь по доверенным путям быстрее, чем могут отреагировать традиционные средства защиты». Его глобальный отчет об угрозах за 2026 год показал, что 82% всех обнаружений в 2025 году были без использования вредоносного ПО. Среднее время прорыва для киберпреступности сократилось до 29 минут, при этом самый быстрый наблюдаемый случай составил 27 секунд.

Ример пояснил, что та же динамика применима и к цепочкам инструментов разработчика: «Злоумышленники ищут следующее слабое звено. Получив «ключ от дома» кого-то, можно проникнуть через «черный ход»». Украденные учетные данные разработчиков — это и есть такой «ключ».

Теневое использование ИИ и кража учетных данных

Отчет Verizon DBIR за 2026 год показал, что 45% сотрудников регулярно используют ИИ, по сравнению с 15% в прошлом году, при этом 67% обращаются к ИИ через некорпоративные учетные записи. Участие третьих сторон в утечках данных возросло до 48%.

Аудит уязвимостей в инструментах разработчика

Ни одна из перечисленных ниже уязвимостей не является «уязвимостью нулевого дня» (ранее неизвестной). Однако при комбинировании они функционируют как таковые. По словам Римера: «Можно взять множество мелких уязвимостей, объединить их и получить тот же уровень доступа. Искусственный интеллект отлично справляется с этой задачей».

  • Внутренние репозитории GitHub: Группа TeamPCP (UNC6780) похитила около 3800 внутренних репозиториев GitHub 20 мая через зараженное расширение VS Code на устройстве сотрудника. Это привело к утечке секретов, касающихся инфраструктуры безопасности и ИИ-инструментов.
    Проблема: Непрозрачность содержимого внутренних репозиториев для клиентов и влияние утечки на всех пользователей.
    Рекомендация: Смените выпущенные GitHub токены, секреты приложений OAuth и доверительные отношения OIDC для GitHub Actions.
  • Проверка подлинности пакетов npm: Волна Mini Shai-Hulud (19 мая), 639 вредоносных версий пакетов по данным Socket. Украденные учетные данные сопровождающих генерировали легитимные сертификаты Sigstore во время выполнения.
    Проблема: Проверка подлинности проходит успешно, несмотря на кражу учетных данных. Затронуто около 16 миллионов еженедельных загрузок.
    Рекомендация: Перестаньте считать значки подлинности достаточными. Добавьте поведенческий анализ во время установки. Установите параметр minimumReleaseAge.
  • Автоматическое обновление расширений VS Code: Nx Console v18.95.0 (18 мая). Украденный токен участника, «сиротский» коммит, три канала эксфильтрации. Целью были файлы конфигурации Claude Code. 2,2 миллиона установок.
    Проблема: Автоматическое обновление бесшумно запускает программу для кражи учетных данных. Отсутствует категория обнаружения для подобных случаев.
    Рекомендация: Фиксируйте версии расширений. Проверяйте политику автоматического обновления. Пересмотрите управление токенами издателя.
  • Диалоговое окно доверия для ИИ-агентов CLI: TrustFall (Adversa AI). Все четыре CLI-интерфейса автоматически запускают недоверенные MCP-серверы одним нажатием клавиши.
    Проблема: Диалоговое окно доверия воспринимается как функция, а не как событие безопасности. Безголовые CI-системы полностью пропускают диалоговое окно.
    Рекомендация: Отключите enableAllProjectMcpServers. Требуйте явного одобрения для каждого сервера.
  • Выполнение агента конвейера CI/CD: Comment and Control (Университет Джонса Хопкинса, CVSS 9.4 балла). Комментарии к запросам на слияние обрабатываются как инструкции для агента.
    Проблема: Вредоносный файл .mcp.json выполняется с полными учетными данными исполнителя. Нулевое человеческое взаимодействие.
    Рекомендация: Ограничьте запуск агентов ветками после слияния. Проверьте рабочие процессы pull_request_target.
  • Путь eval() в фреймворке ИИ-агента: Semantic Kernel CVE-2026-26030 (9.9 балла) и CVE-2026-25592 (10.0 баллов). Инъекция промптов достигает eval().
    Проблема: EDR видит одобренный вызов. Плоская модель аутентификации не учитывает разрешения пользователя.
    Рекомендация: Обновитесь до Python версии 1.39.4 или выше / .NET версии 1.71.0 или выше. Отключите автоматический вызов.
  • Внеполосная доставка: CrowdStrike FinServ (14 мая). WhatsApp и LinkedIn как основные векторы. CHOLLIMA удвоила и утроила темп атак.
    Проблема: EDR не имеет сигнала о доставке через социальные сети. ИИ-генерируемые идентификаторы используются в масштабе.
    Рекомендация: Добавьте WhatsApp и LinkedIn в сценарии реагирования на внутренние угрозы.

Семь критических точек. Одна группа подтверждена по крайней мере в трех из них, при этом инструменты с открытым исходным кодом позволяют копирование атак в остальных. Кейн МакГлэдри, старший член IEEE, сообщил, что организации «по умолчанию клонируют профили реальных пользователей для агентов, и распространение разрешений начинается с первого дня». Фреймворки соответствия, на которые полагаются предприятия, были написаны для людей. Идентификаторы агентов не фигурируют ни в одном каталоге контроля, с которым МакГлэдри сталкивался.

Comments are closed.