
MALFEX npm Attack Spreads Windows RAT, Steals Discord and Browser Data
CloudSEK's Global Threat Intelligence team uncovered MALFEX, a supply-chain campaign active since August 2023 that uses malicious npm packages (including tlxbnhd, tldriver, mxdriver, img-to-native, cdn-img-fetch, function-flag, function-color) to deliver malware on Windows. One chain disguises a Windows executable as a PNG to load Overlord RAT, an open-source Go-based RAT that uses the Solana blockchain to resolve C2 addresses; a second chain fetches a 64MB Node.js bundle that steals Discord tokens, browser cookies/credentials, crypto wallets and Telegram session data, exfiltrating via a Discord webhook. Some malicious packages stayed live for over a year even after related packages were pulled or flagged.
What it is
MALFEX, a supply-chain campaign tracked by CloudSEK and tied to a single operator (npm accounts containing "Malfex," GitHub handle cavecrew, a name "Murizada" referenced in a README) active since August 2023. CloudSEK assesses the operator is likely Portuguese-speaking based on Portuguese text in a repo and a Brazil-linked GitHub handle, though they stop short of attribution to Brazil.
Preconditions / Affected
At least 12 npm packages and one GitHub repo are linked to the operation. Of the malicious packages, five received npm security advisories, but three — including function-flag and cdn-img-fetch — did not. function-flag stayed live and installable for 14 months. cdn-img-fetch remained available even after npm pulled its parent package img-to-native, and function-color separately pulled in function-flag as a dependency.
How it works
flowchart TD
A[img-to-native installed] --> B[cdn-img-fetch dependency]
B --> C[Fetches PNG from GitHub]
C --> D[Decrypts embedded payload]
D --> E[Downloads 64MB Node.js bundle]
E --> F[Injects into Discord client, steals tokens/cookies/wallets/Telegram sessions]
G[img-to-native removed by npm] -.does NOT remove.-> BThe key structural point: pulling the parent package (img-to-native) did not remove its dependency (cdn-img-fetch), which stayed live and functional independently.
What to do
CloudSEK's stated recommendation: don't treat removal of a single flagged npm package as sufficient — check its connected dependencies and related packages/external payloads, rather than relying only on individual npm security advisories (since 3 of the 8+ identified malicious packages never got one).
Caveats
Attribution (Portuguese-speaking operator, "Murizada") is circumstantial — based on README text and a GitHub handle, not confirmed identity or geography. The page gives no specific remediation commands (e.g., no npm audit command or version pins), only the general dependency-checking guidance above.
Organisations named here
- cavecrew
- function-color
- Murizada
Technologies named here
- Windows
- npm
- Discord client
- Node.js
- Solana
- Telegram
- Go
- tlxbnhd
- tldriver
- mxdriver
- img-to-native
- cdn-img-fetch
- function-flag
Techniques named here
- Malicious npm installation scripts
- Steganography/file masquerading
- Blockchain-based C2 resolution
- Dependency chain abuse
- Discord client code injection
- Credential and data theft
- Exfiltration via webhook
Threat actors named here
- MALFEX
- Overlord RAT
- Shai-Hulud
Related in Supply Chain


