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 qix. This compromise led to the publication of malicious versions of dozens of widely-used packages, including chalk, strip-ansi, and color-convert. The combined weekly downloads of the affected packages exceed one billion, making this one of the most significant security incidents in open-source history. Initial Discovery: The attack was first detected through a cryptic build failure in a CI/CD pipeline, specifically a ReferenceError: fetch is not defined. This error occurred because the malware’s attempt to exfiltrate data via a fetch call failed in an older Node.js environment that lacked the global fetch function. Root Cause: The attacker gained control of the qix NPM account, allowing them to publish malicious patch versions of key libraries. Vast Impact: The compromised packages are fundamental building blocks of countless projects, often buried deep within dependency trees. Key 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 interactions. It 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 traffic. It 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 detect. Active Transaction Hijacking: If the malware detects a browser-based wallet like MetaMask by checking for window.ethereum, 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 address. The user then unknowingly signs a fraudulent transaction, redirecting their funds to the attacker. Tracking the Attack: The transparency of blockchains allows for the monitoring of these fraudulent transactions. One of the primary Ethereum addresses used by the attacker is 0xFc4a4858bafef54D1b1d7697bfb5c52F4c166976. A complete list of compromised wallets is available in a public GitHub Gist.   What 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 files. To protect your projects, developers must take these immediate, critical steps: Audit Your Dependencies: Immediately check your project’s package-lock.json or yarn.lock file to identify any use of the affected packages. Pin to Safe Versions: Use the overrides feature in your package.json file to force npm to use known-safe versions of the compromised packages. This is crucial for fixing transitive dependencies.   Example package.json configuration: JSON { "name": "your-project", "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 package-lock.json file. Then, run npm install to generate a new, clean lock file with the pinned, safe versions. This ensures that no vulnerable code remains in your project’s environment. Why 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 packages. These libraries are not typically direct dependencies but are pulled in by hundreds or thousands of other packages. This 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 ecosystem.   What 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 transactions. In the context of the NPM attack, the malicious code injected into packages like chalk and strip-ansi acts as a crypto-clipper. It silently monitors web traffic and clipboard data, specifically looking for crypto wallet addresses. When 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 knowledge.   How 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 problem. This error occurred because the malware’s data exfiltration attempt relied on a modern browser function that was not present in an older Node.js environment. The 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 attacks.   The 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 threats. The vulnerability exposed is not just a technical flaw but a systemic risk stemming from the trust placed in third-party dependencies. Organizations 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 culture. Failing to act now leaves projects exposed to similar threats that can compromise intellectual property, user data, and financial assets on a massive scale. This post What Happened in the Billion-Download NPM Supply-Chain Attack of September 2025? first appeared on BitcoinWorld and is written by Keshav AggarwalBitcoinWorld 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 qix. This compromise led to the publication of malicious versions of dozens of widely-used packages, including chalk, strip-ansi, and color-convert. The combined weekly downloads of the affected packages exceed one billion, making this one of the most significant security incidents in open-source history. Initial Discovery: The attack was first detected through a cryptic build failure in a CI/CD pipeline, specifically a ReferenceError: fetch is not defined. This error occurred because the malware’s attempt to exfiltrate data via a fetch call failed in an older Node.js environment that lacked the global fetch function. Root Cause: The attacker gained control of the qix NPM account, allowing them to publish malicious patch versions of key libraries. Vast Impact: The compromised packages are fundamental building blocks of countless projects, often buried deep within dependency trees. Key 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 interactions. It 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 traffic. It 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 detect. Active Transaction Hijacking: If the malware detects a browser-based wallet like MetaMask by checking for window.ethereum, 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 address. The user then unknowingly signs a fraudulent transaction, redirecting their funds to the attacker. Tracking the Attack: The transparency of blockchains allows for the monitoring of these fraudulent transactions. One of the primary Ethereum addresses used by the attacker is 0xFc4a4858bafef54D1b1d7697bfb5c52F4c166976. A complete list of compromised wallets is available in a public GitHub Gist.   What 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 files. To protect your projects, developers must take these immediate, critical steps: Audit Your Dependencies: Immediately check your project’s package-lock.json or yarn.lock file to identify any use of the affected packages. Pin to Safe Versions: Use the overrides feature in your package.json file to force npm to use known-safe versions of the compromised packages. This is crucial for fixing transitive dependencies.   Example package.json configuration: JSON { "name": "your-project", "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 package-lock.json file. Then, run npm install to generate a new, clean lock file with the pinned, safe versions. This ensures that no vulnerable code remains in your project’s environment. Why 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 packages. These libraries are not typically direct dependencies but are pulled in by hundreds or thousands of other packages. This 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 ecosystem.   What 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 transactions. In the context of the NPM attack, the malicious code injected into packages like chalk and strip-ansi acts as a crypto-clipper. It silently monitors web traffic and clipboard data, specifically looking for crypto wallet addresses. When 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 knowledge.   How 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 problem. This error occurred because the malware’s data exfiltration attempt relied on a modern browser function that was not present in an older Node.js environment. The 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 attacks.   The 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 threats. The vulnerability exposed is not just a technical flaw but a systemic risk stemming from the trust placed in third-party dependencies. Organizations 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 culture. Failing to act now leaves projects exposed to similar threats that can compromise intellectual property, user data, and financial assets on a massive scale. This post What Happened in the Billion-Download NPM Supply-Chain Attack of September 2025? first appeared on BitcoinWorld and is written by Keshav Aggarwal

What Happened in the Billion-Download NPM Supply-Chain Attack of September 2025?

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 qix. This compromise led to the publication of malicious versions of dozens of widely-used packages, including chalk, strip-ansi, and color-convert. The combined weekly downloads of the affected packages exceed one billion, making this one of the most significant security incidents in open-source history.

  • Initial Discovery: The attack was first detected through a cryptic build failure in a CI/CD pipeline, specifically a ReferenceError: fetch is not defined. This error occurred because the malware’s attempt to exfiltrate data via a fetch call failed in an older Node.js environment that lacked the global fetch function.
  • Root Cause: The attacker gained control of the qix NPM account, allowing them to publish malicious patch versions of key libraries.
  • Vast Impact: The compromised packages are fundamental building blocks of countless projects, often buried deep within dependency trees. Key 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 interactions. It 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 traffic. It 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 detect.
  • Active Transaction Hijacking: If the malware detects a browser-based wallet like MetaMask by checking for window.ethereum, 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 address. The user then unknowingly signs a fraudulent transaction, redirecting their funds to the attacker.

Tracking the Attack: The transparency of blockchains allows for the monitoring of these fraudulent transactions. One of the primary Ethereum addresses used by the attacker is 0xFc4a4858bafef54D1b1d7697bfb5c52F4c166976. A complete list of compromised wallets is available in a public GitHub Gist.

 

What 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 files. To protect your projects, developers must take these immediate, critical steps:

  • Audit Your Dependencies: Immediately check your project’s package-lock.json or yarn.lock file to identify any use of the affected packages.
  • Pin to Safe Versions: Use the overrides feature in your package.json file to force npm to use known-safe versions of the compromised packages. This is crucial for fixing transitive dependencies.

 

  • Example package.json configuration:
JSON
{   "name": "your-project",   "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 package-lock.json file. Then, run npm install to generate a new, clean lock file with the pinned, safe versions. This ensures that no vulnerable code remains in your project’s environment.

Why 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 packages. These libraries are not typically direct dependencies but are pulled in by hundreds or thousands of other packages. This 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 ecosystem.

 

What 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 transactions. In the context of the NPM attack, the malicious code injected into packages like chalk and strip-ansi acts as a crypto-clipper. It silently monitors web traffic and clipboard data, specifically looking for crypto wallet addresses. When 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 knowledge.

 

How 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 problem. This error occurred because the malware’s data exfiltration attempt relied on a modern browser function that was not present in an older Node.js environment. The 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 attacks.

 

The 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 threats. The vulnerability exposed is not just a technical flaw but a systemic risk stemming from the trust placed in third-party dependencies. Organizations 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 culture. Failing to act now leaves projects exposed to similar threats that can compromise intellectual property, user data, and financial assets on a massive scale.

This post What Happened in the Billion-Download NPM Supply-Chain Attack of September 2025? first appeared on BitcoinWorld and is written by Keshav Aggarwal

Market Opportunity
Bitcoin Cash Node Logo
Bitcoin Cash Node Price(BCH)
$593.7
$593.7$593.7
-0.71%
USD
Bitcoin Cash Node (BCH) Live Price Chart
Disclaimer: The articles reposted on this site are sourced from public platforms and are provided for informational purposes only. They do not necessarily reflect the views of MEXC. All rights remain with the original authors. If you believe any content infringes on third-party rights, please contact service@support.mexc.com for removal. MEXC makes no guarantees regarding the accuracy, completeness, or timeliness of the content and is not responsible for any actions taken based on the information provided. The content does not constitute financial, legal, or other professional advice, nor should it be considered a recommendation or endorsement by MEXC.

You May Also Like

Buterin pushes Layer 2 interoperability as cornerstone of Ethereum’s future

Buterin pushes Layer 2 interoperability as cornerstone of Ethereum’s future

Ethereum founder, Vitalik Buterin, has unveiled new goals for the Ethereum blockchain today at the Japan Developer Conference. The plan lays out short-term, mid-term, and long-term goals touching on L2 interoperability and faster responsiveness among others. In terms of technology, he said again that he is sure that Layer 2 options are the best way […]
Share
Cryptopolitan2025/09/18 01:15
BlackRock Increases U.S. Stock Exposure Amid AI Surge

BlackRock Increases U.S. Stock Exposure Amid AI Surge

The post BlackRock Increases U.S. Stock Exposure Amid AI Surge appeared on BitcoinEthereumNews.com. Key Points: BlackRock significantly increased U.S. stock exposure. AI sector driven gains boost S&P 500 to historic highs. Shift may set a precedent for other major asset managers. BlackRock, the largest asset manager, significantly increased U.S. stock and AI sector exposure, adjusting its $185 billion investment portfolios, according to a recent investment outlook report.. This strategic shift signals strong confidence in U.S. market growth, driven by AI and anticipated Federal Reserve moves, influencing significant fund flows into BlackRock’s ETFs. The reallocation increases U.S. stocks by 2% while reducing holdings in international developed markets. BlackRock’s move reflects confidence in the U.S. stock market’s trajectory, driven by robust earnings and the anticipation of Federal Reserve rate cuts. As a result, billions of dollars have flowed into BlackRock’s ETFs following the portfolio adjustment. “Our increased allocation to U.S. stocks, particularly in the AI sector, is a testament to our confidence in the growth potential of these technologies.” — Larry Fink, CEO, BlackRock The financial markets have responded favorably to this adjustment. The S&P 500 Index recently reached a historic high this year, supported by AI-driven investment enthusiasm. BlackRock’s decision aligns with widespread market speculation on the Federal Reserve’s next moves, further amplifying investor interest and confidence. AI Surge Propels S&P 500 to Historic Highs At no other time in history has the S&P 500 seen such dramatic gains driven by a single sector as the recent surge spurred by AI investments in 2023. Experts suggest that the strategic increase in U.S. stock exposure by BlackRock may set a precedent for other major asset managers. Historically, shifts of this magnitude have influenced broader market behaviors as others follow suit. Market analysts point to the favorable economic environment and technological advancements that are propelling the AI sector’s momentum. The continued growth of AI technologies is…
Share
BitcoinEthereumNews2025/09/18 02:49
The 5 Best AI Sales Assistants for SDR Teams in 2026

The 5 Best AI Sales Assistants for SDR Teams in 2026

Sales teams are under pressure to generate more pipeline while response rates decline and headcount stays flat. Reps are expected to personalize outreach and spend
Share
AI Journal2026/01/18 06:14