Summary: A large-scale malicious campaign, nicknamed the Shai-Hulud attack, has impacted the npm ecosystem with over 500 trojanized packages, including those packages maintained by CrowdStrike. The attack originated from a sophisticated phishing campaign that exploited the fundamental trust relationships within the npm ecosystem.
The JavaScript ecosystem is under a massive threat following a major supply chain attack. Hence, millions of crypto users and developers are now at risk. With more than a billion of these packages downloaded already, thousands of blockchain wallets and applications could be suffer varying exploits.
The attackers injected malicious scripts that
This attack is ongoing and all users of npm packages should take immediate steps to secure tokens, audit their environments and verify package integrity.
Issue Details
Initial discovery on September 14, 2025, when suspicious versions of @ctrl/tinycolor and ~40 other packages were flagged. By September 16, the attack had spread to include CrowdStrike-namespaced packages and dozens from @ctrl, @nativescript-community, rxnt, @operato, and others.
Malware behavior
Attack Flow

Here are some popular packages with affected versions
| Package | Version |
| @ctrl/ngx-codemirror | 7.0.1, 7.0.2 |
| @ctrl/tinycolor | 4.1.1, 4.1.2 |
| @crowdstrike/foundry-js | 0.19.1, 0.19.2 |
| @crowdstrike/logscale-dashboard | 1.205.1, 1.205.2 |
| @nativescript-community/sqlite | 3.5.2 – 3.5.5 |
| @nativescript-community/text | 1.6.9 – 1.6.13 |
| @nstudio/nativescript-checkbox | 2.0.6 – 2.0.9 |
| @nstudio/angular | 20.0.4 – 20.0.6 |
| eslint-config-crowdstrike | 11.0.2, 11.0.3 |
| remark-preset-lint-crowdstrike | 4.0.1, 4.0.2 |
Attack Indicators
Malicious Workflow Filenames
Exfiltration Endpoint
Hashes of Malicious Payloads
| SHA-256 Hash | Notes |
| 46faab8ab153fae6e80e7cca38eab363075bb524edd79e42269217a083628f09 | Large batch, Sept 15–16 |
| b74caeaa75e077c99f7d44f46daaf9796a3be43ecf24f2a1fd381844669da777 | CrowdStrike-related packages burst (Sept 16) |
| de0e25a3e6c1e1e5998b306b7141b3dc4c0088da9d7bb47c1c00c91e6e4f85d6 | First observed compromise (Sept 14) |
| 81d2a004a1bca6ef87a1caf7d0e0b355ad1764238e40ff6d1b1cb77ad4f595c3 | Sept 14 small burst |
| 83a650ce44b2a9854802a7fb4c202877815274c129af49e6c2d1d5d5d55c501e | ~25 packages, Sept 14 |
| 4b2399646573bb737c4969563303d8ee2e9ddbd1b271f1ca9e35ea78062538db | Burst of ~17 packages, Sept 14–15 |
| dc67467a39b70d1cd4c1f7f7a459b35058163592f4a9e8fb4dffcbba98ef210c | Multiple reuse across Sept 15–16 |
Recommendations:
Organizations and developers using npm should take immediate actions:
Conclusion
This incident is significant compromises in the npm ecosystem, impacting hundreds of widely used packages across various namespaces.
The attackers’ tactics such as credential theft, manipulation of GitHub workflows, and widespread package propagation, highlighting the growing sophistication of modern supply chain attacks.
Developers and organizations are strongly advised to take immediate action by removing affected package versions, rotating any exposed secrets, auditing their build environments and strengthening CI/CD security. Continuous monitoring and rapid response are essential to reducing risk and maintaining trust in open-source software.
The attack’s browser API-level operation revealed critical blind spots in enterprise security monitoring, particularly for organizations handling cryptocurrency transactions.
References:
Recent Comments