Skip to content
supplychainattack.orgSupply chain attack incident catalog
containedcritical

Malicious code in @years20/n8n-nodes-utils-helper-d (npm)

The npm package @years20/n8n-nodes-utils-helper-d contained malicious code that exfiltrates SSH keys and system information, and attempts unauthorized SSH logins. The payload executes both via postinstall hook and at module load, bypassing npm's --ignore-scripts protection.

ShareXLinkedInHacker News
Disclosed
Last updated
Blast radius
Any npm consumer of @years20/n8n-nodes-utils-helper-d; payload executes at install time and at module load, bypassing --ignore-scripts
Ecosystems
Attack vectors
Affected entities
  • @years20/n8n-nodes-utils-helper-dMalicious npm package

The npm package @years20/n8n-nodes-utils-helper-d was published with embedded malicious code designed to exfiltrate sensitive system information and credentials. The payload executes through two mechanisms: a postinstall hook (node callback.js) and at library load via index.js, which is set as the package's main entry point.\n\nThe malicious code collects the output of the id command, the machine hostname, detects whether the system is running Windows Subsystem for Linux (WSL), and reads the SSH public key from /etc/ssh/ssh_host_ed25519_key.pub. This data is base64-encoded and exfiltrated via HTTPS GET requests to jasabersama.id/portfolio-data.php with TLS verification disabled. The payload also decodes an embedded OpenSSH ed25519 private key, writes it to /tmp/pk, and attempts SSH logins to 127.0.0.1:22495 and 127.0.0.1:22 using multiple common usernames (devuser, ubuntu, runner, node, root, chris, user), reporting successful authentications back to the attacker's server.\n\nBecause the malicious code is duplicated at module load time rather than only in the postinstall hook, it executes whenever any application (including n8n) performs require('@years20/n8n-nodes-utils-helper-d'), effectively bypassing npm's --ignore-scripts flag. This makes the package dangerous even for users who attempt to mitigate postinstall hook risks.

Indicators of compromise

Packages
  • @years20/n8n-nodes-utils-helper-d
Domains
  • jasabersama.id

Remediation

  • Immediately remove @years20/n8n-nodes-utils-helper-d from all projects and dependencies
  • Audit npm install logs and package-lock.json to identify when the malicious package was installed
  • Rotate all SSH keys, especially ed25519 keys on affected systems
  • Review SSH authentication logs for unauthorized login attempts from the usernames listed (devuser, ubuntu, runner, node, root, chris, user)
  • Monitor network traffic to jasabersama.id for any data exfiltration
  • If the package was installed, assume SSH keys and system information may be compromised and treat accordingly
  • Use npm audit to identify any remaining transitive dependencies on this package

Sources

  1. GitHub Advisory GHSA-9xr5-j397-j5pp · GitHub Advisory Database

Cite this entry

"Malicious code in @years20/n8n-nodes-utils-helper-d (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-d-npm-ap3s7h

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 checkout-desktop-total (npm)

    The npm package checkout-desktop-total contained 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 wel1.ru. Any system that imported this package should be considered compromised.

    npmCompromised package
  2. resolvedcritical

    Malicious code in epic-common-node (npm)

    The npm package epic-common-node was found to contain malicious code. The package has been identified and reported through GitHub Security Advisory GHSA-m36g-mhjr-ww2c.

    npmCompromised package
  3. containedcritical

    Malicious code in epic-common (npm)

    The npm package epic-common was found to contain malicious code. The package was identified by Amazon Inspector and reported through the OpenSSF malicious packages database.

    npmCompromised package
  4. 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