MAL-2026-13906 Malicious code in @years19/n8n-nodes-utils-helper-w (npm)
Malicious package
Published
MAL-2026-13906 is a malicious package: @years19/n8n-nodes-utils-helper-w (npm). Every version was published to cause harm.
Task:
1. Search this repository's dependency manifests and lockfiles for the package, including transitive dependencies.
2. If it is present, remove it, regenerate the lockfile with the project's package manager, and replace whatever it was used for.
3. List any CI runners, developer machines or containers that installed it, so their secrets can be rotated.
4. If the package is not used anywhere, say so and change nothing.
Reference: https://insights.sbomify.com/MAL-2026-13906/ (Markdown: https://insights.sbomify.com/MAL-2026-13906/index.md)
- Package
- @years19/n8n-nodes-utils-helper-w
- Registry
- npm
What is MAL-2026-13906?
MAL-2026-13906 is a malicious package in @years19/n8n-nodes-utils-helper-w, published on 12 Aug 2026.
Official description
The package's postinstall entry (callback.js) and its declared main entry (index.js) contain byte-identical top-level code that (1) writes a Python UDP/TCP flooding script to /tmp/attack2.py targeting the hardcoded IP 103.118.252.21 for 900 seconds and launches it via
nohup python3 /tmp/attack2.py... &, and (2) collects the installer's shell id, hostname, /proc/loadavg and process listing, base64-encodes the blob, and sends it as a query parameter to https://jasabersama.id/portfolio-data.php with TLS verification disabled (rejectUnauthorized: false). Both triggers fire automatically: the postinstall runs on npm install, and the identical main module runs again when n8n loads the community node via require(). The package presents itself as an n8n utility helper but ships no functional node code matching that purpose.What should I do about MAL-2026-13906?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.