Skip to content
supplychainattack.orgSupply chain attack incident catalog
resolvedcritical

Malicious code in easydsbots (npm)

The npm package easydsbots contained malicious code that executed a root-level postinstall hook during installation, deploying an obfuscated daemon dropper designed to persist on the host system via systemd.

ShareXLinkedInHacker News
Disclosed
Last updated
Blast radius
Any developer or system that installed the malicious easydsbots package via npm
Ecosystems
Attack vectors
Affected entities
  • easydsbotsnpm package containing malicious postinstall hook

The npm package easydsbots was found to contain malicious code designed to compromise systems at install time. The package.json declared a postinstall script that executed sudo node install.js with root privileges, bypassing normal user-level installation constraints.\n\nThe install.js and index.js files were heavily obfuscated using obfuscator.io techniques including string array rotation, hex-encoded property lookups, and control-flow flattening to conceal the payload's true behavior. The package declared dependencies on js-virtualizer and node-linux, the latter being a library that registers systemd unit files or /etc/init.d scripts for daemon persistence.\n\nThe code checked for the INVOCATION_ID environment variable—set only when a process is launched by systemd—suggesting conditional behavior based on execution context. The combination of root-level lifecycle hooks, obfuscated payload, systemd-aware branching, and daemon-installer dependencies indicates this was a root-persistent daemon dropper executed at install time on the installer's host.\n\nThe incident was identified and credited to the OpenSSF's malicious-packages repository (MAL-2026-14265).

Indicators of compromise

Packages
  • easydsbots

Remediation

  • Immediately uninstall the easydsbots package from all systems where it was installed
  • Audit systems for unauthorized systemd units or /etc/init.d scripts that may have been registered during installation
  • Review process logs and systemd journal for suspicious daemon activity during and after the installation window
  • Regenerate any credentials or secrets that may have been exposed to the compromised process
  • Update npm to the latest version and run `npm audit` to identify other potentially compromised dependencies
  • Consider full system audit and potential reimaging of affected systems given the root-level compromise vector

Sources

  1. GitHub Advisory GHSA-pjq2-p3m7-p87h · GitHub Advisory Database

Cite this entry

"Malicious code in easydsbots (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 19, 2026; last updated August 19, 2026. https://supplychainattack.org/incident/malicious-code-in-easydsbots-npm-5k7xe6

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