LWA-2026-13148 confirmed malware

loader-utils-kit@4.2.1

Malicious code in loader-utils-kit (npm)

T1195.002 · Compromise Software Supply ChainT1027 · Obfuscated Files or InformationT1140 · Deobfuscate/Decode Files or InformationT1059.007 · JavaScript

Analysis

loader-utils-kit@4.2.1 is a combosquat of webpack's loader-utils: it copies the upstream README, description, author field, license and repository URL (github[.]com/webpack/loader-utils) but ships an extra file, lib/contract.js, that is not part of upstream and is never referenced by the package entry point lib/index.js. lib/contract.js is obfuscated. A seeded character-shuffling routine decodes the literal "e%objrct%m" into the array ["r","object","m"], which the file uses to assign global.r = require and global.m = module; a second decoder then expands a ~4 KB shuffled string literal into JavaScript that is compiled with the Function constructor and invoked (cMp(7746)). The decoded body exists only in encoded form, so no plaintext C2 host, URL or IP appears anywhere in the package. The package declares no lifecycle hooks, so nothing runs at install time; the loader executes only if lib/contract.js is required directly, which makes it a dormant second-stage loader staged inside a cloned popular package.

analyzed by
Leitwacht
first seen
Oct 22, 2026, 08:49 AM
analyzed
Oct 22, 2026, 08:50 AM

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.