Malicious code in @wagni_bot/opensea (npm)
A coordinated campaign of 25 malicious npm packages under the @wagni_bot scope, including @wagni_bot/opensea, were published on 2026-07-09 as typosquats of legitimate crypto/web3 libraries. Each package contained a postinstall hook that steals SSH keys, cryptocurrency wallets, .env files, and other secrets, exfiltrating them to a single Telegram bot.
- Disclosed
- Last updated
- Blast radius
- Any developer who installed @wagni_bot packages or any of the 25 coordinated typosquat packages in the @wagni_bot scope between 2026-07-09 and removal; credential theft affects downstream users and services.
- Ecosystems
- Attack vectors
- Affected entities
- @wagni_bot/openseaOpenSea SDK typosquat; part of 25-package coordinated campaign
The npm package @wagni_bot/opensea is a typosquat of the legitimate OpenSea SDK, part of a coordinated 25-package malicious campaign published under the @wagni_bot scope on 2026-07-09. All packages declare an identical postinstall lifecycle hook that executes automatically during npm install, before the package is ever imported.
The postinstall script fingerprints the host and user by collecting os.hostname(), os.userInfo(), and os.platform(), then recursively walks the user's home directory to extract high-value secrets: SSH private keys (~/.ssh/id_rsa), cryptocurrency wallet files, and .env files containing API keys, tokens, and seed phrases. All collected data is JSON-encoded and exfiltrated to a hardcoded Telegram bot via the Telegram Bot API endpoint.
Research by codelake confirmed the packages belong to a single automated actor: the payload file is byte-identical across all 25 packages at each version (version-lockstep), and every package exfiltrates to the same Telegram bot token. All error paths are swallowed to make the installation appear normal.
The packages were detected and classified on 2026-07-09 and were still live on npm at the time of reporting.
Indicators of compromise
- Packages
- @wagni_bot/opensea
- Domains
- api.telegram.org
Remediation
- Immediately uninstall @wagni_bot/opensea and all other packages in the @wagni_bot scope from all systems
- Rotate all SSH private keys, cryptocurrency wallet credentials, and API tokens/secrets that may have been exposed
- Review npm audit logs and package-lock.json for any installation of @wagni_bot packages between 2026-07-09 and removal
- Monitor Telegram bot activity and report the bot token (8804087989:AAHUia-5DCloXsg9M9QhffTsHO5J_6FAxQM) to Telegram for takedown
- Implement npm package pinning and use npm audit to detect malicious packages
- Consider using private npm registries or package allowlists to prevent typosquat installation
Sources
- GitHub Advisory GHSA-c84m-x93c-fwjj · GitHub Advisory Database
Cite this entry
"Malicious code in @wagni_bot/opensea (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed July 9, 2026; last updated July 28, 2026. https://supplychainattack.org/incident/malicious-code-in-wagni-bot-opensea-npm-1qodir
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 @ai_/autoprefixers (npm)
@ai_/autoprefixers is a typosquat of the legitimate autoprefixer package that executes arbitrary attacker-controlled shell commands on installation. The malicious code fetches encrypted payloads from remote C2 servers and decrypts them using a hardcoded key suffix before execution via child_process.exec.
npmTyposquattingCompromised package - resolvedcritical
Malicious code in ethers-secure (npm)
The npm package ethers-secure, which mimics the popular ethers library, contained malicious code that exfiltrated Ethereum private keys to an attacker-controlled server (enjbyg3xk8l.x.pipedream.net) whenever its wallet API was used. The package was identified by Amazon Inspector and credited to the OpenSSF malicious-packages project.
npmCompromised packageTyposquatting - containedcritical
Malicious code in chain-analyze (npm)
The npm package chain-analyze contained malicious code that executed arbitrary Node.js commands on installation. The package impersonated the official Theta blockchain SDK and used a split-package design with a dependency (chain-manager) to hide encrypted payload from scanners.
npmCompromised packageTyposquatting - containedcritical
Malicious code in parallely (npm)
The npm package parallely contains malicious code that impersonates the legitimate concurrently package. When invoked, it executes a dropper that downloads and runs platform-specific payloads after anti-analysis checks.
npmCompromised packageTyposquatting