@tanstack/*Анализ безопасности показал, что изменённые пакеты содержали вредоносный код для кражи учетных данных, нацеленный на рабочие машины разработчиков и CI/CD‑системы.
Проблема усугублялась популярностью библиотек TanStack: некоторые из них скачиваются миллионы раз в неделю. Поэтому вредоносные обновления могли быстро попасть в сборки проектов и автоматические пайплайны.
Позже исследователи выяснили, что атака на TanStack была лишь частью более масштабной операции. В целом по экосистемам было обнаружено:
Вместо кражи учётных данных для публикации в npm злоумышленники атаковали автоматизацию релизов.
По данным постмортема TanStack, атака представляла собой цепочку из нескольких слабых мест в GitHub Actions:
pull_request_targetКомбинируя эти техники, атакующий смог выполнить собственный код внутри релиз‑пайплайна и получить доступ к токену, позволяющему публиковать пакеты. Затем вредоносные версии были выпущены через легитимный процесс сборки проекта.
Из‑за этого пакеты выглядели подлинными: они публиковались официальным аккаунтом и могли иметь корректные подписи или аттестации сборки. Это помогло вредоносным версиям не выделяться среди обычных обновлений.
Вредоносные пакеты содержали код, который вел себя как самораспространяющийся supply‑chain‑червь.
После установки зависимостей вредоносный код выполнялся через lifecycle‑скрипты npm или при импорте модуля и загружал дополнительную полезную нагрузку.
Далее вредоносное ПО пыталось:
Таким образом атака могла перемещаться между машинами разработчиков, CI‑серверами и репозиториями open‑source проектов.
Поскольку менеджеры пакетов выполняют скрипты во время установки, простая установка заражённой зависимости могла активировать вредоносный код.
Основная цель атаки — учётные данные разработчиков и облачных сервисов, которые позволяют получить доступ к инфраструктуре и репозиториям.
По данным исследователей безопасности, вредоносный код искал на машинах разработчиков такие секреты, как:
Вредоносное ПО также сканировало множество файловых путей на рабочих станциях разработчиков и CI‑раннерах в поисках конфигураций и секретов.
Любая среда, где были установлены заражённые пакеты, рассматривалась как потенциально скомпрометированная, и требовалась ротация всех доступных секретов.
Из‑за популярности затронутых библиотек появились вопросы о том, могли ли пострадать крупные технологические сервисы.
OpenAI заявила, что не обнаружила признаков того, что пользовательские данные были получены или скомпрометированы в результате инцидента с TanStack.
Компания проверила внутренние системы после обнаружения атаки на open‑source зависимости.
Кампания Mini Shai‑Hulud показала несколько новых тенденций в атаках на цепочку поставок программного обеспечения.
Атака на автоматизацию вместо аккаунтов
Злоумышленники не крали учётные данные мейнтейнеров — они захватили CI/CD‑пайплайн, который публиковал пакеты.
Подписанные вредоносные пакеты
Поскольку публикация происходила через легитимный пайплайн, вредоносные версии выглядели доверенными и могли иметь корректные аттестации сборки.
Межэкосистемное распространение
Кампания одновременно затронула npm и PyPI, увеличив потенциальный масштаб атаки.
Червеподобное распространение
Вредоносное ПО пыталось автоматически распространяться, похищая токены и публикуя новые заражённые пакеты.
В совокупности это сделало кампанию одной из самых заметных атак на цепочку поставок open‑source в 2026 году.
После инцидента исследователи и мейнтейнеры сформулировали несколько практических рекомендаций.
Считать установку зависимостей выполнением кода
Любой npm installpip install
Ротировать секреты после возможного компромета
Все системы, где устанавливались заражённые версии пакетов, должны сменить доступные ключи и токены.
Укреплять CI/CD‑workflow
Рекомендуется пересмотреть конфигурации GitHub Actions, минимизировать права токенов и избегать опасных шаблонов вроде pull_request_target.
Проверять версии зависимостей
Команды должны убедиться, что в их проектах не использовались скомпрометированные версии пакетов во время окна атаки.
Мониторить релиз‑пайплайны
Необычные публикации пакетов, сетевые подключения или неожиданные установки зависимостей могут сигнализировать о компрометации.
Современные цепочки поставок ПО строятся на автоматизации и общих зависимостях. Кампания Mini Shai‑Hulud показала, что эти же механизмы могут стать мощным инструментом распространения вредоносного кода, если их удаётся взломать.
Атаки на CI/CD‑инфраструктуру и окружения разработчиков позволяют злоумышленникам распространять вредоносные пакеты через доверенные каналы и достигать тысяч проектов всего за несколько часов.
Поэтому сегодня многие организации рассматривают пайплайны сборки, систему зависимостей и рабочие окружения разработчиков как критические границы безопасности, а не просто инструменты удобства.
Comments
0 comments