faster-axios / turbo-axios Epsilon Stealer npm campaign
Summary
SafeDep reports a two-package npm typosquat campaign targeting developers looking for the Axios HTTP client. The packages turbo-axios and faster-axios copied the legitimate Axios source tree but added a postinstall hook that fetched and evaluated remote JavaScript, then delivered a Windows Epsilon Stealer payload.
This is separate from the earlier real-Axios compromise coverage: here the distribution path is typosquatting plus rotating npm accounts after takedown, not compromise of the legitimate Axios maintainer account.
Tags
- ops
- operations
- supply-chain
- npm
- typosquatting
- postinstall
- infostealer
- RAT
- Epsilon Stealer
- credential-theft
- crypto-wallets
- Windows
Why this matters
- The packages were trojanized copies of a high-trust dependency, with metadata pointing to the real Axios project and inflated
1.17.xversion numbers to look newer than legitimate releases. - Install-time execution reached beyond simple credential theft: SafeDep recovered a chain ending in an Electron-based Epsilon Stealer MaaS payload with browser theft, wallet theft, persistence, shellcode injection, and a WebSocket command channel.
- The operator reused infrastructure across
turbo-axiosandfaster-axios, then rotated packages and npm accounts after takedown, making this a campaign pattern rather than a one-off bad package.
Reported chain
Package setup
turbo-axiosappeared on npm on May 23, 2026, and was later placed under npm security hold asMAL-2026-4695.faster-axiosappeared on June 1, 2026, under a new npm account after the earlier package was removed.- SafeDep says both packages copied Axios wholesale and added
lib/core/eval.js, wired throughpackage.jsonaspostinstall: node ./lib/core/eval.js. - The
faster-axiospackage used a throwaway maintainer identity, forged real Axios metadata such as the original author, repository, and homepage, and carried forged file mtimes from1985-10-26 08:15:00.
Four-stage payload
- npm
postinstallloader —lib/core/eval.jsfetched remote JavaScript and ran it througheval(). SafeDep reportedfaster-axios@1.17.4fetcheddatab1fromapparently-movers-mysql-heights.trycloudflare[.]com, while earlier infrastructure includedcold5.gofile[.]io. - Windows dropper — the fetched JavaScript downloaded
epsilonto%TEMP%\hello.exeand executed it. SafeDep notes stages 1 and 2 can run on any OS because the C2 controls the JavaScript returned, even though the payload live during analysis was Windows-specific. - NSIS installer —
hello.exewas an 86 MB Nullsoft installer with SHA256bc46e88b1fdf8c27e3404146306b4651f69728f7d8d939a219dfbcb5a23ef69a, unpacking to an Electron app. - Epsilon Stealer — the inner Electron app identified itself as
winhost, used decoy authorOracleCorporation, and contained operator license keySK-754644F96BBA9652C8A2A08042ABAF58827D.
Epsilon Stealer behavior
SafeDep's recovered sample reported:
- Browser credential theft from Chrome, Brave, Edge, Vivaldi, Opera, Opera GX, Yandex, and Firefox.
- Chromium DPAPI decryption through
Crypt32.dll/CryptUnprotectData, plus Firefoxlogins.jsondecryption through an NSS loader. - Wallet targeting across 30+ browser-extension and desktop wallets, including MetaMask, Phantom, Exodus, Trust Wallet, Ledger Live, Electrum, Bitcoin Core, and Monero GUI.
- Seed-phrase extraction for MetaMask and Exodus vaults.
- Discord token validation and exfiltration, Telegram
tdatatheft, and GitHub 2FA backup-code collection. - File harvesting from Desktop, Downloads, and Documents using credential, wallet, backup, banking, and French-language keyword patterns.
- Zipped multipart exfiltration to Cloudflare quick-tunnel infrastructure.
- Persistence by copying itself to
%LOCALAPPDATA%\Microsoft\Windows\0\svchost.exeand settingHKCU\Software\Microsoft\Windows\CurrentVersion\Run\svchost. - Shellcode download, XOR decode with key
0xAA, and injection into suspendeddllhost.exethroughVirtualAllocEx,WriteProcessMemory, andCreateRemoteThread. - Persistent WebSocket RAT connection with arbitrary
cmd.exeorpowershell.execommand execution and output streaming.
Reported indicators
Packages
faster-axios@1.17.3faster-axios@1.17.4turbo-axios@1.17.2turbo-axios@1.17.3- npm malware notice:
MAL-2026-4695forturbo-axios
Network
apparently-movers-mysql-heights.trycloudflare[.]com— payload delivery and shellcoderecorded-distinct-face-girlfriend.trycloudflare[.]com/customer— exfiltration APIconsequences-faces-weblogs-clinical.trycloudflare[.]com— secondary download; shared withturbo-axiosprep-integer-lit-preferences.trycloudflare[.]com— WebSocket RAT gatewayphilosophy-moms-incoming-milton.trycloudflare[.]com—turbo-axiosstage-2 infrastructurecold5.gofile[.]io— earlierfaster-axiosdelivery path reported by SafeDep
Host artifacts
%TEMP%\hello.exe%LOCALAPPDATA%\Microsoft\Windows\0\svchost.exeHKCU\Software\Microsoft\Windows\CurrentVersion\Run\svchost- Operator key:
SK-754644F96BBA9652C8A2A08042ABAF58827D - Installer SHA256:
bc46e88b1fdf8c27e3404146306b4651f69728f7d8d939a219dfbcb5a23ef69a
Defender heuristics
- Block or review npm packages that add new lifecycle hooks to otherwise familiar dependency source trees.
- Flag dependency names that append performance or freshness claims to popular package names, such as
faster-*,turbo-*, or inflated version lines above the legitimate project. - Diff suspected typosquat tarballs against the real upstream package, including hidden or newly added files under plausible source paths.
- Treat install of affected versions as a host compromise, not just package exposure: SafeDep recommends reimaging because the payload adds persistence, injects shellcode, and opens a RAT channel.
- Rotate all credentials reachable from the host after containment: browser-saved passwords, API keys, cloud tokens, SSH keys, environment secrets, Discord, Telegram, GitHub sessions, and any wallet material.
- Move cryptocurrency funds to wallets generated on a clean device if affected hosts contained wallet extensions or desktop wallets.
- Monitor for Cloudflare quick-tunnel download/exfiltration paths launched by
node,npm, Electronwinhost.exe,svchost.exeunder user-local paths, or unexpecteddllhost.exeinjection ancestry.
Related pages
- Operation DangerousPassword axios npm compromise
- Mini Shai-Hulud npm/PyPI worm campaign
- TrapDoor crypto-stealer cross-ecosystem campaign
- Supply-chain group profile
Sources
- SafeDep: https://safedep.io/malicious-faster-axios-npm-epsilon-stealer