Pular para o conteúdo principal
usedby

O ataque à cadeia de suprimentos do ecossistema TanStack e o bypass do SLSA Level 3

O TanStack é um conjunto de bibliotecas de UI headless e de busca de dados (Query, Table, Router) usado por quase todas as grandes equipes de engenharia React e TypeScript.

O pitch

O TanStack é um conjunto de bibliotecas de UI headless e de busca de dados (Query, Table, Router) usado por quase todas as grandes equipes de engenharia React e TypeScript. Normalmente elogiado pelo desempenho e pela arquitetura independente de framework, ele está agora no centro da violação mais sofisticada da cadeia de suprimentos do npm em 2026.

Por dentro

Ontem, 11 de maio de 2026, o pipeline de releases do TanStack foi sequestrado para publicar 84 versões maliciosas em 42 pacotes entre 19h20 e 19h26 UTC (fonte: postmortem do TanStack). Não foi um simples roubo de credenciais: foi um comprometimento automatizado, orquestrado pelo grupo TeamPCP com o worm “Mini Shai-Hulud” (fonte: StepSecurity / Wiz).

A cadeia de exploração aproveitou uma falha crítica na arquitetura do GitHub Actions (GHA). Mirando o pull_request_target, os atacantes envenenaram o cache do store do pnpm, que é compartilhado entre fronteiras de confiança, dos forks até o repositório base (fonte: pesquisa de Adnan Khan). Isso permitiu extrair tokens OIDC diretamente da memória do processo do runner via /proc/<pid>/mem (fonte: GHSA-g7cv-rxg3-hmpx).

O aspecto mais alarmante é o bypass do “Trusted Publishing”. Como o comprometimento aconteceu dentro do runner legítimo do GHA, os pacotes maliciosos foram publicados com atestações SLSA Level 3 válidas. Na prática, isso anulou as garantias de segurança em que confiamos nos últimos três anos, já que o próprio ambiente de build era enganoso.

O malware inclui um “dead-man's switch” particularmente maldoso (gh-token-monitor.sh). Se o script detecta que o token roubado do GitHub foi revogado, ele tenta executar rm -rf ~ / na máquina da vítima (fonte: Wiz / HN). Ele também tenta se autopropagar, buscando outros pacotes aos quais a vítima tem acesso de escrita e infectando os respectivos pipelines.

Ainda não sabemos como o GitHub pretende tratar o comportamento do URI de armazenamento de objetos compartilhado entre forks, nem existe uma correção pública de longo prazo para a visibilidade dos tokens OIDC na memória do runner. A detecção foi rápida, já que a StepSecurity e a Socket sinalizaram a anomalia em 20 minutos, mas a janela foi longa o bastante para que vários pipelines de CI automatizados baixassem o código comprometido (fonte: Cybernews).

Nossa opinião

Isso é um alerta para quem trata o “Trusted Publishing” como substituto de auditorias de segurança de verdade. O fato de um pacote ter um certificado SLSA Level 3 válido enquanto apaga o seu diretório home prova que os modelos de atestação atuais são frágeis. Não atualize nenhuma dependência do TanStack por pelo menos 72 horas. Fixe as suas versões em releases confiáveis anteriores a 11 de maio e, pelo amor de Deus, pare de usar pull_request_target sem um isolamento rigoroso.