Skip to content
supplychainattack.orgSupply chain attack incident catalog
resolvedcritical

Malicious code in @years18/n8n-nodes-utils-helper-l (npm)

The npm package @years18/n8n-nodes-utils-helper-l contained malicious code in its postinstall script and main module that downloads and executes an mhddos DDoS toolkit, collects host identifiers, and exfiltrates them to an attacker-controlled domain.

ShareXLinkedInHacker News
Disclosed
Last updated
Blast radius
Any npm user installing @years18/n8n-nodes-utils-helper-l; n8n runtime users with this package as a community node dependency.
Ecosystems
Attack vectors
Affected entities
  • @years18/n8n-nodes-utils-helper-lnpm package containing malicious postinstall and main module code

The npm package @years18/n8n-nodes-utils-helper-l was published with malicious code embedded in both its postinstall script (callback.js) and main module (index.js). The code is byte-identical in both locations, functioning as a dropper that activates on package installation and on any require() call.\n\nUpon execution, the dropper fetches https://jasabersama.id/assets/cache/.theme-backup/dl/mhddos.tgz and get-pip.py over HTTPS with certificate validation explicitly disabled (rejectUnauthorized:false). It extracts the payload to /tmp/mhddos, installs Python dependencies using pip with the --break-system-packages flag, and executes python3 start.py from the archive—launching an mhddos DDoS toolkit.\n\nThe malicious code also collects host identifiers including id, hostname, WSL/VM/container classification, $HOME, and command outputs. These are base64-encoded and sent as a query parameter to https://jasabersama.id/portfolio-data.php with a hardcoded key. Because package.json declares main:index.js, the dropper fires automatically when the package is required, including when n8n's runtime loads community nodes.\n\nThe destination host is not the legitimate package publisher's registry, the fetched payload is unpinned and unverified, and TLS validation is deliberately disabled—all indicators of intentional malicious compromise.

Indicators of compromise

Packages
  • @years18/n8n-nodes-utils-helper-l
Domains
  • jasabersama.id

Remediation

  • Immediately uninstall @years18/n8n-nodes-utils-helper-l from all systems
  • Audit npm audit logs and package-lock.json for any installation of this package
  • Scan systems that installed this package for mhddos toolkit artifacts in /tmp/mhddos and any Python processes spawned from that location
  • Review network logs for outbound HTTPS connections to jasabersama.id
  • If n8n is in use, verify community node dependencies and remove any suspicious packages
  • Update npm to the latest version and run npm audit to detect similar malicious packages
  • Consider using npm package signing verification and private registry mirrors to prevent installation of typosquatted or malicious packages

Sources

  1. GitHub Advisory GHSA-rcvq-xjcc-3v93 · GitHub Advisory Database

Cite this entry

"Malicious code in @years18/n8n-nodes-utils-helper-l (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 12, 2026; last updated August 12, 2026. https://supplychainattack.org/incident/malicious-code-in-years18-n8n-nodes-utils-helper-l-npm-knmfni

Suggest a correction

Found an error or have a newer source? Corrections to factual errors take priority over new entries.

  1. containedcritical

    Malicious code in pfp-forms-sme-loan (npm)

    The npm package pfp-forms-sme-loan contains malicious code that executes a hidden loader on import, downloading and running platform-specific native payloads from attacker-controlled Cloudflare Workers hosts or reconstructing them via DNS TXT records under well1.site. Any system that imported this package should be considered compromised.

    npmCompromised packageMalicious commit
  2. containedcritical

    Malicious code in @wololasod/tiny-id (npm)

    The npm package @wololasod/tiny-id contained obfuscated malicious code that downloads and executes platform-specific remote executables on Windows and Linux systems. The dropper was embedded in both the main entry point (dist/index.cjs) and the TypeScript types file (dist/index.d.ts), disguised as a tiny ID generator.

    npmCompromised packageMalicious commit
  3. containedcritical

    Malicious code in akamaijs-sensor (npm)

    The npm package akamaijs-sensor contained malicious code that executed arbitrary JavaScript via hidden Unicode-encoded bytes and established a command-and-control channel through a Google Calendar dead-drop. The package was designed to run attacker-authored code in the consumer's Node process when the sensor() API was called.

    npmCompromised packageMalicious commit
  4. resolvedcritical

    Malicious code in akamaijs-sensorv1 (npm)

    The npm package akamaijs-sensorv1, which advertises itself as an Akamai Bot Manager sensor generator, contains malicious code that executes hidden dynamic code and fetches remote instructions from a Google Calendar-based command-and-control channel. The package uses invisible Unicode characters to conceal executable code and establishes a covert remote-code execution sink controlled by an attacker-owned email account.

    npmCompromised packageMalicious commit