Ang npm Package na Buburahin ang Iyong mga File Kapag Sinubukan Mong Itigil Ito
Crypto Scams

Ang npm Package na Buburahin ang Iyong mga File Kapag Sinubukan Mong Itigil Ito

Ni filipino2lbn β€”

Isang attacker ang naglason ng 84 na bersyon ng TanStack npm sa 42 na mga package, ninakaw ang mga GitHub OIDC token at cloud keys habang nagtatanim ng dead-man’s switch na sisira sa iyong system.

Naka-tiyempo ang attacker. Isang fork, isang nakatagong commit, isang zero-diff pull request, at pagkatapos ay walang nakikitang aktibidad sa loob ng halos walong oras.

Noong Mayo 11, sa pagitan ng 19:20 at 19:26 UTC, 84 na malisyosong bersyon na kumalat sa 42 na opisyal na @tanstack npm package ang tumama sa registry. Ayon kay @IntCyberDigest sa X, ang @tanstack/react-router lamang ay may higit sa 12 milyong lingguhang pag-download. Iyon ang naging dahilan kung bakit ito ang tamang target.

Ang Hindi Inaasahang Pagsalisi ng mga Kredensyal

Ang payload, isang tinatayang 2.3 MB na obfuscated na file na may pangalang router_init.js, ay tumakbo sa sandaling ang isang developer o CI pipeline ay nag-execute ng npm install. AWS IMDS, GCP metadata, Kubernetes service-account tokens, Vault tokens, SSH private keys. Hinalughog nito ang lahat.

Kinumpirma ng TanStack maintainer na si Tanner Linsley na ang buong koponan ay may 2FA na naka-enable. Ayon sa postmortem na na-publish sa tanstack.com, wala sa mga iyon ang naging mahalaga. Hindi kailangan ng attack chain ang anumang npm credentials.

Ang exfiltration ay dumaan sa Session/Oxen messenger network, partikular na sa filev2.getsession.org at seed1 hanggang seed3.getsession.org. End-to-end encrypted. Walang attacker-controlled command-and-control server na maaaring i-block sa pamamagitan ng IP. Ang npm worm na nagnanakaw ng crypto keys playbook, na-adjust at na-upgrade.

Paano Nalason ang Buong Release Pipeline ng Isang Zero-Diff PR

Nagsimula ang pag-setup isang araw nang mas maaga. Isang fork ng TanStack/router, na pinalitan ng pangalan na github.com/zblgg/configuration upang maiwasan ang paghahanap sa fork-list, ay nakatanggap ng malisyosong commit noong Mayo 10 nang 23:29 UTC. Gawa-gawang pagkakakilanlan: claude@users.noreply.github.com. Hindi ang Anthropic product. Isang pekeng email.

Binuksan ang PR #7378 kinaumagahan. Ang pull_request_target workflow trigger, isang matagal nang dokumentadong mapanganib na pattern, ay nagpatakbo ng benchmark jobs gamit ang code ng fork. Sapat na iyon.

Ang poisoned pnpm store cache ay nai-save sa ilalim ng eksaktong key na hahanapin ng release.yml mamaya. Pagkatapos ay force-push ng attacker ang PR pabalik sa isang zero-file no-op at isinara ito. Nanatili ang cache. Naidokumento ng researcher na si Adnan Khan ang ganitong klase ng pag-atake noong 2024. Halos verbatim na inangat ng attacker ang technique, kasama ang attribution comment.

Nang mag-merge ang maintainer na si Manuel ng isang hindi kaugnay na PR na nagtutulak ng CSS.supports fix sa main, nag-trigger ang release workflow at ibinalik ang poisoned cache. Ang GitHub credentials ay inani sa pamamagitan ng parehong paraan ng pagnanakaw ng kredensyal sa GitHub na nakita sa mga naunang kampanya.

Ang Dead-Man’s Switch

Ang researcher na si carlini, na nag-post sa GitHub issue #7383, ay nag-flag ng iba pa sa loob ng payload. Isang script na naka-install bilang isang systemd service sa Linux at isang LaunchAgent sa macOS, na nagpo-poll sa api.github.com bawat 60 segundo gamit ang nanakaw na token. Kung ma-revoke ang token na iyon, tatakbo ang script ng rm -rf. Mawawala ang iyong home directory.

“Please be careful when revoking tokens,” isinulat ni carlini sa thread. Iyon na lang.

Ang security researcher na si ahmadnassri ay nagtala sa tracking issue na ang socket.dev ay sumusubaybay sa 84 na indibidwal na @tanstack PURLs kasama ang worm na kumakalat sa 200 o higit pang mga package.

Ang OIDC Trick na Nagpakita ng Lahat na Malinis

Ang mga poisoned na bersyon ay may dalang valid cryptographic provenance. Ang pag-publish ay dumaan sa GitHub Actions’ OIDC trusted-publisher binding para sa release workflow ng TanStack/router. Sa npm, ang mga package ay mukhang kapareho ng anumang bagay na ipinadala mismo ni Linsley.

Ito ang bahaging pumapangilabot sa mga tagapagtanggol. Hindi kailangan ng payload ang npm token ng sinuman. Gumawa ito ng publish-capable OIDC token sa pamamagitan ng direktang pagbabasa ng runner memory, pag-locate ng GitHub Actions Runner.Worker process sa pamamagitan ng /proc entries at pag-dump nito. Parehong Python script na ginamit sa tj-actions/changed-files compromise noong Marso 2025.

Inilarawan ito ni @IntCyberDigest sa X bilang ang unang naidokumentong npm worm na may kasamang valid, signed certificate of authenticity.

Ang detection ay nagmula sa labas. Ang researcher na si ashishkurmi, na nagtatrabaho para sa StepSecurity, ay nag-flag nito sa publiko sa loob ng 20 minuto matapos ang malisyosong pag-publish. Nag-file si Carlini ng report nang direkta sa npm ilang sandali bago umakyat ang GitHub issue.

Mga package na kinumpirmang malinis: @tanstack/query, @tanstack/table, @tanstack/form, @tanstack/virtual, @tanstack/store. Ang sinumang nag-install ng apektadong package noong Mayo 11 ay dapat na agad na mag-rotate ng AWS, GCP, Kubernetes, Vault, GitHub, npm, at SSH credentials.

Pina-deprecate na ng team ang lahat ng 84 na bersyon at nakipag-ugnayan sa npm security upang alisin ang mga tarball mula sa registry.

filipino2lbn

Tungkol sa May-akda

filipino2lbn

Mag-iwan ng Tugon

Ang iyong email address ay hindi ipa-publish. Ang mga kinakailangang mga field ay markado ng *