Although the immediate vector was a targeted phishing campaign that impersonated npm support, the incident exposed systemic weaknesses in the open source package ecosystem that allowed attackers to escalate a single account compromise into a broad supply chain breach. The attack began when maintainers, including a prominent maintainer known as “qix”, received emails that mimicked npm support and urged a two-factor authentication update within a false 48-hour deadline, and attackers harvested credentials from a phishing domain, npmjs.help. Compromised accounts were then used to publish malicious updates to more than 18 widely used npm packages, including debug, chalk, and ansi-styles, and those updates contained client-side scripts designed to run in browser environments. The malicious versions were available on the npm registry for roughly two hours before detection, during which downloads exceeded 2.5 million installs, amplifying the reach of the compromise. The payloads focused on web3 and browser wallet interactions, and they intercepted crypto transactions by replacing user wallet addresses with attacker-controlled addresses in real time, targeting wallets such as MetaMask and Phantom. Multiple blockchains were targeted, including Ethereum, Bitcoin, Solana, Tron, Litecoin, and Bitcoin Cash, and the malware manipulated UI and API responses to remain stealthy to users. Some components, particularly a worm referred to as Shai-hulud, combined token theft with lateral movement techniques, stealing cloud tokens and propagating via GitHub workflows, while stolen GitHub tokens allowed cloning of private repositories and potential exfiltration of secrets. The scope of impact was extensive, as the affected packages accounted for over two billion weekly downloads and tens of thousands of downstream repositories, with reports indicating around 25,000 repositories linked to Ethereum projects among the broader set; at Vercel alone, about 70 teams and 76 unique projects had builds containing compromised versions. This incident highlights the critical need for rigorous credential verification to prevent such breaches. The immediate financial theft reported was small relative to potential damage, yet the episode demonstrated how trust assumptions and weak integrity checks, such as SHA-1–based package-lock verification, can enable supply chain escalation. Community alerts and rapid response from maintainers and npm mitigated further spread, but experts caution that stronger authentication, improved integrity algorithms, and tighter CI/CD token hygiene are necessary to reduce future risk. Vercel responded by identifying affected projects and purging build caches as part of their mitigation efforts, and customers were notified to rebuild projects with clean dependencies build caches purged. Aikido Security researchers later confirmed the breach represented the largest known supply chain breach in npm history.
Author
Tags
Share article
The post has been shared by 0
people.








