Malicious code in @years19/n8n-nodes-utils-helper-x (npm)
The npm package @years19/n8n-nodes-utils-helper-x contains malicious code that launches a DDoS attack and exfiltrates host identity information. Installation or require() of the package executes a payload that weaponizes the host as a UDP/TCP flood bot targeting 103.118.252.21 for 900 seconds and beacons system information to jasabersama.id.
- Disclosed
- Last updated
- Blast radius
- Any host installing or requiring the malicious package becomes a DDoS bot; targets 103.118.252.21
- Ecosystems
- Attack vectors
- Affected entities
- @years19/n8n-nodes-utils-helper-xMalicious npm package masquerading as n8n utility helper
The npm package @years19/n8n-nodes-utils-helper-x was published with malicious code embedded in its postinstall hook and main entry point. The package is presented as an n8n utility helper but contains no legitimate functionality.
Upon installation or require(), the package executes a payload that performs two primary actions: (1) it writes a Python script to /tmp/attack2.py that implements a threaded UDP/TCP flood loop targeting IP address 103.118.252.21 for 900 seconds, then launches this script via nohup to weaponize the installer's host as a DDoS bot; (2) in parallel, it collects system information (output of id, hostname, process check, and /proc/loadavg), base64-encodes it, and sends it over HTTPS GET to jasabersama.id/portfolio-data.php with TLS verification disabled.
The malicious code is present in both the postinstall hook and the main entry point (index.js and callback.js are byte-identical), ensuring execution occurs during both npm install and when the package is required in code.
This incident was identified and credited to the OpenSSF malicious-packages project.
Indicators of compromise
- Packages
- @years19/n8n-nodes-utils-helper-x
- Domains
- jasabersama.id
- IPs
- 103.118.252.21
Remediation
- Immediately uninstall @years19/n8n-nodes-utils-helper-x from all systems
- Audit npm install logs and dependency trees to identify all hosts that installed this package
- Terminate any running instances of /tmp/attack2.py and related Python processes
- Review network logs for outbound DDoS traffic to 103.118.252.21 and HTTPS connections to jasabersama.id
- Regenerate credentials and review access logs on affected systems
- Block jasabersama.id at the network perimeter
- Use npm audit to check for this package in project dependencies and remove it
- Consider using npm package signing verification and private registry controls to prevent similar attacks
Sources
- GitHub Advisory GHSA-mg7q-fr4r-m88w · GitHub Advisory Database
Cite this entry
"Malicious code in @years19/n8n-nodes-utils-helper-x (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 12, 2026; last updated August 12, 2026. https://supplychainattack.org/incident/malicious-code-in-years19-n8n-nodes-utils-helper-x-npm-1tiaph
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 agent-bot-api
Malware was discovered in the npm package agent-bot-api. Systems with this package installed or running should be considered fully compromised and require immediate remediation.
npmCompromised package - resolvedcritical
Malware in @zynkit/jwtbytes
Malware was discovered in the npm package @zynkit/jwtbytes, resulting in full system compromise for any computer with the package installed or running. All secrets and keys on affected systems should be rotated immediately from a different computer.
npmCompromised package - resolvedcritical
Malware in sugarball-cli
Malware was distributed via the sugarball-cli npm package, resulting in full system compromise of affected machines. The advisory recommends treating any system with this package as fully compromised and rotating all secrets and keys from a different computer.
npmCompromised package - activecritical
Malware in anthropic-setup
The npm package anthropic-setup contains malware that grants full system compromise to an outside entity. Any computer with this package installed or running should be considered fully compromised.
npmCompromised package