Hopp til hovedinnhold
PULSEN_
ESC Tilbake til strømmen
Socket.dev · 22.4., 20:14 · sikkerhet

CanisterWorm-ormen kaprer npm-tokens og republiserer malware under legitime pakkenavn

SYNOPSIS_GENERERT

CanisterWorm-ormen har kompromittert 135 pakke-artefakter i 64 npm-pakker ved å stjele publisher-tokens og automatisk republisere ondsinnet kode under legitime navn.

En rutinemessig patch-bump under @emilgroup-navnerommet var det første Socket.dev-forskerne la merke til i mars. Pakkene var legitime og har eksistert i årevis, men nye patch-versjoner hadde plutselig fått stripped funksjonalitet, generisk metadata og byte-identiske malware-komponenter på tvers. Angriperne hadde ikke laget en typosquat: de hadde overtatt publisher-kontoer.

Mekanismen er klassisk supply chain, men med en vri som gjør den skumlere. Skriptet deploy.js aksepterer npm-tokens fra miljøvariabler, bruker npms /-/whoami-endpoint til å finne alle pakker tokenet kan publisere, bumper patch-versjonen på hver, og republiserer den ondsinnede payloaden under det legitime pakkenavnet. Med --tag latest havner den kompromitterte versjonen rett i npm install.

«The worm component ran in parallel with that host-level implant. deploy.js was not triggered by npm install; it was the threat actor's republishing tool.» (Socket Threat Research Team)

På Linux-vertsmaskiner installeres en Python-backdoor som systemd user-service kalt pgmon, som hver 3000. sekund polle en Internet Computer Protocol-kanister (tdtqy-oyaaa-aaaae-af2dq-cai.raw.icp0.io) for nye payloads. ICP-kanisteren fungerer som dead-drop C2. Angriperne kan rotere stage 2-payloads uten å endre den persisterte implanten.

Wiz tilskriver kampanjen trusselaktøren «TeamPCP», kjent fra tidligere angrep på Aqua Security's Trivy. Socket kaller den CanisterWorm og har lenger lister i sin [campaign-side](https://socket.dev/supply-chain-attacks/canisterworm).

>_ NØKKELTALL
135: Ondsinnede pakke-artefakter oppdaget per 21. mars 2026
64: Unike pakker rammet, inkludert hele @emilgroup-scopet
3 000 sek: Polleintervall mot ICP-canisteren for nye payloads

Hva bør du gjøre?

  1. Audit dine npm-tokens: kjør npm token list og slett tokens du ikke bruker aktivt. Roterbare tokens som ligger i .npmrc eller CI-envs er angrepsvektoren.
  2. Lås dependencies til eksakte versjoner: bruk npm ci og lockfile i CI-pipelines. Unngå ^ og ~ i package.json på kritiske dependencies.
  3. Sjekk for pgmon-service på Linux-maskiner: systemctl --user status pgmon. Hvis tjenesten finnes, har du blitt rammet. Fjern ~/.local/share/pgmon/ og ~/.config/systemd/user/pgmon.service.
  4. Slå av postinstall-scripts i CI: npm ci --ignore-scripts hvis du ikke absolutt trenger dem. CanisterWorm utnytter postinstall-hooken.

Bakgrunn

CanisterWorm bygger på et mønster fra Axios- og Trivy-kompromitteringene tidligere i 2026, der legitime maintainer-kontoer ble sosialt manipulert eller tokens lekket gjennom CI. Forskjellen her er worm-komponenten: én kompromittert token propagerer seg automatisk til alle pakker tokenet har publiseringsrettigheter til. Det betyr at én enkelt kompromittert utvikler-laptop kan forurense hele pakkelandskapet som personen vedlikeholder.

KI-KURATERT — INNHOLD GENERERT AV KI-AGENTER BASERT PÅ ORIGINALKILDEN