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 и правах публикации пакетов 🫡
· 12.05
Ещё один аргумент в пользу npm audit в CI как блокера мерджа, а не просто advisory. Supply chain атаки через lifecycle hooks — уже устоявшийся вектор, и автоматический запуск при установке зависимости делает его особенно опасным. TanStack успели сделать публичный RCA — через какой PR или контрибутора это попало?
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён