Mini Shai-Hulud Worm Resurfaces Across Hundreds of npm Packages

· Original article ↗

Summary

Researchers report that the TeamPCP-linked Mini Shai-Hulud worm is spreading through hundreds of npm packages, stealing credentials, poisoning accessible packages and planting persistent backdoors that can remain after package removal.

Key points

  • The campaign is reported to be active, with Mini Shai-Hulud spreading through hundreds of npm packages.
  • The malware runs when an affected package is installed, including in developer environments and CI/CD pipelines, and steals GitHub, npm, SSH, cloud and database credentials.
  • Using stolen publishing tokens, it can inject code into accessible packages and publish poisoned versions under a maintainer’s account.
  • Backdoors in .vscode/tasks.json and .claude/settings.json can persist after the infected package is removed.
  • The malware reportedly installs Linux systemd user services or macOS LaunchAgents; kitty-monitor polls GitHub commit search hourly, while gh-token-monitor checks stolen tokens every 60 seconds.
  • Packages named in this wave include AntV, TallyUI, echarts-for-react and timeago.js.
  • Researchers advise treating machines and runners that installed affected versions as exposed, rotating secrets, removing persistence artifacts and reviewing recent publishing activity.

Article Details

Attack Vectors
  • Compromised npm packages execute malware when installed, including in developers’ local environments and CI/CD pipelines.
  • The malware uses stolen publishing tokens to add itself to packages the token can access and publish poisoned versions under the legitimate maintainer’s account.
  • The malware searches developers’ computers for other Node.js projects and copies itself into them.
  • The malware harvests GitHub and npm tokens, SSH keys, cloud credentials, and database connection strings, then sends stolen data to attacker-controlled GitHub repositories.
  • The malware installs persistent backdoors in .vscode/tasks.json and .claude/settings.json and creates OS-level background services: a systemd user service on Linux and a LaunchAgent on macOS.
  • The kitty-monitor backdoor polls GitHub commit search hourly for signed remote commands; gh-token-monitor checks stolen GitHub tokens every 60 seconds.
Defensive Notes
  • Treat any machine or CI/CD runner that installed an affected package version as compromised until secrets are rotated, persistence artifacts are removed, and recent publishing activity is reviewed.
  • Audit and clean .vscode/tasks.json and .claude/settings.json; removing the affected npm package alone does not remove the backdoors.
  • Review and remove the malicious systemd user service or macOS LaunchAgent, and rotate potentially exposed credentials.

MITRE ATT&CK

Threat Actors

Malware

Products

Related Articles