top of page
Search

The largest supply chain attack in JavaScript history

  • Writer: Loïc Castel
    Loïc Castel
  • 7 days ago
  • 4 min read

Document version : 1.0

Initial publication date : September 9, 2025

Author : Loïc Castel

Summary :


Introduction and Summary of Facts

On September 8, 2025 , the JavaScript ecosystem was hit by what is believed to be the largest supply chain attack in its history . A maintainer known as " qix " was targeted by a sophisticated phishing campaign, allowing attackers to compromise 18 popular NPM packages.


Compromised packages include core libraries such as chalk (300 million downloads per week), debug (357.6 million), strip-ansi (261 million), and color-convert (193 million). In total, these packages have over 2.6 billion weekly downloads , potentially affecting millions of projects worldwide.

The full list is available on the Aikido blog, the company that reported the information the fastest:


The particularity of this attack lies in its specific targeting: unlike classic attacks targeting development environments, the injected malware directly targets cryptocurrency transactions carried out from browsers , transforming development tools into sophisticated crypto-stealers.

Source : github.com
Source : github.com

Timeline of the attack


Impacts for users and targets of this campaign

Risks to end users

Users of browser-based crypto wallets (MetaMask, Phantom, Trust Wallet) are the main victims of this attack. The malware acts as an advanced crypto-clipper that:


  • Intercepts Web3 interactions in real time

  • Substitutes destination addresses with wallets controlled by the attackers

  • Manipulates transactions before signing, making fraud invisible

  • Targets multiple blockchains : Ethereum, Bitcoin, Solana, Tron, Litecoin and Bitcoin Cash


Infection vector: Targeted phishing

The attack began with a sophisticated phishing campaign targeting NPM maintainers. The attackers:


  • Created the npmjs[.]help domain three days before the attack

  • Sent emails from support@npmjs[.]help mimicking official support

  • Threatened with account lockout before September 10, 2025

  • Used phishing pages hosted on BunnyCDN to steal 2FA credentials


Technical analysis of the malicious payload

The injected code uses a dual attack strategy :


Passive Attack: Intelligent Address Replacement

The "monkey-patch" malware exploits the browser's fetch and XMLHttpRequest functions to intercept all data streams. It uses a Levenshtein distance algorithm to select, from its predefined lists of addresses, the one that most visually resembles the user's legitimate address . This technique makes the substitution virtually undetectable to the naked eye.

Source : Github.com - Extrait du code malveillant inhecté
Source : Github.com - Extrait du code malveillant inhecté

Active Attack: Transaction Theft

When a crypto wallet is detected, the malware intercepts the communication methods ( request , send ) before sending to the wallet for signature. It directly modifies the transaction data in memory, replacing the recipient's address with an address controlled by the attacker: 0xFc4a4858bafef54D1b1d7697bfb5c52F4c166976 .



Actual damage from the attack

Despite the theoretical scale of this attack, the financial damage was limited to less than $50 . According to the Security Alliance, only the Ethereum address 0xFc4a48... received stolen funds. This low profitability is explained by:


  • Rapid attack detection (5 minutes )

  • The community's immediate reaction to remove malicious packages

  • Unfavorable timing ( weekend, low crypto activity)

  • Active monitoring of blockchain addresses by security researchers


Safety recommendations

In the event of a confirmed detection, Safercy strongly recommends contacting a company specializing in incident response in order to validate the impacts of the attack.


Here is a command line to detect the malicious code using ripgrep or grep :

rg -u --max-columns=80 _0x112fa8
grep -R _0x112fa8 . 

For developers

  • Immediate dependency audit : Check for compromised versions in your projects using the following command, for example:

npm audit
  • Using NPM Overrides : Forcing Safe Versions in Your Package.json

  • Complete rebuild : Remove node_modules and package-lock.json , then reinstall


For cryptocurrency users

  • Recommended hardware wallets : Favor devices with a secure screen supporting Clear Signing

  • Systematic verification : Always check destination addresses before signing

  • Avoid blind signing : Never sign transactions without full verification

  • Updating Browsers and Extensions : Keeping Software Wallets Up to Date


For businesses

  • Supply chain monitoring : Implement automated monitoring tools ( SaferFind allows this type of supervision)

  • Secure CI/CD Environments : Use Isolated and Controlled Runners

  • Dependency Policy : Freeze Critical Versions and Audit Updates

  • Team training : Raise awareness of phishing techniques targeting developers (Safercy can also support you through workshops and training)


Need help securing your infrastructure?

This attack demonstrates the criticality of supply chain security in the modern development ecosystem. The consequences could have been catastrophic without the rapid detection and coordinated response of the security community.


Safercy helps companies secure their software supply chains and respond to security incidents. Our team of cybersecurity experts can help you:


  • Audit your dependencies and identify risks

  • Implement real-time monitoring solutions

  • Train your teams in good security practices

  • Respond quickly to security incidents



In the face of constantly evolving threats, preparation and expertise make the difference between a controlled crisis and a disaster.



Indicators of Compromise

Kind

Value

Domain

npmjs[.]help


Sources

 
 

Legal Notice

More about cookies

More about confidentiality

bottom of page