The deception in the npm supply chain: so jscrambler 8.14.0 deployed an infostealer in seconds

Author: Published 5 min de lectura 148 reading

The images in this article were generated with artificial intelligence. How we publish

The npm package jscrambler @ 8.14.0 published on July 11, 2026, it contained a malicious pre-installation hook that, with just running npm install, deployed and executed a native multiplatform infostealer without the need to import or invoke it from the command line: it was enough to install that version so that the malicious code would run in the installation environment.

The failure was quickly detected by external analysts, who found two new files in dist /: a JavaScript loader (setup.js) and a binary container (introjs) that packed three native executables (Windows, macOS and Linux). The loader chose the binary according to the SO, wrote it with a random name in the temporary directory, marked it as executable and released it in the background with hidden output. It is particularly relevant that these files appeared in the package published in npm but not in the public repository of the project or in the release history: version 8.14.0 was directly uploaded to the record using a legitimate maintenance account, without tag or matching commit in GitHub, which points to a compromised account or pipeline.

The deception in the npm supply chain: so jscrambler 8.14.0 deployed an infostealer in seconds
Image generated with IA.

The payload, according to public analysis, is an infostealer written in Rust that tracks developer machines and CI runners in search of credentials and secrets: cloud keys (AWS, Azure, Google Cloud, including instance / CI metadata), tokens and service sessions (Discord, Slack, Telegram, Steam), passwords and browser cookies, vaults such as Bitwarden, seed of purse and crypt customers (MetaMask, Phantom, Exodus) and configuration / API settings, for example, VIA, DOS, and POS, for example. In Linux, the ability to load an eBPF program in memory was also detected, raising the risk to a possible execution in the kernel; the Windows and macOS versions incorporate anti-debugging checks and persistence mechanisms (hidden task in the Windows Task Programmer that reacts every minute and a LaunchAgent in macOS).

The campaign also included command and control communications encrypted from the binary, which in implementation reached at least two public IP addresses observed by telemetry and Tor's infrastructure, which complicates the tracking. If your environment installed jscrambler @ 8.14.0 between the time of publication and its point by researchers, the binary may have already drawn secrets in those critical seconds or minutes; the design of the attack takes advantage precisely of the fact that jscrambler is used in construction time and CI, so the credentials that these processes can access were the main objective, not the number of downloads.

Immediate actions: if you manage projects or infrastructure that use npm, look at lockfiles, records of package managers and CI log any reference to jscrambler @ 8.14.0 or to the execution of dist / setup.js from July 11, 2026; the loader leaves an executable with a random name in the temporary directory, so it will be necessary to correlate temporary installation marks with processes children of Node.js and with executions in / tmp (Linux / macOS) or% TEMP% (Windows). In Windows machines it inspects the Task Programmer for hidden tasks and in macOS reviews ~ / Library / LaunchAgens by unauthorized plists. If you confirm execution, assume that all the accessible secrets were exfiltered and proceed immediately to rotate them: cloud keys (AWS, Azure, GCP), GitHub tokens and npm, IA and MCP tool keys API, Slack / Discord / others session revocation, vault credentials reset and move any crypto out of purse that resided on the engaged machine.

It is not enough to remove the trash file: clean cache and lockfiles that point to the compromised version, remove jscrambler @ 8.14.0 from device repositories and log proxies, and update to a clean version (the public branch has shown 8.15.0 without the hook and another safe option is to set to 8.13.0). Also check the npm client used in environments: npm 12 introduced that installation scripts are deactivated by default unless explicit approval, which mitigates this vector in recent customers; however, old customers continue to run them automatically, so local pipelines and machines with old customers remain at risk.

Medium-term strategic measures: force 2FA and tighter publishing policies in maintenance accounts, limit the scope of CI tokens and use ephemeral credentials for building and deployment processes; use verifiable package signatures and supply chains (e.g. with solutions such as Sigstore) and supply chain integrity models such as SLSA to raise confidence in published artifacts. It is also appropriate to establish cached or private package repositories that allow control and review before external packages enter critical building, and to automatically monitor diffs between the content published in the register and what the source code repository shows as release / tags.

The deception in the npm supply chain: so jscrambler 8.14.0 deployed an infostealer in seconds
Image generated with IA.

The history of events fits with other recent campaigns that have exploited compromised accounts or publishing processes to infiltrate malicious code into popular packages; to protect you, in addition to credentials rotations and incident containment, plans a supply chain response that includes detection of anomalies in ups to records, human review of changes in dist / before the CI trusts them, and policies that prevent npm install in sensitive environments runs with unnecessary privileges.

Useful sources for understanding and mitigating risks in the package supply chain can be found in GitHub's documentation on supply chain security and in device signature projects such as Sigstore; it also reviews the official page of the package in npm to confirm the version history and publication status: GitHub's Guide to Supply Chain Security, Sigstore (signature of artifacts), Jscrambler page in npm.

Technical indicators already reported by those who analyzed the incident include the IP addresses observed at the exfiltration stage (e.g., 37.27.122.124 and 57.128.246.79), temporary artifacts with random names in the temporary directories and persistence through programmed tasks in Windows or LaunchAgens in macOS; use these indicators as part of network containment and forensic response. If you need operational help to evaluate scope, perform coordinated credentials rotations or clean CI pipelines, consider climbing an incident response team with supply chain commitments experience.

Coverage

Related

More news on the same subject.