Malicious node-ipc npm Packages Trigger New Supply Chain Security Alarm
15 de Maio de 2026, 03:10
![]()
- node-ipc@9.1.6
- node-ipc@9.2.3
- node-ipc@12.0.1
Malicious node-ipc Versions Revive Earlier Supply Chain Concerns
The latest attack does not appear to be a typosquatting campaign. Instead, analysts believe the threat actor republished or reintroduced malicious functionality directly into legitimate node-ipc package versions. Researchers also pointed to earlier compromises connected to the package. In 2022, versions 10.1.1 and 10.1.2 contained geo-targeted destructive malware that checked whether systems were located in Russia or Belarus before recursively overwriting files. Versions 11.0.0 and 11.1.0 included the controversial “peacenotwar” dependency associated with unauthorized file-writing behavior. The newly discovered malware specifically affects the CommonJS implementation of the npm package. According to the technical analysis, the malicious payload exists only in the node-ipc.cjs file. The ESM wrapper, node-ipc.js, remained clean in the reviewed package artifacts and simply imported source files without containing the injected payload. Investigators also identified an unusual forensic indicator across the infected tarballs. Every file within the reviewed archives carried the timestamp “Oct. 26, 1985.” Researchers noted that this timestamp appeared consistently across all analyzed malicious package artifacts and may help investigators identify infected caches or registry mirrors.Dormant Maintainer Account Allegedly Hijacked
The investigation suggests the attack may have originated through the takeover of a dormant maintainer account. The node-ipc project reportedly has 12 npm maintainers, including an account named “atiertant,” which still retains publishing privileges despite years of inactivity. Independent researcher Ian Ahl, also known online as @TekDefense and CTO at Permiso, publicly identified what he described as the likely attack vector: an expired email domain linked to the maintainer account. According to the published timeline:- Atlantis-software[.]net was originally registered on Jan. 10, 2001.
- The domain expired on Jan. 10, 2025, after reportedly not being renewed.
- An attacker allegedly re-registered the domain through NameCheap on May 7, 2026.
- The attacker may then have configured mail servers and initiated an npm password reset.
- Three malicious node-ipc versions were subsequently published on May 14, 2026, between 14:25 and 14:26 UTC.
Credential Stealer Activated Through CommonJS Loading
The malware embedded inside the node-ipc npm package relied on runtime execution rather than installation scripts. When applications used require("node-ipc"), the malicious node-ipc.cjs file executed an appended obfuscated IIFE during module loading. The payload exposed an internal runner function named __ntRun, creating additional execution paths beyond the initial automatic activation. Analysts noted that any downstream code invoking require("node-ipc").__ntRun() could trigger another round of data collection and exfiltration. The malware used an environment variable called __ntw to distinguish execution paths. In most cases, the parent process spawned a detached child process that handled credential harvesting independently. If the child process failed, the malware executed within the current process instead.Extensive Data Collection Targeted Developer Environments
The malicious node-ipc code performed extensive reconnaissance using Node.js operating system APIs. The malware gathered details including:- Operating system platform
- System architecture
- Hostname
- Kernel version
- Environment variables
- AWS, Azure, GCP, OCI, and DigitalOcean configuration files
- SSH keys and SSH configurations
- Kubernetes, Docker, Helm, and Rancher credentials
- npm, Yarn, GitHub CLI, GitLab CLI, and Netrc credentials
- Terraform credential files and .tfvars data
- .env files and database configuration files
- Shell history files and database CLI histories
- macOS Keychain databases
- Firefox key database files on macOS
- Linux keyrings and KWallet files
- Microsoft Teams local storage and IndexedDB data
- The payload skipped files larger than 4 MiB and intentionally avoided recursively scanning node_modules and .git directories.
DNS TXT Queries Used for Data Exfiltration
One of the more unusual aspects of the attack involved the malware’s exfiltration mechanism. Instead of using traditional HTTP or HTTPS communication, the credential stealer relied on DNS TXT queries. The malware attempted to communicate with the bootstrap resolver:- sh[.]azurestaticprovider[.]net:443
- bt[.]node[.]js
- xh
- xd
- xf
- /nt-/.tar.gz
Impact and Indicators of Compromise
Security researchers confirmed that the malicious node-ipc npm package versions were capable of stealing credentials and configuration files from systems loading the CommonJS entrypoint. The reviewed samples did not establish persistence mechanisms such as cron jobs, launchd services, or secondary malware downloads. The primary operational window focused on credential collection, archive creation, DNS exfiltration, and cleanup. Investigators identified several indicators of compromise tied to the malicious tarballs, including:Malicious Packages
- node-ipc@9.1.6
- node-ipc@9.2.3
- node-ipc@12.0.1
File Hashes
- node-ipc.cjs SHA-256: 96097e0612d9575cb133021017fb1a5c68a03b60f9f3d24ebdc0e628d9034144
- node-ipc-9.1.6.tgz SHA-256: 449e4265979b5fdb2d3446c021af437e815debd66de7da2fe54f1ad93cbcc75e
- node-ipc-9.2.3.tgz SHA-256: c2f4dc64aec4631540a568e88932b61daebbfb7e8281b812fa01b7215f9be9ea
- node-ipc-12.0.1.tar.gz SHA-256: 78a82d93b4f580835f5823b85a3d9ee1f03a15ee6f0e01b4eac86252a7002981
