Researchers Detail Malicious node-ipc Versions That Steal Developer Secrets

Summary
Socket and StepSecurity report that node-ipc versions 9.1.6, 9.2.3, and 12.0.1 contain credential-stealing code, with version 12.0.1 gated by a system fingerprint. The malware uses HTTPS and DNS exfiltration.
Key points
- Socket and StepSecurity identified malicious stealer/backdoor behavior in npm package versions node-ipc 9.1.6, 9.2.3, and 12.0.1.
- The payload runs when node-ipc is required, without relying on npm lifecycle hooks, and targets developer and cloud credentials and other local secrets.
- Version 12.0.1 checks a SHA-256 fingerprint of the primary module path before proceeding; the reported 9.x versions do not have this gate.
- The malware compresses collected data and attempts HTTPS exfiltration to sh[.]azurestaticprovider[.]net, as well as DNS TXT-record exfiltration.
- StepSecurity reports that the malware redirects DNS resolution to evade monitoring through corporate resolvers and can fork into a detached background process.
- The versions were published by the account “atiertant,” which the article says had no prior node-ipc publish history and was not connected to the original author.
- Users are advised to remove the affected versions, reinstall clean versions, rotate credentials, review npm and cloud activity, and block egress to the C2 domain.
Article Details
- Attack Vectors
- Malicious payloads were appended to node-ipc versions 9.1.6, 9.2.3, and 12.0.1 and execute when the package is required at runtime; the malware does not rely on npm lifecycle hooks.
- Version 12.0.1 checks a SHA-256 fingerprint of the primary module path and proceeds only when it matches a hard-coded target value. The article says the 9.x versions do not have this gate.
- The obfuscated payload fingerprints the host, enumerates and reads local files, and harvests developer and cloud credentials, including keys and configuration data.
- Stolen data is compressed into a GZIP archive and exfiltrated through an HTTPS POST and DNS TXT queries. The malware uses DNS/address logic to resolve its C2 and directs exfiltration queries to the C2 IP.
- The malware forks into detached background child processes to continue exfiltration after the parent Node.js process terminates.
- Defensive Notes
- Remove compromised node-ipc versions 9.1.6, 9.2.3, and 12.0.1, and reinstall a known clean version; the article identifies 9.2.1 and 12.0.0.
- Assume affected systems may be compromised and rotate credentials and secrets accessible during the exposure window.
- Audit npm publishing activity for packages accessible with rotated tokens, review workflow run logs, and check cloud logs for unauthorized actions by affected IAM identities.
- Block egress traffic to the reported C2 domain.
Indicators of compromise
| Type | Indicator | Context |
|---|---|---|
| DOMAIN | sh[.]azurestaticprovider[.]net | Reported command-and-control domain used to receive stolen data through HTTPS and DNS-based exfiltration. |
MITRE ATT&CK
T1005 · Data from Local SystemThe malware reads local files and collects developer and cloud secrets from the affected system.T1027 · Obfuscated Files or InformationThe payload is described as heavily obfuscated, with a fingerprint hash assembled from eight obfuscated table fragments.T1048.003 · Exfiltration Over Unencrypted Non-C2 ProtocolThe article describes DNS TXT queries as a second exfiltration channel for archive chunks, separate from the HTTPS POST.T1059.007 · JavaScriptThe malicious JavaScript payload appended to node-ipc executes when the package is required at runtime.T1071.001 · Web ProtocolsThe malware attempts to send the compressed stolen data to its C2 using an HTTPS POST.T1071.004 · DNSThe malware uses DNS TXT queries as an additional channel for transmitting chunks of the archive.T1082 · System Information DiscoveryThe malware fingerprints the host environment and checks a SHA-256 fingerprint of the primary module path.T1083 · File and Directory DiscoveryThe payload enumerates local files before reading data for credential harvesting.T1552.001 · Credentials In FilesThe malware harvests secrets from local files and configurations, including SSH keys and GitHub CLI configurations.T1560 · Archive Collected DataThe collected data is compressed into a GZIP archive before exfiltration.
People
Avital HarelUpwind security research lead who commented on the campaign's targeting of identities and automation systems in software delivery pipelines.Sai LikhithStepSecurity researcher who described the targeted SHA-256 fingerprint gate in node-ipc 12.0.1 and contrasted it with the ungated 9.x versions.
Products
AWSThe payload targets developer and cloud secrets, including AWS, Google Cloud, Azure, SSH keys, and GitHub configs.Claude AIAmazon Web Services, Google Cloud, Microsoft Azure, SSH keys, Kubernetes tokens, GitHub CLI configs, Claude AI and Kiro IDE settings, Terraform state, database passwords, shell history, and more.GitHub CLIcredentials, including Amazon Web Services, Google Cloud, Microsoft Azure, SSH keys, Kubernetes tokens, GitHub CLI configs, Claude AI and Kiro IDE settings, Terraform state, database passwords, shell history, and more.Google CloudThe payload targets developer and cloud secrets, including AWS, Google Cloud, Azure, SSH keys, and GitHub configs.Kiro IDEServices, Google Cloud, Microsoft Azure, SSH keys, Kubernetes tokens, GitHub CLI configs, Claude AI and Kiro IDE settings, Terraform state, database passwords, shell history, and more.Kubernetes90 categories of credentials, including Amazon Web Services, Google Cloud, Microsoft Azure, SSH keys, Kubernetes tokens, GitHub CLI configs, Claude AI and Kiro IDE settings, Terraform state, database passwords, shellMicrosoft AzureThis includes 90 categories of credentials, including Amazon Web Services, Google Cloud, Microsoft Azure, SSH keys, Kubernetes tokens, GitHub CLI configs, Claude AI and Kiro IDE settings, Terraform state, databasenode-ipcResearchers found malicious code in node-ipc versions 9.1.6, 9.2.3, and 12.0.1 that steals developer and cloud credentials, fingerprints the host, and exfiltrates data to a command-and-control domain.npmUsers should remove the compromised versions, rotate credentials, and audit npm and cloud activity.TerraformMicrosoft Azure, SSH keys, Kubernetes tokens, GitHub CLI configs, Claude AI and Kiro IDE settings, Terraform state, database passwords, shell history, and more.
