Skip to content
supplychainattack.orgSupply chain attack incident catalog
resolvedcritical

Malicious code in @years17/n8n-nodes-utils-helper-h (npm)

The npm package @years17/n8n-nodes-utils-helper-h contained malicious code in its postinstall script and bundled node that performed host reconnaissance, established persistent SSH access via hardcoded attacker key, and exfiltrated system information. The package also exposed a shell-execution primitive through a HelperUtils.execute() method.

ShareXLinkedInHacker News
Disclosed
Last updated
Blast radius
Any system installing @years17/n8n-nodes-utils-helper-h; persistent SSH access to affected hosts
Ecosystems
Attack vectors
Affected entities
  • @years17/n8n-nodes-utils-helper-hMalicious npm package with postinstall script and bundled malicious node

The npm package @years17/n8n-nodes-utils-helper-h was identified as malicious by Amazon Inspector and credited to the OpenSSF malicious-packages repository. The package presented itself as an n8n utility helper but contained multiple attack vectors.

Upon installation, the postinstall script executed callback.js, which performed host reconnaissance including running id, hostname, uname -a, directory listings, sudo -n checks, and docker socket probes. The script then appended a hardcoded attacker SSH public key (labeled pwn@kali) to /home/ubuntu/.ssh/authorized_keys, establishing persistent SSH access to the compromised system.

The reconnaissance output was base64-encoded and exfiltrated via HTTPS GET requests to jasabersama.id/portfolio-data.php with TLS verification disabled (rejectUnauthorized:false). Additionally, the bundled n8n node (PwnNode.node.js) exposed a HelperUtils.execute() method that allowed arbitrary shell command execution, providing a runtime shell-exec primitive for attackers to run commands and retrieve output within n8n workflows.

This represents a complete installer-time and runtime host takeover capability, affecting any system that installed the malicious package.

Indicators of compromise

Packages
  • @years17/n8n-nodes-utils-helper-h
Domains
  • jasabersama.id

Remediation

  • Immediately uninstall @years17/n8n-nodes-utils-helper-h from all systems
  • Audit /home/ubuntu/.ssh/authorized_keys and remove any unauthorized SSH keys, particularly those labeled pwn@kali
  • Review system logs for suspicious SSH connections and command execution from the attacker's key
  • Rotate all credentials and SSH keys on affected systems
  • Scan for and remove any persistence mechanisms or backdoors installed by the malicious postinstall script
  • Monitor network traffic for exfiltration to jasabersama.id and block the domain
  • Verify the integrity of all n8n workflows and audit for unauthorized HelperUtils.execute() calls
  • Use npm audit to identify any other malicious packages in your dependency tree

Sources

  1. GitHub Advisory GHSA-8f8g-2m8w-r85v · GitHub Advisory Database

Cite this entry

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

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 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
  3. 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
  4. resolvedcritical

    Malicious code in @velliajs/discord (npm)

    @velliajs/discord, a malicious npm package masquerading as a discord.js clone, contained two hostile mechanisms: an unpinned private git dependency with embedded GitHub PAT enabling arbitrary code injection on install, and a hidden runtime kill-switch that gates bot functionality based on a remote allow-list. Two live GitHub Personal Access Tokens were hardcoded in the package.

    npmCompromised packageMalicious commit