Malicious code in @years20/n8n-nodes-utils-helper-h (npm)
The npm package @years20/n8n-nodes-utils-helper-h contained malicious code that performed host reconnaissance and exfiltrated sensitive data to a remote server on installation and require(). The package was disguised as an n8n community utility node but contained only a no-op node file, with actual malicious behavior in callback.js.
- Disclosed
- Last updated
- Blast radius
- Any system installing or requiring @years20/n8n-nodes-utils-helper-h
- Ecosystems
- Attack vectors
- Affected entities
- @years20/n8n-nodes-utils-helper-hMalicious npm package masquerading as n8n community utility node
The npm package @years20/n8n-nodes-utils-helper-h was identified as malicious by Amazon Inspector and credited to OpenSSF's malicious-packages repository. The package presented itself as an n8n community utility node but contained only a 213-byte no-op node file (nodes/PwnNode.node.js, labeled 'Pwn').\n\nThe actual malicious behavior was implemented in callback.js, which was invoked via the postinstall script and was byte-identical to the package's main index.js. Upon installation and on any require() call, the script executed host reconnaissance commands (id, hostname, git and node versions, n8n install paths, and contents of ~/.n8n), base64-encoded the output, and transmitted it over HTTPS GET to https://jasabersama.id/portfolio-data.php with TLS certificate verification disabled (rejectUnauthorized:false).\n\nThe exfiltration request included a c= parameter containing a shell pipeline (echo | base64 -d >> /tmp/n8n_rce_result.txt), indicative of command-and-control tasking capability. The malicious behavior was triggered automatically on npm install and again on any require() of the package.
Indicators of compromise
- Packages
- @years20/n8n-nodes-utils-helper-h
- Domains
- jasabersama.id
Remediation
- Immediately uninstall @years20/n8n-nodes-utils-helper-h from all systems
- Audit npm install logs and package-lock.json to identify when and where the package was installed
- Review system logs and network traffic from affected systems for signs of reconnaissance activity or data exfiltration to jasabersama.id
- Rotate any credentials or sensitive data that may have been exposed (git credentials, n8n configuration, etc.)
- Implement npm package scanning and verification in your supply chain to detect malicious packages before installation
- Monitor ~/.n8n directories and system logs for unauthorized access or modifications
Sources
- GitHub Advisory GHSA-hrh9-vr5m-7g4m · GitHub Advisory Database
Cite this entry
"Malicious code in @years20/n8n-nodes-utils-helper-h (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 12, 2026; last updated August 12, 2026. https://supplychainattack.org/incident/malicious-code-in-years20-n8n-nodes-utils-helper-h-npm-76wq2f
Suggest a correction
Found an error or have a newer source? Corrections to factual errors take priority over new entries.
Related incidents
- containedcritical
Malware in @junofficial/baileys
The npm package @junofficial/baileys contained malware that fully compromised any system with the package installed or running. The malicious package has been identified and removed from distribution.
npmCompromised package - containedcritical
Malware in a.poltoradnev-package-a
The npm package a.poltoradnev-package-a contains malware that grants full system compromise to attackers. Any computer with this package installed should be considered fully compromised and all secrets and keys rotated immediately from a different machine.
npmCompromised package - activecritical
Malware in @zynkit/probe
Malware discovered in the npm package @zynkit/probe. Systems with this package installed or running are considered fully compromised, with potential for complete system takeover.
npmCompromised package - activecritical
Malware in club-sauce
Malware discovered in the npm package club-sauce. Any computer with this package installed or running should be considered fully compromised. All secrets and keys must be rotated immediately from a different computer.
npmCompromised package