Skip to content
supplychainattack.orgSupply chain attack incident catalog
resolvedcritical

Malicious code in test-npm-snurkeburk-hackerone (npm)

The npm package test-npm-snurkeburk-hackerone contained malicious code in its preinstall lifecycle hook that exfiltrated installer host identity (hostname, working directory, username, and public IP) via DNS queries to an attacker-controlled domain during package installation.

ShareXLinkedInHacker News
Disclosed
Last updated
Blast radius
Any developer or system that installed the malicious package during its availability on npm.
Ecosystems
Attack vectors
Affected entities
  • test-npm-snurkeburk-hackeronenpm package containing malicious preinstall hook

The npm package test-npm-snurkeburk-hackerone was found to contain malicious code in its preinstall lifecycle hook. The hook executes node index.js, which collects sensitive installer information including hostname, current working directory, username (whoami), and the installer's public IP address via a curl request to ifconfig.me.

The collected host identifiers are hex-encoded and exfiltrated through nslookup queries against subdomains of snurkeburk.com, an attacker-controlled domain. This data exfiltration occurs at npm install time, before any consumer code runs, meaning any system installing the package would be compromised.

There is no legitimate purpose for a package to encode host identifiers into DNS lookups against an author-controlled zone. The malicious behavior was identified by Amazon Inspector and credited to the OpenSSF malicious-packages project.

Indicators of compromise

Packages
  • test-npm-snurkeburk-hackerone
Domains
  • snurkeburk.com

Remediation

  • Remove the test-npm-snurkeburk-hackerone package from all systems and projects
  • Audit npm install logs and network traffic for any DNS queries to snurkeburk.com subdomains
  • Review systems that may have installed this package for signs of compromise
  • Use npm audit to identify any remaining malicious packages in your dependency tree
  • Consider implementing package signature verification and allowlisting for npm dependencies

Sources

  1. GitHub Advisory GHSA-4vjv-p5j2-fh7f · GitHub Advisory Database

Cite this entry

"Malicious code in test-npm-snurkeburk-hackerone (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 19, 2026; last updated August 19, 2026. https://supplychainattack.org/incident/malicious-code-in-test-npm-snurkeburk-hackerone-npm-1m5qah

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