Top Left Image
Background Image

Threat Intelligence Report: react-icon-maker — npm Supply Chain Infostealer

Severity: Critical  |  Package: react-icon-maker v1.1.4  |  Date: April 2026  |  Author: Jordan Swebeck — Secure-ISS SOC


Executive Summary

A malicious npm package named react-icon-maker (version 1.1.4) has been identified containing a fully functional infostealer payload. The package masquerades as a legitimate React icon utility but delivers an AES-256-CBC encrypted JavaScript payload that exfiltrates browser credentials, cryptocurrency wallet data, and macOS keychain files to a remote command-and-control server.


Discovery

The package was identified through automated static analysis of npm packages as part of an attack surface monitoring pipeline at Secure-ISS. The malicious logic was found in dist/lib/default.js, which contained an encrypted data blob decrypted at runtime using a hardcoded AES-256-CBC key and IV, with the resulting payload executed via eval().


Technical Analysis

Delivery Mechanism

The malware uses a two-layer obfuscation approach:

Execution chain:

default.js → decrypt AES blob → eval(obfuscated JS) → steal data → POST to C2

Hardcoded decryption parameters:

Key:       1aa9105f211ec5a6778c2643f5c9f271c5431253577da3c0b0cc3cb17c993eb3
IV:        ab6233d8149cdac085ae296c4d57a833
Algorithm: AES-256-CBC

Capabilities

Credential Theft — targets browser login databases across all major browsers on Windows, macOS, and Linux, hunting .ldb files and Login Data SQLite databases from Chrome, Brave, Opera, Firefox, and Edge.

Cryptocurrency Wallet Exfiltration — over 20 browser-based crypto wallet extensions targeted by extension ID, including MetaMask, Phantom, Coinbase Wallet, and Solflare. Also directly targets Exodus desktop wallet files and Solana keypair files (id.json).

macOS Keychain Harvesting — targets login.keychain and browser-specific keychains under ~/Library/Keychains.

Second Stage Dropper — contacts a GitHub API endpoint to retrieve a module name, then downloads and executes a Python script from the C2 server for further post-exploitation.

Platform Awareness — separate execution paths for Windows, macOS, and Linux.


Indicators of Compromise

Network

TypeValue
C2 IP45.61.128.61
C2 Port1224
Upload endpointhttp://45.61.128.61:1224/uploads
Payload downloadhttp://45.61.128.61:1224/pdown

File System

TypeValue
Staging directory~/.n3/tp
Dropped archive (Windows)%TEMP%\p5.zip
Python script drop~/.npl
Malicious filedist/lib/default.js
Solana key target~/.config/solana/id.json
Exodus target (Linux)~/.config/Exodus/exodus.wallet
Exodus target (Windows)AppData\Roaming\Exodus\exodus.wallet

Package

TypeValue
Package namereact-icon-maker
Malicious version1.1.4
Registrynpmjs.com

Targeted Wallet Extension IDs

Extension IDWallet
nkbihfbeogaeaoehlefnkodbefgpgknnMetaMask
ejbalbakoplchlghecdalmeeeajnimPhantom
fhbohimaelbohpjbbldcngcnapndodjpBinance Chain Wallet
hnfanknocfeofbddgcijnmhnfnkdnaadCoinbase Wallet
ibnejdfjmmkpcnlpebniachajginhoonTronLink
bfnaelmomeimhlpmgjnjophhpkkoljpaSlope Wallet
acmacodkjbdgmoleebolmdjonilkdbchSolflare

MITRE ATT&CK Mapping

Technique IDName
T1195.001Supply Chain Compromise: Compromise Software Dependencies
T1027Obfuscated Files or Information
T1027.002Software Packing
T1059.007Command and Scripting Interpreter: JavaScript
T1555.003Credentials from Web Browsers
T1530Data from Cloud Storage Object
T1041Exfiltration Over C2 Channel
T1105Ingress Tool Transfer

Recommended Actions

Immediate

Investigative

Preventative


- Jordan Swebeck