CanisterSprawl Worm Uses Stolen npm Tokens to Spread Through Compromised Packages

· Original article ↗

Summary

Socket and StepSecurity report CanisterSprawl, a worm that steals developer secrets and npm tokens to spread poisoned packages. The article also covers compromised xinference releases and the prt-scan campaign targeting GitHub Actions.

Key points

  • CanisterSprawl uses malicious postinstall hooks in compromised npm packages to steal developer credentials and use npm tokens to publish further poisoned releases.
  • Affected npm packages include @automagik/genie, @fairwords/loopback-connector-es, @fairwords/websocket, @openwebconcept/design-tokens, @openwebconcept/theme-owc, and pgserve.
  • The malware targets secrets including SSH keys, cloud credentials, Kubernetes and Docker configurations, and local .env files; it sends stolen data to a webhook and an ICP canister.
  • The worm includes PyPI propagation logic that can create and upload malicious Python packages when the necessary credentials are available.
  • JFrog reported compromised xinference versions 2.6.0–2.6.2 containing a credential-harvesting payload. TeamPCP disputed responsibility and said a copycat was behind it.
  • Wiz reported over 450 analyzed prt-scan exploit attempts targeting GitHub Actions pull_request_target workflows, with a success rate below 10%; most successful cases involved small hobbyist projects and ephemeral workflow credentials.

Article Details

Event Type
Self-propagating software supply-chain attack using compromised npm packages and stolen developer tokens
Impact
The reported CanisterSprawl worm stole developer secrets and npm tokens through malicious postinstall hooks, then used the tokens to publish poisoned package versions and spread. It also contained logic to publish malicious PyPI packages when credentials were available. The article identifies six affected npm packages and describes exfiltration to an HTTPS webhook and an ICP canister. Separately, JFrog reported compromised xinference versions, while TeamPCP disputed responsibility and claimed a copycat was behind that compromise.

Indicators of compromise

TypeIndicatorContext
HOSTNAMEcjn37-uyaaa-aaaac-qgnva-cai[.]raw[.]icp0[.]ioICP canister host identified as an endpoint used by CanisterSprawl to exfiltrate stolen information.
HOSTNAMEpbyi76s0e9[.]execute-api[.]us-east-1[.]amazonaws[.]comAWS API Gateway endpoint reported as an exfiltration destination for credentials stolen by the Asurion-impersonation packages.
HOSTNAMEtelemetry[.]api-monitor[.]comWebhook identified as an endpoint used by CanisterSprawl to exfiltrate stolen developer information.

MITRE ATT&CK

People

Threat Actors

Malware

Products

Related Articles