LWA-2026-5824 MAL-2026-6271 ↗ confirmed malware

node-fetch-utils@1.2.1

Malicious code in node-fetch-utils (npm)

T1195.002 · Compromise Software Supply ChainT1059.007 · JavaScriptT1059.006 · PythonT1027 · Obfuscated Files or InformationT1564.001 · Hidden Files and DirectoriesT1071.001 · Web ProtocolsT1573.001 · Symmetric CryptographyT1105 · Ingress Tool TransferT1218 · System Binary Proxy Execution

Analysis

node-fetch-utils@1.2.1 is a trojanized combosquat package impersonating a fetch-utility library. The package's publishable code (index.js, retry.js, cache.js) is legitimate, but the tarball includes a hidden C2 implant at scripts/postinstall.js that activates on Windows targets. The implant XOR-decodes a C2 server address (node22[.]lunes[.]host:3258) and uses HMAC-SHA256-based rolling auth tokens. It downloads XOR-keystream-encrypted Python bytecode from the C2 via HTTP GET, writes a self-cleaning Python launcher to %TEMP%, and executes the payload via VBScript/wscript.exe in a hidden detached process that escapes the npm job object. The package also depends on node-fetch-core (a known malware package) fetched via an unpinned GitHub master-branch tarball URL, allowing the attacker to swap its contents at any time.

analyzed by
Leitwacht
first seen
Jun 21, 2026, 10:13 PM
analyzed
Jun 21, 2026, 10:14 PM
weekly installs
470

Related advisories

browse all confirmed advisories →

Independently detected by the Leitwacht supply-chain probe. IOCs are defanged. Published CC0. Think this is a mistake? See the dispute policy.