11 мая 2026 года хакер опубликовал 84 вредоносные версии в 42 пакетах экосистемы TanStack, используя комбинацию трёх уязвимостей. Злоумышленник объединил уязвимость pull_request_target с атакой Pwn Request, отравлением кэша GitHub Actions и экстракцией OIDC-токена из процесса runner. Внезапным обнаружением компрометации занялся исследователь Ashish Kurmi из StepSecurity, который заметил атаку всего за 20 минут. Команда TanStack подтвердила, что украденных npm-токенов нет, но настоятельно рекомендует всем, кто устанавливал заражённые версии 11 мая, немедленно ротировать ключи AWS, GCP, Kubernetes, Vault, GitHub, npm и SSH.
Нашествие началось с создания форка github.com/zblgg/configuration, где злоумышленник, маскируясь под фейковый аккаунт claude, загрузил скрипт-похититель. Он воспользовался тем фактом, что действие actions/cache@v5 сохраняет содержимое кэша (включая pnpm-store) под ключом, зависящим от hashFiles, без проверок разрешений. Когда легитимный workflow release.yml позже запускался после пуша на ветку main, он восстанавливал отравленный кэш, где уже лежал скрипт router_init.js. Этот 2,3 МБ код запускался как часть жизненного цикла установки зависимостей. Скрипт извлекал OIDC-токены, читал файлы /proc/*/cmdline и /proc/<pid>/mem для кражи данных, а затем отправлял их через зашифрованный мессенджер filev2.getsession.org. Кроме того, вредоносный код самокопировался: он перебирал остальные пакеты жертвы и повторно публиковал их с инъекцией.
Команда TanStack столкнулась с проблемой: отозвать опубликованные версии не удаётся из-за политики npm, запрещающей удаление пакетов с зависимостями. Поэтому они обратились к службе безопасности npm за удалением архивов со стороны серверов. Атака оказалась громкой, потому что злоумышленник специально разбил тесты, чтобы вызвать отказ публикации и привлечь внимание, вместо того чтобы тихо работать годами. В настоящее время подтверждено, что под удар попали 42 пакета из 295 доступных, но полное понимание масштаба пока требует проверки логов и истории форков. Исследователи уже начали аудит всех репозиториев TanStack и работу над укреплением процессов безопасности, включая замену OIDC на классические токены с ручным пересмотром и отказ от плавающих ссылок на сторонние действия.