Compromised jscrambler 8.14.0 npm Release Drops Rust Infostealer During Install 23%

By The Hacker News36%

7/11/2026, 6:15:17 PM

BS Summary: This article contains 24 faulty reasoning types, including Indoctrination, Negativity Bias, and Loss Aversion, with Appeal to Authority as the most egregious example at 12.8% saturation with 192 hits. Analysis detected 1,385 faulty-reasoning hits from 1,499 analyzed words, generating a BS Score of 36% and a BS Rank of 23% (17,015 of 21,887 articles). This article is better (less manipulative) than 77.70% of the article peer group.

Compromised jscrambler 8.14.0 npm Release Drops Rust Infostealer During Install 
 Swati Khandelwal  Jul 11, 2026 Software Supply Chain / Malware 
The jscrambler npm package was compromised, and simply installing its 8.14.0 release runs an infostealer on your machine. 
Published on July 11, 2026, the malicious version carries a preinstall hook that drops and executes a native binary, one build each for Windows, macOS, and Linux. 
Socket flagged the release six minutes after it was published . 
If you or one of your build systems pulled it in that window, the payload has already run with whatever access your install process had. 
None of this is in the prior release, 8.13.0. 
The package diff shows two new files under dist/: setup.js, a small loader, and intro.js. 
Despite the name, intro.js is not JavaScript but a roughly 7.8MB container packing three gzip-compressed native binaries, one each for Linux, Windows, and macOS. 
On install, setup.js picks the binary for the host operating system, writes it under a random name in the system temp directory, marks it executable, and launches it detached with its output hidden. 
The added files are in the published package, but nowhere in jscrambler's public source. 
StepSecurity and SafeDep both pulled and analyzed the release, and both report no matching commit, tag, or pull request for 8.14.0 in the GitHub repository. 
Its latest tag is still 8.13.0. 
The version was pushed straight to npm under a legitimate maintainer account, bypassing the project's normal release flow. 
That points to a compromised npm account or build pipeline. 
Which of the two has not been established. 
The payload is a Rust infostealer, built for all three platforms, that sweeps a developer machine for secrets and ships them to a drop server over TLS, according to Socket's updated analysis and a statement to The Hacker News. 
The target list is broad and aimed at developers: cloud credentials from AWS, Azure, and Google Cloud, including the metadata endpoints CI runners use; cryptocurrency wallets and seed phrases from MetaMask, Phantom, and Exodus; the Bitwarden password manager vault; browser-stored passwords and cookies; and Discord, Slack, Telegram, and Steam sessions. 
It also goes after something newer: the config files for AI coding tools, including Claude Desktop, Cursor, Windsurf, VS Code, and Zed, where API keys and Model Context Protocol server credentials tend to sit. 
The binaries do more than steal. 
On Linux, the payload links the kernel's BPF library and can load an eBPF program straight into the kernel from memory. 
That is a foothold in the kernel, not the userspace file access that the rest of the stealer relies on. 
StepSecurity and SafeDep both flagged the capability, though what the eBPF does is still being pulled apart. 
The Windows and macOS builds add anti-debugging checks, and the stealer wires in persistence to survive a reboot: a hidden Windows scheduled task set to relaunch every minute, and a macOS LaunchAgent that reloads on login. 
Its command-and-control details stay encrypted in the binary and never surfaced in static analysis. 
StepSecurity's runtime monitoring caught the dropped binary reaching out to two hard-coded IP addresses and to Tor infrastructure, the first network indicators published for the campaign. 
jscrambler is a build-time tool, installed as a development dependency or run from CI. 
Those environments hold what the stealer collects: cloud keys, deploy tokens, and source code that a build or CI process can reach. 
Source: Step Security 
The package sees about 15,800 downloads a week, and how many pulled the compromised version is not yet known. 
That is a far smaller footprint than the packages hit in the big npm compromises of the past year, which pull billions of downloads a week between them. 
For a stealer aimed at build machines, though, reach was never the point. 
The access is. 
The Shai-Hulud worm ran from an install hook to steal tokens and spread through hundreds of packages that September. 
The widely used chalk and debug packages were taken over through a phished maintainer account and used to reroute crypto payments. 
In March, a hijacked account pushed a cross-platform trojan into Axios , an HTTP library with more than 83 million weekly downloads. 
What makes the timing here sharp is that npm had just moved against this exact route: npm 12 shipped on July 8, three days before this release, with dependency install scripts off by default . 
On npm 12, a preinstall hook like this one does not run unless someone approves it. 
Older clients still run them automatically. 
Version 8.15.0 has since replaced it at the top of npm's version list , published from the same maintainer account and showing none of the malware alerts 8.14.0 tripped: no install script, no bundled binary. 
But 8.14.0 was not pulled. 
It is still on npm, so any lockfile or command pinned to it keeps installing the stealer. 
Only the main CLI package was hit; the jscrambler plugins for webpack, gulp, Metro, and grunt stayed on their clean June releases, with no install hooks. 
Get off 8.14.0. 
Move to 8.15.0, or pin to 8.13.0 for a release from before the incident, and clear jscrambler@8.14.0 from lockfiles and caches. 
Work out whether you installed 8.14.0. 
Check lockfiles and package-manager logs for jscrambler@8.14.0, and CI records for any run of dist/setup.js, from July 11 on. 
The loader drops its payload under a random name in the temp directory, so there is no fixed binary name to grep for; line up install timestamps against Node child processes and temp-directory execution instead. 
On Windows, check Task Scheduler for hidden tasks; on macOS, inspect ~/Library/LaunchAgents for unfamiliar plists. 
If 8.14.0 ran on a machine, treat every secret it could reach as stolen, not just exposed. 
Rotate cloud keys, npm and GitHub tokens, and AI-tool and MCP API keys; revoke Discord, Slack, browser, and Bitwarden sessions; and move any crypto out of wallets on that host. 
Block the two command-and-control IPs listed below. 
The cleanup was fast, but a stealer does its work in the seconds after install. 
A build pinned to 8.14.0, on an older client that runs install scripts, still runs the payload. 
And on any machine that already ran it, the secrets were gone before 8.15.0 ever reached the top of the list. 
Indicators of compromise 
Malicious package: jscrambler@8.14.0. 
SHA-256 hashes for the added files and their decompressed payloads: 
dist/setup.js: a742de963f14a92d24ebcbc7b44ac867e23a20d31d1b0094a13a4f83287f4e60 
dist/intro.js: a41a523ef9517aab37ed6eea0ec881821bdcb7aefcb5c5f603adc7907f868c86 
Linux payload: fbbcf4d8f98168f78f5c0c47a9ae56d59ec8ac84a7c9ca6b797fedfb8d62d2bd 
Windows payload: b7ca95d1b23c8e67416a25cedf741de0917c2096bbc9d24649eea7853d054903 
macOS payload: c8fd47d36bdf7c825378593ab82ed8c24d1dc52e26b507812393e24e1d5201fd 
Network endpoints StepSecurity observed at runtime. 
The two IPs are the direct attacker endpoints; the binary also reaches Tor infrastructure, likely for connectivity or routing: 
C2 IP: 37.27.122[.] 
124 
C2 IP: 57.128.246[.] 
79 
Tor infrastructure: check.torproject[.]org, archive.torproject[.]org 
On-host artifacts: a randomly named hidden file in the system temp directory, of the form .{random} or .{random}.exe on Windows, plus a hidden Windows scheduled task or a macOS LaunchAgent for persistence. 
Found this article interesting? 
Follow us on Google News , Twitter and LinkedIn to read more exclusive content we post. 
CI/CD Security , Credential Security , Developer Security , DevSecOps , JavaScript Security , Malware , npm Security , Open Source Security , Package Security , Software Supply Chain 
16-Year-Old Linux KVM Flaw Lets Guest VMs Escape to Host on Intel and AMD x86 Systems 
BeyondTrust Patches Critical Auth Bypass Flaws in Remote Support and PRA 
Court Filing Reveals Windows Device ID Helped FBI Trace Alleged Scattered Spider Hacker 
Rogue Agent Flaw Could Have Let Attackers Hijack Google Dialogflow CX Chatbots 
RedWing MaaS Packages Android Bank Fraud as a Telegram Rental Service 
15-Year-Old GhostLock Flaw Enables Root and Container Escape on Most Linux Distros 
GitHub Copilot Refuses Harmful Requests in Chat, Then Writes Them in Code 
New HalluSquatting Attack Could Trick AI Coding Assistants Into Installing Botnet Malware 
GhostApproval Symlink Flaws Could Let Malicious Repos Run Code in AI Coding Agents 
Top AI Agents Built to Catch Malicious Code Can Be Tricked Into Running It 
Meta's New AI Image Tool Lets Others Use Your Public Instagram Photos in AI Images 
ThreatsDay: Cloud Bucket Hijacking, Windows LPE Chain, Global Fraud Bust + 17 More Stories 
Dormant GitHub Accounts Help Attackers Blend In While Mapping Corporate Orgs 
Attackers Exploit 'Ill Bloom' Vulnerability to Drain Over $5 Million From Cryptocurrency Wallets 
Unpatched XRING Flaw in XQUIC Lets Remote Clients Crash HTTP/3 Servers 
Researcher Details WhatsApp-to-Host Attack Chain Using Three OpenClaw Flaws 
New TrojPix Attack Leaks Data From Air-Gapped Systems via Video Cable Emissions 
Unpatched Flaws Disclosed in Filesystem Bundled Into Millions of Embedded Devices 
New "Bad Epoll" Linux Kernel Flaw Lets Unprivileged Users Gain Root, Hits Android 
Google Disrupts NetNut Residential Proxy Network Spanning 2 Million Home Devices 
European Parliament Member Investigating Spyware Was Hacked With Pegasus 
 Featured Resources 
What 200+ Security Teams Reveal About Using IP Intelligence in 2026 
Get Hands-On SANS Training for Today’s Cyber Defense and Offensive Security Challenges 
See What’s Really Exposed Across Your IT, OT, IoT, Cloud, and Mobile Assets 
Get Gartner’s Guide to AI Agent Supervision and Runtime Controls 
Article reasoning-pattern comparisonThis article: 1.7%The Hacker News: 1.8%The Hacker News: 1.9%Confirmation Bias1.7%This article: 0.6%The Hacker News: 0.8%The Hacker News: 1.2%Anchoring Bias0.6%This article: 5.1%The Hacker News: 3.5%The Hacker News: 3.3%Availability Heuristic5.1%This article: 4.8%The Hacker News: 1.5%The Hacker News: 1.5%Representativeness Heuristic4.8%This article: 1.4%The Hacker News: 0.3%The Hacker News: 0.6%Hindsight Bias1.4%This article: 1.7%The Hacker News: 2.7%The Hacker News: 2.5%Overconfidence Bias1.7%This article: 0.0%The Hacker News: 2.8%The Hacker News: 2.7%Framing Effect0.0%This article: 6.6%The Hacker News: 1.3%The Hacker News: 1.0%Loss Aversion6.6%This article: 1.1%The Hacker News: 0.6%The Hacker News: 0.6%Status Quo Bias1.1%This article: 0.0%The Hacker News: 0.1%The Hacker News: 0.1%Sunk Cost Effect0.0%This article: 0.9%The Hacker News: 1.4%The Hacker News: 1.3%Optimism Bias0.9%This article: 3.2%The Hacker News: 1.4%The Hacker News: 1.6%Pessimism Bias3.2%This article: 8.8%The Hacker News: 6.6%The Hacker News: 6.7%Negativity Bias8.8%This article: 0.0%The Hacker News: 1.5%The Hacker News: 0.8%Self-Serving Bias0.0%This article: 0.0%The Hacker News: 0.3%The Hacker News: 0.4%Fundamental Attribution Error0.0%This article: 0.0%The Hacker News: 0.0%The Hacker News: 0.1%Actor-Observer Bias0.0%This article: 0.0%The Hacker News: 0.1%The Hacker News: 0.1%In-Group Bias0.0%This article: 0.0%The Hacker News: 0.1%The Hacker News: 0.3%Out-Group Homogeneity Bias0.0%This article: 0.0%The Hacker News: 0.8%The Hacker News: 0.6%Halo Effect0.0%This article: 0.0%The Hacker News: 0.0%The Hacker News: 0.0%Horn Effect0.0%This article: 0.0%The Hacker News: 0.0%The Hacker News: 0.0%Dunning-Kruger Effect0.0%This article: 5.8%The Hacker News: 1.0%The Hacker News: 1.5%Recency Bias5.8%This article: 1.9%The Hacker News: 0.3%The Hacker News: 0.3%Primacy Effect1.9%This article: 0.0%The Hacker News: 0.1%The Hacker News: 0.1%Blind-Spot Bias0.0%This article: 0.0%The Hacker News: 0.1%The Hacker News: 0.1%Ad Hominem0.0%This article: 0.0%The Hacker News: 0.2%The Hacker News: 0.1%Straw Man0.0%This article: 12.8%The Hacker News: 3.7%The Hacker News: 4.0%Appeal to Authority12.8%This article: 0.7%The Hacker News: 2.4%The Hacker News: 1.6%False Dilemma0.7%This article: 0.0%The Hacker News: 0.4%The Hacker News: 0.5%Slippery Slope0.0%This article: 0.0%The Hacker News: 0.1%The Hacker News: 0.1%Circular Reasoning0.0%This article: 5.3%The Hacker News: 5.1%The Hacker News: 4.3%Hasty Generalization5.3%This article: 0.0%The Hacker News: 0.0%The Hacker News: 0.1%Red Herring0.0%This article: 0.0%The Hacker News: 0.3%The Hacker News: 0.2%Bandwagon0.0%This article: 4.5%The Hacker News: 1.3%The Hacker News: 1.1%Appeal to Emotion4.5%This article: 0.0%The Hacker News: 0.9%The Hacker News: 0.5%Begging the Question0.0%This article: 5.7%The Hacker News: 1.8%The Hacker News: 1.9%Post Hoc (False Cause)5.7%This article: 0.0%The Hacker News: 0.0%The Hacker News: 0.0%Tu Quoque0.0%This article: 0.0%The Hacker News: 0.4%The Hacker News: 0.6%Burden of Proof0.0%This article: 1.3%The Hacker News: 0.2%The Hacker News: 0.1%Appeal to Nature1.3%This article: 0.0%The Hacker News: 0.5%The Hacker News: 0.3%Composition/Division0.0%This article: 0.0%The Hacker News: 1.2%The Hacker News: 1.0%Anecdotal0.0%This article: 0.0%The Hacker News: 0.1%The Hacker News: 0.1%No True Scotsman0.0%This article: 1.1%The Hacker News: 1.3%The Hacker News: 2.3%Ambiguity (Equivocation)1.1%This article: 0.0%The Hacker News: 0.0%The Hacker News: 0.0%Gambler’s Fallacy0.0%This article: 0.0%The Hacker News: 0.1%The Hacker News: 0.0%Middle Ground0.0%This article: 0.0%The Hacker News: 0.0%The Hacker News: 0.0%Personal Incredulity0.0%This article: 0.0%The Hacker News: 0.1%The Hacker News: 0.1%Special Pleading0.0%This article: 0.0%The Hacker News: 0.0%The Hacker News: 0.1%Genetic Fallacy0.0%This article: 2.6%The Hacker News: 0.8%The Hacker News: 1.4%Unattributed Quote2.6%This article: 0.0%The Hacker News: 0.3%The Hacker News: 0.9%Quote-first Misdirection0.0%This article: 1.8%The Hacker News: 1.9%The Hacker News: 2.3%Biased Writer Voice1.8%This article: 9.5%The Hacker News: 5.0%The Hacker News: 4.4%Indoctrination9.5%This article: 0.0%The Hacker News: 0.0%The Hacker News: 0.0%Politically Left Leaning Bias0.0%This article: 0.0%The Hacker News: 0.0%The Hacker News: 0.0%Politically Right Leaning Bias0.0%This article: 3.4%The Hacker News: 6.7%The Hacker News: 3.0%Attempt to Sell a Product or S…3.4%

1499 words analyzed.

Speakers

4speakers9.3%attributed speech1,360writer words
Voice mapSelect a segment to jump to its words
Writer's voice • 10 words • 0.0% coverageWriter's voice • 10 words • 0.0% coverageSwati Khandelwal • 12 words • 0.0% coverageWriter's voice • 18 words • 100.0% coverageWriter's voice • 27 words • 0.0% coverageSocket • 11 words • 0.0% coverageWriter's voice • 25 words • 100.0% coverageWriter's voice • 9 words • 0.0% coverageWriter's voice • 15 words • 0.0% coverageWriter's voice • 24 words • 0.0% coverageWriter's voice • 33 words • 0.0% coverageWriter's voice • 14 words • 0.0% coverageStepSecurity • 25 words • 0.0% coverageWriter's voice • 6 words • 0.0% coverageWriter's voice • 18 words • 0.0% coverageWriter's voice • 10 words • 0.0% coverageWriter's voice • 8 words • 0.0% coverageSocket • 39 words • 100.0% coverageWriter's voice • 50 words • 0.0% coverageWriter's voice • 34 words • 0.0% coverageWriter's voice • 6 words • 100.0% coverageWriter's voice • 21 words • 0.0% coverageWriter's voice • 20 words • 0.0% coverageStepSecurity • 17 words • 0.0% coverageWriter's voice • 36 words • 0.0% coverageWriter's voice • 14 words • 0.0% coverageStepSecurity • 26 words • 0.0% coverageWriter's voice • 14 words • 0.0% coverageWriter's voice • 22 words • 0.0% coverageStep Security • 3 words • 0.0% coverageWriter's voice • 19 words • 0.0% coverageWriter's voice • 28 words • 0.0% coverageWriter's voice • 13 words • 0.0% coverageWriter's voice • 3 words • 100.0% coverageWriter's voice • 19 words • 0.0% coverageWriter's voice • 21 words • 0.0% coverageWriter's voice • 22 words • 0.0% coverageWriter's voice • 35 words • 0.0% coverageWriter's voice • 16 words • 0.0% coverageWriter's voice • 6 words • 0.0% coverageWriter's voice • 35 words • 0.0% coverageWriter's voice • 5 words • 0.0% coverageWriter's voice • 17 words • 0.0% coverageWriter's voice • 26 words • 0.0% coverageWriter's voice • 3 words • 100.0% coverageWriter's voice • 21 words • 100.0% coverageWriter's voice • 6 words • 100.0% coverageWriter's voice • 19 words • 100.0% coverageWriter's voice • 35 words • 0.0% coverageWriter's voice • 15 words • 100.0% coverageWriter's voice • 17 words • 100.0% coverageWriter's voice • 30 words • 100.0% coverageWriter's voice • 7 words • 100.0% coverageWriter's voice • 15 words • 0.0% coverageWriter's voice • 17 words • 0.0% coverageWriter's voice • 21 words • 0.0% coverageWriter's voice • 3 words • 0.0% coverageWriter's voice • 3 words • 0.0% coverageWriter's voice • 10 words • 0.0% coverageWriter's voice • 2 words • 0.0% coverageWriter's voice • 2 words • 0.0% coverageWriter's voice • 3 words • 0.0% coverageWriter's voice • 3 words • 0.0% coverageWriter's voice • 3 words • 0.0% coverageStepSecurity • 6 words • 0.0% coverageWriter's voice • 19 words • 0.0% coverageWriter's voice • 3 words • 0.0% coverageWriter's voice • 1 words • 0.0% coverageWriter's voice • 3 words • 0.0% coverageWriter's voice • 1 words • 0.0% coverageWriter's voice • 4 words • 0.0% coverageWriter's voice • 32 words • 0.0% coverageWriter's voice • 4 words • 0.0% coverageWriter's voice • 16 words • 100.0% coverageWriter's voice • 29 words • 0.0% coverageWriter's voice • 16 words • 0.0% coverageWriter's voice • 11 words • 0.0% coverageWriter's voice • 13 words • 0.0% coverageWriter's voice • 12 words • 0.0% coverageWriter's voice • 11 words • 0.0% coverageWriter's voice • 12 words • 0.0% coverageWriter's voice • 12 words • 0.0% coverageWriter's voice • 12 words • 0.0% coverageWriter's voice • 13 words • 0.0% coverageWriter's voice • 14 words • 0.0% coverageWriter's voice • 15 words • 0.0% coverageWriter's voice • 14 words • 0.0% coverageWriter's voice • 11 words • 0.0% coverageWriter's voice • 13 words • 0.0% coverageWriter's voice • 11 words • 0.0% coverageWriter's voice • 9 words • 0.0% coverageWriter's voice • 12 words • 0.0% coverageWriter's voice • 11 words • 0.0% coverageWriter's voice • 13 words • 0.0% coverageWriter's voice • 11 words • 0.0% coverageWriter's voice • 9 words • 0.0% coverageWriter's voice • 3 words • 0.0% coverageWriter's voice • 11 words • 0.0% coverageWriter's voice • 12 words • 100.0% coverageWriter's voice • 13 words • 100.0% coverageWriter's voice • 10 words • 100.0% coverage
Selected voice

Socket

100%flagged-word coverage
50 attributed words36% of attributed speech57% writer coverage
0%40.0%80.0%Unattributed Quote+78.0 ptsWriter: 0.0%Socket: 78.0%78.0%Indoctrination-10.5 ptsWriter: 10.5%Socket: 0.0%0.0%Attempt to Sell a Product -3.8 ptsWriter: 3.8%Socket: 0.0%0.0%Biased Writer Voice-2.0 ptsWriter: 2.0%Socket: 0.0%0.0%

Attribution is sentence-level. Pattern percentages are calculated only from words assigned to that voice.

Loading…
Loading…
Loading…
Loading…

Analysis

Hover over highlighted words in the article to view the associated bias or fallacy analysis.