obfus-jsxy@3.2.0
Malicious code in obfus-jsxy (npm)
Analysis
obfus-jsxy@3.2.0 masquerades as a "Terminal logger utilities" package but its postinstall hook deploys a fully cross-platform persistence implant. On install, utils.mjs forks a detached background process (windowsHide:true, child.unref()) that survives the parent. The background process copies a 861KB javascript-obfuscator-encoded payload (bundling the ws WebSocket library as C2 transport) to a hidden directory under the user's app data folder, masquerading as "MicrosoftSystem64". It then establishes OS-specific persistence: on Windows creates a scheduled task (ONLOGON) via schtasks with VBScript launcher and falls back to HKCU\Run registry key; on Linux creates a systemd user service with network-online.target and enables linger, falling back to .desktop autostart; on macOS spawns a detached process. The implant includes anti-VM CPU-count gating (enforces ≥5 cores/≥4 cores), singleton enforcement via pgrep/wmic, and cross-platform file staging with a package.json to make the payload a valid module. The dist/index.js entry point is a decoy logger class with no relation to the actual behaviour.
- analyzed by
- Leitwacht
- first seen
- Jun 11, 2026, 06:39 PM
- analyzed
- Jun 11, 2026, 06:42 PM
Related advisories
- streak-metrics-math@1.0.1
- ecto-rust-read-f3a9c1@1.0.2
- aikaf668897@1.0.3
- aikaf6688812@1.0.3
- request-logger-canary@1.0.0
- devplatform-spa-plugin-module-loader@35.8.5
- entropyeasybots@2.0.2
- @marketfront/bannerpopup@7.0.0
Independently detected by the Leitwacht supply-chain probe. IOCs are defanged. Published CC0. Think this is a mistake? See the dispute policy.