Zpět na domů

CanisterWorm v npm: útok po Trivy

CanisterWorm — nový samorožšířující se červ, který využívá ICP kontejnery pro C2 po útoku na Trivy. Nakazí npm balíčky prostřednictvím postinstall a krádeže tokenů, zajišťuje perzistenci systemd. Analýza mechanismů a srovnání se Shai-Hulud.

Červ CanisterWorm nakazí npm po Trivy
Advertisement 728x90

# CanisterWorm: samoopakující se červ v dodavatelském řetězci npm po útoku na Trivy

Zlomyslní útočníci po kompromitaci Trivy nasadili červa CanisterWorm, který nakazil desítky npm balíčků. Škodlivý kód využívá ICP kontejnery blockchainu Internet Computer pro odolný C2 server. Jedná se o první zdokumentované zneužití ICP pro přístup k payloadu, což zajišťuje decentralizovanou odolnost vůči blokacím.

Mechanismus nákazy a šíření

Řetězec útoku začíná postinstall háčkem v kompromitovaných balíčcích. Hák spustí loader, který nainstaluje Python backdoor. Backdoor se připojí k ICP kontejneru pro získání URL další užitečné zátěže.

ICP kontejner implementuje metody get_latest_link, http_request a update_link. Poslední z nich umožňuje kontrolérovi měnit URL v reálném čase a aktualizovat spustitelné soubory na všech nakažených hostech bez přerušení provozu.

Google AdInline article slot

Backdoor dotazuje kontejner každých 50 minut s falešným User-Agent. Pokud URL obsahuje youtube.com, implant přejde do spícího režimu. Aktivace proběhne přepnutím na skutečný payload; staré procesy pokračují v chodu paralelně.

Trvalost zajišťuje systemd služba „pgmon“, která se maskuje jako monitorování PostgreSQL. Direktiva Restart=always restartuje backdoor 5 sekund po dokončení.

Postižené balíčky:

Google AdInline article slot
  • 28 v oboru @EmilGroup;
  • 16 v oboru @opengov;
  • @teale.io/eslint-config;
  • @airtm/uuid-base32;
  • @pypestream/floating-ui-dom.

Socket zaznamenal 141 škodlivých artefaktů v 66+ unikátních balíčcích.

Evoluce CanisterWorm k plné automatizaci

Ve verzích @teale.io/eslint-config 1.8.11–1.8.12 mutovaný variant integruje krádež npm tokenů do index.js. Funkce findNpmTokens() prohledává prostředí v fázi postinstall, spustí deploy.js jako pozadí pro samoopakující se šíření.

Deploy.js publikuje škodlivé verze do všech dostupných balíčků pomocí ukradených tokenů. Červ, předpokládaně generovaný AI s technologií Vibe, nezakrývá kód.

Google AdInline article slot

Aktuální payload v ICP je testovací řetězec „hello123“, což naznačuje fázi ověřování řetězce před plnohodnotným útokem.

Podobný mechanismus s youtube.com kontrolou byl objeven v trojanizovaném Trivy 0.69.4 prostřednictvím sysmon.py, který odkazuje na stejný ICP kontejner.

Srovnání s předchozími kampaněmi

CanisterWorm navazuje na vzorec Shai-Hulud (září): kompromitace tinycolor se rozšířila na 40+ balíčků, poté červ nakazil 300+ prostřednictvím NpmModule.updatePackage a TruffleHog pro validaci účtů.

Sha1-Hulud (listopad) postihl 25 000+ repozitářů: preinstall skript setup_bun.js detekoval prostředí Bun, spustil bun_environment.js pro krádež dat.

| Kampaň | Postižené balíčky | Mechanismus šíření | Nástroje krádeže |

|-------------|-------------------|-----------------------------------|------------------|

| Shai-Hulud | 300+ | NpmModule.updatePackage | TruffleHog |

| Sha1-Hulud | 25 000+ | preinstall/setup_bun.js | bun_environment |

| CanisterWorm| 66+ | postinstall/deploy.js + ICP C2 | findNpmTokens |

Co je důležité

  • První využití ICP kontejnerů pro C2 v malwaru: decentralizace ztěžuje takedown.
  • Automatické šíření: krádež tokenů + deploy.js mění instalaci na vektor nákazy CI/CD a dev strojů.
  • Odolnost: systemd s Restart=always + paralelní procesy + dynamický update_link.
  • Maskování: služby pod pgmon, spící režim na youtube.com.
  • Rozsah: od Trivy k 141 artefaktům; evoluce k plné automatizaci bez manuálního deploy.

Společnosti Aikido Security, Endor Labs, JFrog a Wiz potvrzují: jedná se o přechod od jednorázové kompromitace k exponenciálnímu chování červa v npm ekosystému.

— Editorial Team

Advertisement 728x90

Číst dál