Malicious code in @library-dev-team/data-sanitizer (npm)
The npm package @library-dev-team/data-sanitizer contained malicious code that harvested private keys, secrets, and mnemonics from .env files at require-time and used them to drain cryptocurrency funds to attacker-controlled addresses across multiple blockchain networks.
- Disclosed
- Last updated
- Blast radius
- Any project that installed @library-dev-team/data-sanitizer and ran it in an environment with .env files containing private keys, secrets, or mnemonics.
- Ecosystems
- Attack vectors
- Affected entities
- @library-dev-team/data-sanitizernpm package containing malicious code that harvests private keys and transfers funds
The @library-dev-team/data-sanitizer npm package contained obfuscated malicious code disguised as a data sanitization utility. Upon require(), an unconditional IIFE executed code that read .env files from the current working directory and extracted values labeled PRIVATE_KEY, SECRET, and MNEMONIC using regex patterns.\n\nThe harvested credentials were immediately used to construct ethers.Wallet objects against 20+ blockchain RPCs including Ethereum, BNB Chain, Polygon, and Avalanche. The code then called wallet.sendTransaction in a loop to transfer funds to five hardcoded attacker-controlled addresses: 0x70951410C5E9E938D8715288A7229548287a1a62, 0x2B2259cD0B7a4767d7d1caA5D1B15E16438453ba, 0x73D231f43c6952AD320af26605EB097fCE766D93, 0xc530c63C3053455157a82D5175599CdCD5f02587, and 0xB565bfd6Fb4154D50C6Eb1888af52BAFd9fEBD6F.\n\nThe malicious code included stealth features such as process title masquerading (setting process.title to 'systemd: [logrotate]'), hex-escape string obfuscation, and internal comments referencing 'Process Hiding & Persistence', 'Advanced Stealth Features', and 'Main Infinite Attack Loop'. The file self-identified as 'ULTRA_TESLA_v1000 - FULLY OPERATIONAL (NO SAFETY LOCKS)'.\n\nThe incident was identified and credited to the OpenSSF malicious-packages repository.
Indicators of compromise
- Packages
- @library-dev-team/data-sanitizer
- Hashes
- ec70432fa5463156a41cb4031ccdd89aa76b724eaac0c6e8e61949cb18403d02
Remediation
- Immediately remove @library-dev-team/data-sanitizer from all projects and dependencies
- Audit npm install logs to identify when the package was installed and which versions were used
- Rotate all private keys, secrets, and mnemonics that may have been exposed in .env files during the period the package was installed
- Review blockchain transaction history on affected wallets for unauthorized transfers
- Implement package integrity verification and supply chain security scanning in CI/CD pipelines
- Use npm audit and similar tools to detect malicious packages before installation
- Consider using private package registries with vetting processes for critical dependencies
Sources
- GitHub Advisory GHSA-6m86-37gj-q52h · GitHub Advisory Database
Cite this entry
"Malicious code in @library-dev-team/data-sanitizer (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 19, 2026; last updated August 19, 2026. https://supplychainattack.org/incident/malicious-code-in-library-dev-team-data-sanitizer-npm-1e9x1q
Suggest a correction
Found an error or have a newer source? Corrections to factual errors take priority over new entries.
Related incidents
- 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 - 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 - 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 - 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