-= Per source details. Do not edit below this line.=-
The package's postinstall hook runs node callback.js, and package.json declares main: index.js with byte-identical contents, so the payload fires on both npm install and require()/import. On execution the code writes a Python UDP/TCP flood script to /tmp/attack.py and launches it via nohup python3 /tmp/attack.py &, directing ~650 threads at 103.118.252.21 on ports 80/443 for 600 seconds. In parallel, the code runs id and hostname, collects process/loadavg indicators, base64-encodes the result, and sends it via https.get with rejectUnauthorized: false to https://jasabersama.id/portfolio-data.php?k=S7k9xQ2mZj&c=<encoded>. Installer hosts become participants in an outbound DDoS attack while also leaking host identity to a hardcoded endpoint.
{
"malicious-packages-origins": [
{
"id": "IN-MAL-2026-017584",
"import_time": "2026-08-12T15:26:11.878311717Z",
"modified_time": "2026-08-12T15:08:15Z",
"sha256": "f50dc2318d26c5626c5a713f65a50d63dfb48340b267b2bcb25583374a3ad282",
"source": "amazon-inspector",
"versions": [
"1.0.0"
]
}
]
}[
{
"cweId": "CWE-506",
"description": "The product contains code that appears to be malicious in nature.",
"name": "Embedded Malicious Code"
}
]
{
"evidence_files": [
{
"path": "callback.js",
"sha256": "2d4a88d7ac61db1d7d9afad967897f9a65e2e2556019e3711f7749d0471ba641",
"tlsh": "174183e33ab89434d5b32090a8a6ee42a627b10b5586fdd8f04dd6b20f6b03827914f4"
},
{
"path": "package.json",
"sha256": "17df750e02e28cd3d5d078915800a2dc20e6cc0eb66ca8183aa05d28b078792e",
"tlsh": "00f055028c720f3321cdab66189a8101aa246e8b949c7c2873cf010c87986b52abe689"
}
],
"package_integrity": [
{
"filename": "n8n-nodes-utils-helper-v-1.0.0.tgz",
"hashes": {
"sha1": "4c87ab95fac21d7c9474ad1120b031ed07616b2d",
"sha512_sri": "sha512-j6OuXdw9r5qv7DoTQKjudWFiiHcUZtqSpj3C/+okhVLHYVkt3zMErBay23WsmIhzTOvjX2/ep/In5T0b+KAmBw=="
}
}
]
}
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/@years19/n8n-nodes-utils-helper-v/MAL-2026-13905.json"