Shai-Hulud: Self-Replicating Worm Hits 500+ npm Packages
The worm's packages were removed in September 2025, but every machine that installed one handed over its npm, GitHub and cloud credentials, so the open question is whether you rotated them and removed the backdoor workflow.
Must act: Anyone whose developer machines or CI installed an affected package version between Sep 14 and Sep 16, 2025, and any org with a shai-hulud branch, shai-hulud-workflow.yml file or public Shai-Hulud repository.
Can relax: Teams whose lockfiles and caches contain none of the affected versions and whose GitHub orgs show no Shai-Hulud artifacts; Windows-only installs were skipped by the payload.
- Check lockfiles and caches against a published affected-package list (e.g. npm ls @ctrl/tinycolor) including nested dependencies.
- Search every GitHub org for a shai-hulud branch, .github/workflows/shai-hulud-workflow.yml and public repositories named Shai-Hulud; delete them after preserving evidence.
- On any machine that installed an affected version, rotate npm tokens, GitHub PATs, SSH keys, AWS/GCP/Azure credentials and CI secrets.