Что случилось: атака на цепочку поставок через TanStack npm

11 мая 2026 года UTC популярная open-source-библиотека TanStack была скомпрометирована в рамках масштабной атаки на цепочку поставок программного обеспечения, получившей название Mini Shai-Hulud. Это не просто очередной инцидент в мире кибербезопасности — речь идёт о технически изощрённой операции, которая затронула сразу несколько крупных технологических компаний.

ℹ Что такое атака на цепочку поставок (supply chain attack)?
Atака на цепочку поставок (supply chain attack) — это кибератака, при которой злоумышленники компрометируют не конечную цель напрямую, а доверенные инструменты, библиотеки или сервисы, которыми пользуется жертва. Вместо взлома «в лоб» хакеры внедряют вредоносный код в широко используемые пакеты и ждут, пока разработчики сами их установят.

Группировка TeamPCP и червь Mini Shai-Hulud

Атака является частью масштабной кампании, приписываемой группировке TeamPCP и получившей кодовое название «Mini Shai-Hulud» — отсылка к гигантскому червю-песчанику из романа «Дюна», символизирующему нечто неостановимое и способное к самостоятельному распространению.

11 мая 2026 года группировка TeamPCP осуществила четвёртую волну своей кампании: за шесть минут в реестре npm было опубликовано 84 вредоносные версии 42 пакетов TanStack, а впоследствии атака распространилась более чем на 170 пакетов в npm и PyPI (Python Package Index), включая пространства имён Mistral AI, UiPath и OpenSearch.

Только один из затронутых пакетов — @tanstack/react-router — еженедельно загружается около 12 миллионов раз.


Как именно произошла атака

В период с 19:20 до 19:26 UTC злоумышленник опубликовал 84 вредоносные версии 42 npm-пакетов @tanstack/*, использовав цепочку из трёх уязвимостей: паттерн «Pwn Request» для pull_request_target, отравление кэша GitHub Actions через границу доверия форк↔основная ветка, а также извлечение OIDC-токена из памяти процесса GitHub Actions runner.

Проще говоря, атака была трёхступенчатой:


flowchart TD
    A["Вредоносный форк pull request\n(pull_request_target без проверки)"] --> B["Отравление кэша GitHub Actions\n(запись через общий кэш репозитория)"]
    B --> C["Извлечение OIDC-токена\nиз памяти GitHub Actions runner"]
    C --> D["Публикация 84 вредоносных\nверсий за 6 минут"]
    D --> E["Установка на устройства\nразработчиков по всему миру"]
    E --> F["Кража учётных данных,\nAPI-ключей, CI/CD-токенов"]

Червь Mini Shai-Hulud способен похищать широкий спектр учётных данных, включая GitHub-токены, облачные секреты (например, AWS credentials), npm-токены и CI/CD-материалы аутентификации. Вредонос достигает этого путём чтения памяти запущенных процессов, сканирования файловой системы в поисках файлов с учётными данными, а также извлечения секретов из переменных окружения и Docker-контейнеров.

⚠ Важно: вредоносные пакеты имели легитимные подписи
Это первый задокументированный случай, когда атака на цепочку поставок публиковала вредоносные пакеты с действительными подписанными сертификатами происхождения (SLSA provenance). Именно поэтому стандартные механизмы проверки подлинности пакетов не помогли.

Реакция сообщества: скорость имела значение

Команда TanStack отозвала все 84 вредоносные версии в течение 1 часа 43 минут после публикации, а npm удалил архивы из реестра примерно через 2 часа 27 минут.

Столь быстрая реакция стала возможной благодаря внешним исследователям, которые обнаружили компрометацию в течение 20–26 минут после публикации.


Как это затронуло OpenAI

Два устройства сотрудников в корпоративной среде OpenAI были затронуты атакой. Оба устройства принадлежали сотрудникам, которые в момент появления вредоносных пакетов 11 мая ещё не получили обновлённые конфигурации безопасности, которые заблокировали бы загрузку вредоносного пакета.

В ходе расследования компания зафиксировала активность, соответствующую публично описанному поведению вредоносного ПО, включая несанкционированный доступ и деятельность по краже учётных данных в ограниченном наборе внутренних репозиториев исходного кода, к которым имели доступ два пострадавших сотрудника.

Нет никаких доказательств того, что данные пользователей OpenAI были получены, производственные системы или интеллектуальная собственность скомпрометированы, а программное обеспечение изменено. — Официальное заявление OpenAI

Затронутые репозитории содержали сертификаты подписи кода, используемые для продуктов OpenAI на платформах macOS, Windows, iOS и Android.


Меры реагирования OpenAI

Немедленные действия

OpenAI оперативно инициировала расследование, изолировала затронутые системы, отозвала сессии, сменила учётные данные и временно ограничила часть рабочих процессов развёртывания кода.

В рамках расследования и реагирования компания привлекла стороннюю фирму по цифровой криминалистике и реагированию на инциденты.

Ротация сертификатов и обновление macOS-приложений

Поскольку вредоносная активность затронула репозитории с сертификатами подписи кода, OpenAI приняла важное решение: сменить сертификаты для всех платформ. Это означает, что пользователям macOS необходимо обновить приложения.

Дедлайн для обновления macOS-приложений был сдвинут на 26 июня 2026 года, а OpenAI координировала этот срок с Apple для защиты пользователей.

Компания предупредила, что более старые версии macOS-приложений, подписанные предыдущими сертификатами, могут перестать работать, поскольку механизмы безопасности Apple заблокируют приложения, подписанные устаревшими учётными данными, после полного отзыва сертификатов.

💡 Как безопасно обновить приложения OpenAI на macOS
Пользователи могут безопасно обновиться через встроенные механизмы обновления приложений или официальные страницы загрузки. Компания также предупредила пользователей не устанавливать приложения по ссылкам из электронных писем, сообщений, рекламы или сторонних сайтов загрузки.

Что НЕ было скомпрометировано

OpenAI подтвердила, что никакие пользовательские данные, производственные системы или интеллектуальная собственность не были скомпрометированы или изменены, что из внутренних репозиториев исходного кода была похищена лишь ограниченная информация об учётных данных, и что никакое вредоносное ПО не было подписано каким-либо сертификатом OpenAI.


Масштаб кампании: не только OpenAI

OpenAI оказалась лишь одной из многих жертв. Атака Mini Shai-Hulud стала одной из крупнейших атак на цепочку поставок в 2026 году.

ЖертваХарактер ущерба
OpenAI2 устройства сотрудников, утечка части учётных данных
Grafana LabsДоступ к GitHub-репозиториям, требование выкупа
Mistral AIКомпрометация пакета mistralai@2.4.6
UiPathЗатронутые npm-пакеты
Guardrails AIКомпрометация пакета guardrails-ai@0.10.1
OpenSearch JSЗатронутый JS-клиент

В частности, 16 мая 2026 года Grafana Labs подтвердила целенаправленную атаку со стороны киберпреступной группы, получившей несанкционированный доступ к репозиториям GitHub и загрузившей кодовую базу компании, после чего последовало требование выкупа под угрозой публикации данных.


Технические уроки: что нужно изменить в безопасности CI/CD

Инцидент с TanStack npm отражает растущие риски кибербезопасности, связанные с современными экосистемами программного обеспечения, где организации в значительной мере полагаются на общие open-source-библиотеки, менеджеры пакетов и CI/CD-инфраструктуру.

Чтобы снизить риски подобных атак, специалисты по безопасности рекомендуют следующее:

# Пример безопасной конфигурации GitHub Actions
# для предотвращения атак типа pull_request_target
jobs:
  build:
    permissions:
      contents: read        # Минимальные права
      id-token: none        # Запрет OIDC-токенов для форков
    steps:
      - uses: actions/checkout@v4
        with:
          persist-credentials: false  # Не сохранять токены
📝 Чеклист защиты от supply chain атак

Для разработчиков и DevSecOps-специалистов:

  • ✅ Используйте pinning версий зависимостей (фиксируйте точные версии пакетов)
  • ✅ Проверяйте SLSA provenance (сертификаты происхождения артефактов)
  • ✅ Настройте мониторинг IoC: следите за доменами C2, необычными сетевыми соединениями
  • ✅ Ограничьте права pull_request_target — требуйте ручного одобрения для форков
  • ✅ Ротируйте учётные данные CI/CD регулярно, а не только после инцидентов
  • ✅ Используйте инструменты анализа зависимостей (Dependabot, Socket, Snyk)

Выводы: новая реальность угроз цепочки поставок

Mini Shai-Hulud распространяется путём перехвата самого пайплайна публикации, а не через фишинг мейнтейнеров. Это принципиально меняет модель угроз: традиционная защита периметра и двухфакторная аутентификация уже недостаточны — злоумышленники атакуют саму инфраструктуру доверия.

OpenAI отметила, что инцидент произошёл в период поэтапного внедрения новых средств контроля безопасности цепочки поставок, введённых после предыдущего инцидента, связанного с Axios. Это напоминание о том, что даже технологические гиганты уязвимы в переходные периоды.

Для миллионов разработчиков по всему миру — и в России в том числе — этот инцидент служит сигналом тревоги: доверие к популярным open-source-пакетам не должно быть безоговорочным. Каждая зависимость в вашем проекте — это потенциальная точка входа для атакующих.

Атака Mini Shai-Hulud показала: в современном мире кибербезопасности цепочка поставок программного обеспечения — это новое поле битвы.