Skip to content
supplychainattack.orgSupply chain attack incident catalog
resolvedcritical

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.

ShareXLinkedInHacker News
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

  1. 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.

  1. 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
  2. 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
  3. 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
  4. 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