TanStack попал под атаку 😬

Команда Socket нашла компрометацию 84 npm-пакетов в @tanstack. Внутрь залетел вредонос Mini Shai-Hulud, который пытался вытаскивать секреты из CI/CD, особенно из GitHub Actions

Самое неприятное — запускался он автоматически через npm lifecycle hooks. То есть ты просто ставишь зависимость, а где-то в фоне уже начинается весёлый квест по поиску GITHUB_*, AWS, Vault и Kubernetes токенов 💩

Среди затронутых пакетов был даже @tanstack/react-router, у которого больше 12 млн загрузок в неделю. Так что это не «ну кто-то там поставил левый пакет», а прям нормальный удар по supply chain.

Как пролезли: — через GitHub Actions — pull_request_target — отравление кеша между fork и base — вытаскивание OIDC-токена из runner’а — публикация пакетов в npm через доверенную OIDC-связку

TanStack говорит, что npm-токены не украли, а сам workflow публикации не был скомпрометирован. Но звучит всё равно так, будто CI опять оказался дырой в борту корабля 🫠

Что делать, если юзал @tanstack/*: — проверить lock-файлы и версии пакетов — поискать подозрительный router_init.js — ротировать секреты, если ставил заражённые версии — пройтись по GitHub Actions, OIDC, npm publish workflow — не тащить pull_request_target, если не до конца понимаешь, зачем он тебе нужен

Supply chain атаки становятся всё жирнее. Уже мало просто смотреть на код в своём репозитории — теперь надо ещё понимать, что происходит в CI, npm hooks и правах публикации пакетов 🫡

TanStack попал под атаку 😬
Команда Socket нашла компрометацию 84 npm-пакетов в @tanstack | Сетка — социальная сеть от hh.ru