Назад
12 мая 2026 г. в 15:05 AI Cybersecurity Open Source Supply Chain Mistral AI TanStack Developers TanStack; Socket; Snyk; Techmeme

Mini Shai-Hulud ударил по Mistral и TanStack: доверенные сборки больше не гарантируют безопасность

Mini Shai-Hulud ударил по Mistral и TanStack: доверенные сборки больше не гарантируют безопасность

Mini Shai-Hulud ударил по Mistral и TanStack: доверенные сборки больше не гарантируют безопасность

В open-source экосистеме произошёл новый инцидент цепочки поставки: вредоносные версии попали в десятки популярных пакетов TanStack, а затем волна затронула SDK Mistral AI, OpenSearch, UiPath и другие проекты. Исследователи связывают атаку с кампанией Mini Shai-Hulud — самораспространяющимся вредоносным кодом, который крадёт учётные данные из окружения разработчиков и CI, а потом пытается заражать новые пакеты от имени уже скомпрометированного владельца.

На первый взгляд это очередная история про «не ставьте свежие зависимости вслепую». Но здесь важнее другое: часть вредоносных публикаций выглядела формально доверенной. Они прошли через официальный механизм OIDC trusted publishing, а в некоторых разборках подчёркивается, что пакеты могли иметь валидные provenance-аттестации. То есть тревожный урок не в том, что кто-то украл пароль от npm, а в том, что атакующий научился использовать доверие к CI как транспорт для заражения.

Что произошло

TanStack в собственном postmortem пишет, что 11 мая 2026 года между 19:20 и 19:26 UTC злоумышленник опубликовал 84 вредоносные версии в 42 пакетах @tanstack/*. Среди затронутых семейств были router-пакеты, включая широко используемый @tanstack/react-router. По данным Socket, некоторые из них имеют миллионы загрузок в неделю, поэтому инцидент быстро стал не локальной проблемой одного проекта, а угрозой для большого числа приложений и CI-систем.

Позже исследователи обнаружили похожую инфекцию в других пакетах, включая @mistralai/mistralai и связанные SDK. Techmeme вынес историю в топ с формулировкой, что были скомпрометированы многие npm-пакеты для Mistral, UiPath и TanStack, а Microsoft расследует компрометацию PyPI-пакета Mistral AI версии 2.4.6. На момент публикации речь идёт о быстро развивающемся инциденте, поэтому точный список затронутых пакетов нужно проверять по advisory и базам безопасности, а не по одному скриншоту из соцсетей.

Команда TanStack заявляет, что все известные вредоносные версии были deprecated, npm security привлечена к удалению tarball-файлов, кэши GitHub Actions очищены, а workflow усилены. Но если заражённый пакет уже устанавливался на машине разработчика или в CI, простой npm update проблему не закрывает: такой хост нужно считать потенциально скомпрометированным.

Как сработала атака

Схема неприятна именно потому, что она бьёт по привычным «правильным» практикам. По версии TanStack, злоумышленник использовал цепочку из трёх элементов: опасный паттерн pull_request_target, отравление кэша GitHub Actions и извлечение OIDC-токена из памяти runner-процесса во время легитимного workflow.

Упрощённо это выглядит так. В репозитории появляется pull request из форка. Часть workflow запускается в контексте базового репозитория, но при этом выполняет код из внешнего PR. Этот код отравляет dependency cache так, чтобы при следующем релизном запуске официальный CI восстановил уже заражённое содержимое. Затем вредоносный код в ходе легитимного workflow получает доступ к короткоживущему OIDC-токену и публикует пакеты напрямую в npm registry.

Важная деталь: по словам TanStack, npm-токены не были украдены, а сам шаг публикации в workflow даже не обязан был успешно завершиться. Публикация произошла потому, что инфраструктура доверенного издателя приняла запрос, пришедший из допустимого CI-контекста. Для внешнего наблюдателя это уже не выглядит как грубый взлом пароля; это похоже на легитимную автоматизацию, которую заставили сделать чужую работу.

Почему это касается не только разработчиков

Современный софт собирается из тысяч зависимостей. Даже если пользователь никогда не слышал о TanStack или Mistral SDK, он может пользоваться продуктом, который тянет такие библиотеки транзитивно. Поэтому атаки на цепочку поставки — это не внутренняя драма GitHub-команд, а вопрос устойчивости всего цифрового слоя: банковских сервисов, SaaS-приложений, корпоративных панелей, медицинских систем и обычных сайтов.

AI-эпоха усиливает проблему. Разработчики всё чаще подключают SDK моделей, агентные фреймворки, плагины для автоматизации, библиотеки для векторных баз и инструменты генерации кода. Многие из них ставятся быстро, обновляются часто и живут внутри CI, где лежат ключи к облакам, репозиториям, контейнерным registry и production-инфраструктуре. Вредоносная зависимость в таком месте получает не просто ноутбук программиста, а почти карту доступа к фабрике ПО.

Именно поэтому в истории с Mini Shai-Hulud важен не бренд Mistral или TanStack сам по себе, а класс уязвимости. Если атакующий умеет превращать доверенную сборочную систему в издателя вредоносного пакета, рынок должен пересмотреть, что именно означает «официальная» поставка.

Provenance оказалась не серебряной пулей

За последние годы индустрия продвигала SLSA, Sigstore, OIDC trusted publishing и provenance как ответ на хаос с токенами и поддельными пакетами. Это действительно полезные механизмы: они уменьшают риск украденных долгоживущих секретов и дают возможность проверить, откуда пришёл артефакт. Но этот инцидент показывает границу обещания.

Provenance может подтвердить, что пакет был собран и опубликован определённым workflow в определённом репозитории. Она не доказывает, что в момент сборки workflow не восстановил отравленный кэш, не выполнил чужой код и не дал злоумышленнику временный токен. Другими словами, подпись отвечает на вопрос «какая машина это выпустила», но не всегда отвечает на вопрос «была ли сама машина в безопасности».

Это болезненный, но полезный урок. Доверенная сборка — не финальная печать качества, а один слой защиты. Если вокруг неё остаются опасные PR-workflow, общие кэши между недоверенным и релизным кодом, широкие права runner-ов и автоматические lifecycle-скрипты пакетов, атакующий всё равно найдёт щель.

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

Первый практический шаг — проверить, устанавливались ли затронутые версии 11 мая и позже. Для TanStack команда указывает конкретный advisory и tracking issue; Socket, Snyk, StepSecurity и другие компании публикуют индикаторы компрометации и списки пакетов. Если такой пакет был установлен на developer machine или в CI, безопасная позиция жёсткая: считать окружение скомпрометированным и ротировать доступные секреты.

Второй шаг — пересмотреть CI. Workflow, которые используют pull_request_target и одновременно выполняют код из форка, должны попасть в красную зону. Кэши между недоверенными PR и release-процессами нельзя считать нейтральным ускорителем сборки. OIDC-права должны быть минимальными и выдаваться только тем job, где публикация действительно нужна, а не всему pipeline «на всякий случай».

Третий шаг — меньше доверять lifecycle-скриптам зависимостей. prepare, postinstall и похожие механизмы удобны, но они превращают установку пакета в выполнение произвольного кода. Для CI и production-сборок всё чаще потребуется режим, где зависимости сначала проверяются как артефакты, а уже потом получают право что-либо запускать.

Главный вывод

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

Для обычного читателя смысл простой: безопасность цифрового мира всё меньше похожа на замок на двери и всё больше — на контроль всей фабрики, где эту дверь производят. Если фабрика автоматизирована, подключена к облакам и ускорена ИИ-инструментами, то одна ошибка в доверии к workflow может стать проблемой для тысяч компаний.

Для разработчиков и CTO вывод ещё прямее: пора относиться к CI/CD как к критической инфраструктуре, а не как к скучной папке .github/workflows. В эпоху агентного кода и быстрых зависимостей вопрос уже не «можем ли мы подписать пакет», а «можем ли мы доказать, что весь путь до подписи не был заражён».

💬 Мнение редакции Neuro.ee

Эта атака неприятна именно потому, что ломает уютную веру в галочку «официально собрано». Подписи, OIDC и provenance нужны, но они не заменяют архитектуру доверия. Если недоверенный PR может оставить яд в кэше, а релизный workflow потом сам его выпьет и подпишет бутылку, проблема не в подписи. Проблема в том, что фабрика слишком охотно верит собственным конвейерам.

Ещё новости

Google добавила говорящие аватары в Gemini Enterprise
26 сентября 2026 г.
Google добавила говорящие аватары в Gemini Enterprise

Google открыла для Gemini Enterprise Live Avatar: корпоративный голосовой агент теперь может отвечать с синхронизированным видеоаватаром. Функция полезна для сервисных сценариев, но создание собственных персонажей пока требует allowlist.

Google Beam выходит в шесть стран: 3D-видеосвязь становится ближе к офисам
26 сентября 2026 г.
Google Beam выходит в шесть стран: 3D-видеосвязь становится ближе к офисам

Google расширяет поставки Beam — системы видеосвязи с эффектом присутствия — на шесть стран и запускает сеть демонстрационных переговорных. Важно не само обещание «как в одной комнате», а то, что устройство начинает появляться там, где его можно испытать до покупки.

Microsoft встраивает Word, Excel и PowerPoint в новый Copilot
26 сентября 2026 г.
Microsoft встраивает Word, Excel и PowerPoint в новый Copilot

Microsoft представила новый интерфейс Copilot: в нём объединяются чат и агентный режим, а документы Word, таблицы Excel и презентации PowerPoint можно создавать и править прямо из разговора. Первые функции доступны не всем: Home и Code начинают раскатывать в программе Frontier, а Autopilot пока идёт в закрытый предварительный доступ.

Gemini подключает Adobe, Airtable и Linear: ИИ добирается до списка дел
23 сентября 2026 г.
Gemini подключает Adobe, Airtable и Linear: ИИ добирается до списка дел

Google расширяет Connected Apps в Gemini: ассистент получает новые связки с Adobe, Airtable, Linear, Peloton и другими сервисами. Главный вопрос теперь не в количестве подключений, а в том, какие действия и данные пользователь готов отдать в один чат.

AWS запустила CloudWatch Omni для отладки ИИ-агентов
23 сентября 2026 г.
AWS запустила CloudWatch Omni для отладки ИИ-агентов

AWS представила CloudWatch Omni — отдельную среду наблюдаемости для приложений и ИИ-агентов. Сервис собирает трассы, метрики и логи в одном интерфейсе и позволяет расследовать сбои через чат или IDE.

Meta представила Muse — агента, который работает после закрытия приложения
23 сентября 2026 г.
Meta представила Muse — агента, который работает после закрытия приложения

Meta запускает Muse — персонального ИИ-агента для поручений в браузере, почте и покупках. Главный вопрос не в обещанной автономности, а в том, как пользователь ограничит доступ к своим данным и деньгам.

OpenAI создала совет математиков после спора о доказательствах ИИ
22 сентября 2026 г.
OpenAI создала совет математиков после спора о доказательствах ИИ

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

Anthropic выпустила Claude Opus 5.5 и снизила цену на работу с ним
22 сентября 2026 г.
Anthropic выпустила Claude Opus 5.5 и снизила цену на работу с ним

Anthropic представила Claude Opus 5.5 — первую модель семейства 5.5. Компания снизила API-цены, ускорила генерацию и увеличила пятитичасовые лимиты подписок, но сохранила строгие ограничения для чувствительных задач.

OpenAI урезала цены и выпустила GPT-6 Sol и Luna
22 сентября 2026 г.
OpenAI урезала цены и выпустила GPT-6 Sol и Luna

OpenAI представила GPT-6 Sol и GPT-6 Luna — более дешёвые модели семейства GPT-6 для повседневной агентной, программной и офисной работы. Sol и Luna не претендуют на место Astra: ставка релиза — сохранить заметную часть её возможностей при меньшей цене и с более выгодным кэшированием контекста.

Anthropic: Claude ведёт 26% исследований моделей
20 сентября 2026 г.
Anthropic: Claude ведёт 26% исследований моделей

Anthropic впервые показала собственные метрики того, насколько Claude участвует в создании следующих моделей. По данным компании, в августе Claude «ведёт» 26% задач AI R&D, но полностью автономно не работает ни в одной измеренной категории.

Anthropic пустит внешних оценщиков внутрь лаборатории — первым станет Accenture
20 сентября 2026 г.
Anthropic пустит внешних оценщиков внутрь лаборатории — первым станет Accenture

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

Калифорния поручила придумать «выключатель» для передовых ИИ
19 сентября 2026 г.
Калифорния поручила придумать «выключатель» для передовых ИИ

Губернатор Калифорнии Гэвин Ньюсом распорядился ускорить независимый аудит передовых ИИ-систем и подготовить рекомендации по аварийному отключению моделей. Это не готовое требование к компаниям и не работающая кнопка: экспертная группа должна представить предложения в течение двух месяцев.