Cyber Security News rapporterer at angriperen registrerte det unscoped tanstack-navnet på npm og publiserte fire versjoner (2.0.4 til 2.0.7) mellom 17:08 og 17:35 UTC. Hver versjon kjørte en postinstall-hook som leste .env og .env.local fra utviklerens system og sendte innholdet videre. Versjon 2.0.3 fra mars var ren, så endringen kom brått tre dager før mai-måneden.
Angrepet er klassisk navne-forveksling. TanStack-organisasjonen vedlikeholder TanStack Query og TanStack Table, men pakkene ligger under @tanstack-scope (@tanstack/query, @tanstack/react-query). En typo som installerer tanstack i stedet for @tanstack/query er nok for full kompromittering. Pakken var presentert som en «TanStack Player»-SDK med polert dokumentasjon og realistisk branding for å virke ekte.
Versjonsrekka avslører testing i sanntid: 2.0.4 målrettet bare .env, 2.0.5 byttet midlertidig til harmløse filer (sannsynlig pipeline-test), 2.0.6 var farligst og scannet alle .env.*-varianter inkludert .env.production, og 2.0.7 reverterte målretningen, men la til en uvanlig self-dependency. Eksfiltrerte data ble forkledd som felt med navn «readme» og «agents», og rutet gjennom api.svix.com (en lovlig webhook-tjeneste). Det senker sjansen for at nettverkssikkerhetsverktøy stopper trafikken, fordi destinasjonen ser ut som vanlig integrasjonstrafikk.
Innholdet i .env-filer er typisk nok til å åpne dører videre. AWS-nøkler, GitHub- og npm-tokens, database-strenger, Stripe-, Twilio- og OpenAI-nøkler, OAuth-secrets. Hvis en .env.production lå i mappa, kan produksjonshemmeligheter være på avveie. Postinstall-hooks kjører også i CI/CD-pipelinen, så automatiserte builds har stått like utsatt som lokale npm-installer. GitGuardian beskriver denne typen kampanje som del av et større mønster: utviklerlaptopen er nå frontlinjen i supply-chain-angrep, fordi credentials ofte ligger i klartekst på maskinen.
Hva bør du gjøre?
- Sjekk lockfile og node_modules for tanstack-versjoner 2.0.4 til 2.0.7. Ved treff: anta full kompromittering og roter alle eksponerte secrets umiddelbart.
- Audit CI/CD-jobber som kjørte npm install i perioden 29. april og fremover. Postinstall-script kjører i build-runneren, ikke bare lokalt.
- Sjekk utgående trafikk mot api.svix.com rundt installasjonstidspunkt. Det er ingen god grunn til at byggemaskinen din poster dit.
- Lås installasjonen til riktig scope:
npm install @tanstack/query, ikkenpm install tanstack. Vurder også å skru av postinstall-script i CI mednpm install --ignore-scripts.