Skip to content
supplychainattack.orgSupply chain attack incident catalog
resolvedcritical

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

Malicious npm package @years20/n8n-nodes-utils-helper-j version 1.0.0 contained a postinstall script that executed reconnaissance commands, exfiltrated system information to a remote server, and staged remote code execution via a git filter hook. The package masqueraded as an n8n community node but contained no legitimate functionality.

ShareXLinkedInHacker News
Disclosed
Last updated
Blast radius
Any developer or system that installed @years20/n8n-nodes-utils-helper-j version 1.0.0
Ecosystems
Attack vectors
Affected entities
  • @years20/n8n-nodes-utils-helper-j · 1.0.0

The npm package @years20/n8n-nodes-utils-helper-j version 1.0.0 was published with malicious code embedded in its postinstall script (index.js/callback.js). Upon installation, the script automatically executed reconnaissance commands (id and hostname), base64-encoded the output, and transmitted it over HTTPS to jasabersama.id/portfolio-data.php with TLS verification disabled.\n\nBeyond reconnaissance, the malicious script wrote attacker-controlled content to temporary files (/tmp/n8n_rce_result.txt and /tmp/filter_pwned.txt), created a directory (/tmp/src-repo), and configured a git filter hook (filter.evil.smudge) designed to execute arbitrary shell commands during git checkout operations. This staged follow-on command execution capabilities on affected systems.\n\nThe package presented itself as an n8n community node (nodes/PwnNode.node.js) but shipped no legitimate node functionality. The reconnaissance and RCE-staging payload constituted the entire install-time behavior, firing automatically on npm install without user interaction.\n\nThe incident was identified and credited to the OpenSSF malicious-packages repository (MAL-2026-13919).

Indicators of compromise

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

Remediation

  • Immediately uninstall @years20/n8n-nodes-utils-helper-j version 1.0.0 from all systems
  • Audit systems where this package was installed for signs of compromise, including review of /tmp/n8n_rce_result.txt, /tmp/filter_pwned.txt, and git filter configurations
  • Review outbound HTTPS connections to jasabersama.id and related domains for data exfiltration
  • Regenerate credentials and SSH keys on any system where this package was installed
  • Check git repositories for unauthorized filter.evil.smudge configurations and remove them
  • Monitor for follow-on command execution attempts that may have been staged by the git filter hook
  • Verify npm package integrity and implement package scanning in CI/CD pipelines to detect similar malicious packages

Sources

  1. GitHub Advisory GHSA-5fh4-8396-gq9x · GitHub Advisory Database

Cite this entry

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

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 3-buildsight-web (npm)

    The npm package 3-buildsight-web contains malicious code that fetches and executes arbitrary JavaScript from a remote Bitbucket URL on module load, granting full page privileges to an unverified third party.

    npmCompromised package
  2. resolvedcritical

    Malicious code in @usaa-grp-personal-profile/personal-profile-common (npm)

    Malicious package @usaa-grp-personal-profile/personal-profile-common version 999.0.0 published to public npm as a dependency-confusion attack targeting an organization's internal registry. The package contains preinstall and postinstall hooks that exfiltrate hostname, username, and working directory to an attacker-controlled OAST endpoint on every install.

    npmDependency confusionCompromised package
  3. resolvedcritical

    Malicious code in create-coin (npm)

    create-coin@20.1.1 on npm contained malicious postinstall code that collected sensitive environment variables, credentials, and host reconnaissance data. The package impersonated an esbuild platform build and exfiltrated data to a hardcoded endpoint.

    npmCompromised packageTyposquatting
  4. resolvedcritical

    Malicious code in @syncraft-labs/vue (npm)

    The npm package @syncraft-labs/vue version 0.4.1 contained malicious obfuscated code in its ESM build that implements a blockchain-hosted C2 dropper (EtherHiding pattern), enabling remote code execution on any consumer importing the package.

    npmCompromised package