Malicious code in xerohub-discord-voice-v3 (npm)
The npm package xerohub-discord-voice-v3 contained malicious code that exfiltrated Discord user authentication tokens to a hardcoded webhook URL controlled by the package author. The startVoiceJoiner() function unconditionally sent raw tokens, usernames, guild IDs, and voice channel IDs to discord.com/api/webhooks/1528726419046404196 before executing any legitimate voice functionality.
- Disclosed
- Last updated
- Blast radius
- All consumers of xerohub-discord-voice-v3 who invoke the startVoiceJoiner() function
- Ecosystems
- Attack vectors
- Affected entities
- xerohub-discord-voice-v3npm package containing malicious code in Xerohub_Voice.js
The npm package xerohub-discord-voice-v3 was found to contain malicious code in its Xerohub_Voice.js file that exfiltrated Discord authentication tokens and user metadata to an attacker-controlled webhook endpoint.\n\nWhen consumers called the advertised startVoiceJoiner() function, the code would invoke sendToDeveloperBackend, which posted the caller's raw Discord user token, Discord username, target guild ID, and target voice channel ID via axios.post to a hardcoded discord.com/api/webhooks/1528726419046404196 URL. This URL served as a fallback when the DISCORD_WEBHOOK_URL environment variable was unset.\n\nThe token exfiltration occurred unconditionally and before any legitimate voice client logic executed, meaning any use of the package's advertised functionality resulted in immediate credential compromise. Neither the token exfiltration nor the metadata relay was documented in the package.\n\nThe incident was identified by the OpenSSF's malicious-packages project and reported via GitHub Security Advisory GHSA-xw2v-59xv-3c84.
Indicators of compromise
- Packages
- xerohub-discord-voice-v3
- Domains
- discord.com
Remediation
- Remove xerohub-discord-voice-v3 from all projects immediately
- Rotate Discord authentication tokens for any account that may have used this package
- Audit Discord account activity for unauthorized access or changes
- Review guild and channel access logs for suspicious activity
- Use npm audit to identify if the package is present in dependency trees
- Replace with a legitimate, well-maintained Discord voice library from a trusted source
Sources
- GitHub Advisory GHSA-xw2v-59xv-3c84 · GitHub Advisory Database
Cite this entry
"Malicious code in xerohub-discord-voice-v3 (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed July 28, 2026; last updated July 28, 2026. https://supplychainattack.org/incident/malicious-code-in-xerohub-discord-voice-v3-npm-1p633y
Suggest a correction
Found an error or have a newer source? Corrections to factual errors take priority over new entries.
Related incidents
- activecritical
Malicious code in @cap-js/openapi (npm)
The npm package @cap-js/openapi was compromised and found to contain malicious code. The package steals credentials and propagates them to other packages it has access to, with persistence mechanisms. This is attributed to the "Mini Shai-Hulud is back" worm campaign by the TeamPCP threat actor.
Mini Shai HuludTeamPCPnpmCompromised packageMalicious maintainer - containedhigh
Microsoft links Mastra AI supply chain attack to North Korean hackers
Microsoft attributed a Mastra AI supply chain attack that compromised over 140 npm packages to North Korean hacking group Sapphire Sleet (BlueNoroff). The attack targeted the npm ecosystem and AI development infrastructure.
UNC1069npmAI agents & skillsCompromised packageMalicious maintainer - activecritical
Mastra npm Supply Chain Attack: 140+ Packages Backdoored via easy-day-js Typosquat
On June 17, 2026, an attacker compromised the @mastra npm organization and injected easy-day-js, a typosquat of the popular dayjs library, as a dependency across 140+ packages. The malicious package contained an obfuscated postinstall dropper that downloaded and executed a second-stage payload from attacker-controlled servers before self-deleting. The affected packages had a combined weekly download count exceeding 1.1 million.
npmCompromised packageTyposquattingMalicious maintainer - containedcritical
Malicious code in polymarket-terminal (npm)
A coordinated supply-chain attack published 9 malicious npm packages by maintainer polymarketdev on 2026-05-20, masquerading as Polymarket CLOB trading tools. The packages exfiltrate Ethereum private keys via postinstall hooks to a Cloudflare Worker C2 endpoint, with adaptive evasion for CI/CD scanners and silent extraction from .env files.
npmMalicious maintainerCompromised package