BitcoinWorld What Happened in the Billion-Download NPM Supply-Chain Attack of September 2025? As of September 9, 2025 , the JavaScript ecosystem is responding to a major supply-chain attack that compromised the NPM account of the popular developer 0 compromise led to the publication of malicious versions of dozens of widely-used packages, including chalk , strip-ansi , and 1 combined weekly downloads of the affected packages exceed one billion , making this one of the most significant security incidents in open-source 2 Discovery: The attack was first detected through a cryptic build failure in a CI/CD pipeline, specifically a ReferenceError: fetch is not 3 error occurred because the malware’s attempt to exfiltrate data via a fetch call failed in an older 4 environment that lacked the global fetch 5 Cause: The attacker gained control of the qix NPM account, allowing them to publish malicious patch versions of key 6 Impact: The compromised packages are fundamental building blocks of countless projects, often buried deep within dependency 7 affected packages and their approximate weekly downloads include: chalk : ~ 300 million strip-ansi : ~ 261 million color-convert : ~ 193 million color-name : ~ 191 million is-core-module : ~ 69 million error-ex : ~ 47 million simple-swizzle : ~ 26 million has-ansi : ~ 12 million How Does the Crypto-Clipper Malware from the NPM Attack Steal Funds?
The malicious code, a sophisticated “crypto-clipper,” is designed to steal cryptocurrency by targeting user transactions and wallet 8 operates using a two-pronged strategy: Passive Address Swapping : The malware “monkey-patches” the browser’s native fetch and XMLHttpRequest functions to intercept all network 9 contains a list of attacker-owned wallet addresses for currencies like Bitcoin (BTC) , Ethereum (ETH) , Solana (SOL) , Tron (TRX) , Litecoin (LTC) , and Bitcoin Cash (BCH) . Using the Levenshtein distance algorithm , the script finds the attacker’s address that is typographically most similar to the user’s legitimate one, making the substitution difficult for the human eye to 10 Transaction Hijacking : If the malware detects a browser-based wallet like MetaMask by checking for 11 , it hijacks the wallet’s communication methods ( request , send ).
When a user initiates a transaction, the malware modifies the data in memory, replacing the legitimate recipient’s address with a hardcoded attacker’s 12 user then unknowingly signs a fraudulent transaction, redirecting their funds to the 13 the Attack: The transparency of blockchains allows for the monitoring of these fraudulent 14 of the primary Ethereum addresses used by the attacker is 0xFc4a4858bafef54D1b1d7697bfb5c52F4c166976 . A complete list of compromised wallets is available in a public GitHub 15 Immediate Steps Can Developers Take to Protect Their Projects? While NPM and the open-source community are actively working to remediate the attack by removing malicious versions, compromised packages may still exist in project dependencies or lock 16 protect your projects, developers must take these immediate, critical steps: Audit Your Dependencies : Immediately check your project’s 17 or 18 file to identify any use of the affected 19 to Safe Versions : Use the overrides feature in your 20 file to force npm to use known-safe versions of the compromised 21 is crucial for fixing transitive 22 23 configuration: JSON , "version" : "1.0.0" , "overrides" : "chalk" : "5.3.0" , "strip-ansi" : "7.1.0" , "color-convert" : "2.0.1" , "color-name" : "1.1.4" , "is-core-module" : "2.13.1" , "error-ex" : "1.3.2" , "has-ansi" : "5.0.1" Clean and Reinstall : After adding the overrides, delete your node_modules folder and 24 file.
Then, run npm install to generate a new, clean lock file with the pinned, safe 25 ensures that no vulnerable code remains in your project’s 26 is the qix NPM account compromise a significant supply-chain security threat? The compromise of the qix NPM account is a critical threat because it allowed an attacker to inject malicious code into extremely popular, foundational JavaScript 27 libraries are not typically direct dependencies but are pulled in by hundreds or thousands of other 28 vast and invisible dependency tree meant the malicious code could spread to millions of applications and developer machines with minimal friction, weaponizing the inherent trust within the open-source 29 is a “crypto-clipper” and how does it relate to the September 2025 NPM attack?
A “crypto-clipper” is a type of malware that hijacks cryptocurrency 30 the context of the NPM attack, the malicious code injected into packages like chalk and strip-ansi acts as a 31 silently monitors web traffic and clipboard data, specifically looking for crypto wallet 32 a user copies or initiates a transaction, the clipper swaps the legitimate recipient address with the attacker’s, rerouting funds and causing financial loss without the user’s immediate 33 can a simple build error uncover a sophisticated supply-chain attack? In this attack, a seemingly minor build error, a ReferenceError: fetch is not defined , was the first indicator of a deep-rooted 34 error occurred because the malware’s data exfiltration attempt relied on a modern browser function that was not present in an older 35 36 failure to execute its payload made the malicious code visible, highlighting how even a simple configuration mismatch or an outdated environment can inadvertently act as a tripwire for sophisticated, obfuscated 37 qix NPM account attack serves as a stark reminder that the open-source ecosystem, despite its collaborative nature, is a major target for sophisticated cyber 38 vulnerability exposed is not just a technical flaw but a systemic risk stemming from the trust placed in third-party 39 must move beyond basic security practices and adopt a proactive, vigilant stance that includes hardening CI/CD pipelines , implementing strict dependency management policies , and fostering a security-first 40 to act now leaves projects exposed to similar threats that can compromise intellectual property, user data, and financial assets on a massive 41 post What Happened in the Billion-Download NPM Supply-Chain Attack of September 2025?
first appeared on BitcoinWorld and is written by Keshav Aggarwal
Story Tags

Latest news and analysis from Bitcoin World



