Kalyxo

Kalyxo / Incident notes

A violet stream of transaction beads splits at an angled surface and diverts into a side channel.

Crypto-stealing code found in 18 npm packages representing more than 2 billion weekly downloads

Published

Attackers compromised widely used JavaScript dependencies and injected browser code that redirected cryptocurrency transactions.

Malicious releases targeted wallet activity

On September 8, 2025, Aikido’s intelligence feed detected malicious versions of 18 npm packages. The list included widely used dependencies such as debug, chalk, and ansi-styles. Aikido reported that these package names together had more than two billion weekly downloads.

The injected code was designed to run in a website’s browser. Aikido’s original analysis says it watched for crypto and Web3 activity, manipulated wallet interactions, and could rewrite payment destinations so funds or approvals went to attacker-controlled accounts. This was a browser-side crypto theft technique, not the credential-harvesting worm seen in the later Shai-Hulud campaign.

The download number measures the packages’ combined weekly popularity. It is not a count of users who installed the affected versions, and the report does not establish that every downloader was exposed or that funds were taken in every instance.

Check what changed in the browser bundle

Popular utility packages often arrive as transitive dependencies, so a compromised update can enter an application without a developer explicitly adding a wallet-related tool. Applications that connect to wallets should pay particular attention to unexpected changes in frontend dependencies.

  • Pin dependency versions and review lockfile changes after a package update
  • Inspect browser bundles for unexpected wallet or transaction-handling code
  • Keep transaction destinations visible and verify them before signing

Sources

  1. Aikido original analysis of the npm compromise

Follow Kalyxo via RSS

Privacy choices