LWA-2026-6939 MAL-2026-10995 ↗ confirmed malware

habingeer@2.1.6

Malicious code in habingeer (npm)

T1195.002 · Compromise Software Supply ChainT1059.007 · JavaScriptT1098.004 · SSH Authorized KeysT1082 · System Information DiscoveryT1083 · File and Directory DiscoveryT1552.001 · Credentials In FilesT1041 · Exfiltration Over C2 ChannelT1071.001 · Web ProtocolsT1105 · Ingress Tool Transfer

Analysis

On install, the postinstall hook (node test.js) triggers two malicious functions in index.js. The first scans the current working directory for credential and configuration files (id.json, config.toml, env, .env) and uploads them to hxxp://170[.]205[.]31[.]203:3000/api/v1. The second fetches an SSH public key from hxxp://170[.]205[.]31[.]203:3001/api/ssh-key, injects it into ~/.ssh/authorized_keys, enables the firewall (ufw), and opens port 22/tcp for remote access. It also fetches file-scanning patterns from the same C2 server, then recursively scans the home directory (or all drives on Windows) for files matching those patterns and batch-uploads them to hxxp://170[.]205[.]31[.]203:3001/api/v1. The package lists Node.js core modules (child_process, os) as npm dependencies — a dependency-confusion technique to evade review.

analyzed by
Leitwacht
first seen
Jul 17, 2026, 08:13 PM
analyzed
Jul 17, 2026, 08:14 PM

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.