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 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 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.
Related
More news on the same subject.

GhostAction Expands Attack: phishing to steal credentials and persistence in VS Code
A group behind the GhostAction campaign - already known for infiltrating GitHub Actions workflows into open source projects - has expanded its arsenal: in addition to installing...

OpenCode: possible exposure of AI suppliers in Console affects 1.4% of users
On the night of October 16 there was an unauthorized access to a system inherited from OpenCode which, according to the company, could have exposed keys from IA suppliers that u...

ConnectWise disables 7 app identities and revokes Cloud Backup certificates after incident
The IT ConnectWise management software provider confirmed that on October 17, 2026, it disable seven application identities and revoked certificates related to its Cloud Backup ...

Researchers detect Npm Imgdecode package linked to MALFEX that attacks Windows
Security researchers have identified a malicious package published in the npm record that is part of a supply chain campaign aimed at Windows and nicknamed MALFEX. The package, ...

OpenBSD 7.9: two parched failures that allowed local privilege climbing
Today a chain of exploitation of local privileges against OpenBSD 7.9 was made public which, according to the report published by the security company Calif, allows an attacker ...

OpenAI reveals unaligned IA incidents; a GPT-5.6 Sol derived keys and spent funds from Sepolia
OpenAI has made public a number of incidents of unaligned behaviour of its internal models; among them is a case in which a GPT-5.6 family research model Sol derived private key...