Malicious code in xerohub-discord-voice (npm)
The npm package xerohub-discord-voice versions 1.0.0 and 1.0.1 contain malicious code that can exfiltrate Discord user tokens and related information to a hardcoded webhook URL. Although the currently published versions include a placeholder webhook URL and a check that prevents the exfiltration from firing, any fork or republished version that replaces the placeholder with an actual webhook URL will silently send sensitive tokens and identifiers to the attacker. The malicious behavior is concealed by error handling that suppresses any failures, preventing the caller from noticing the data theft.
AI Analysis
Technical Summary
The xerohub-discord-voice npm package advertises a startVoiceJoiner(config) API for joining Discord voice channels. However, it contains a sendTokenToCreator() function that silently sends the caller-supplied USER_TOKEN, USER_TOKEN_2, VOICE_SERVER_ID, VOICE_CHANNEL_ID, and username to a hardcoded Discord webhook URL via an axios POST request. The code includes a comment in Thai explicitly stating that the token is sent back to the creator. In the published versions 1.0.0 and 1.0.1, the webhook URL is a placeholder string ('YOUR_DISCORD_WEBHOOK_URL_HERE'), and a placeholder check prevents the exfiltration from occurring. Nonetheless, if the constant is replaced with a real webhook URL in any fork or republished package, the exfiltration activates silently, with errors suppressed to avoid detection. Additionally, the package author embedded a Discord user-token-shaped literal in the sample invocation, indicating potential misuse or testing of the token theft mechanism.
Potential Impact
If the placeholder webhook URL is replaced with a real URL, the package will silently exfiltrate sensitive Discord user tokens and voice channel identifiers to an attacker-controlled endpoint. This could lead to unauthorized access to the victim's Discord account and voice channels. The current published versions do not perform the exfiltration due to the placeholder and gating check, so the impact is conditional on modification or republishing of the package with the webhook URL populated.
Mitigation Recommendations
The currently published versions (1.0.0 and 1.0.1) contain a placeholder webhook URL and a gating check that prevent the exfiltration from firing. Users should avoid using forks or republished versions of xerohub-discord-voice that replace the placeholder webhook URL with a real URL. It is recommended to remove or replace this package with a trusted alternative. Monitor for any unauthorized package modifications or republishing that could activate the malicious code. No official patch or fix is documented; users must rely on avoiding compromised versions.
Malicious code in xerohub-discord-voice (npm)
Description
The npm package xerohub-discord-voice versions 1.0.0 and 1.0.1 contain malicious code that can exfiltrate Discord user tokens and related information to a hardcoded webhook URL. Although the currently published versions include a placeholder webhook URL and a check that prevents the exfiltration from firing, any fork or republished version that replaces the placeholder with an actual webhook URL will silently send sensitive tokens and identifiers to the attacker. The malicious behavior is concealed by error handling that suppresses any failures, preventing the caller from noticing the data theft.
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The xerohub-discord-voice npm package advertises a startVoiceJoiner(config) API for joining Discord voice channels. However, it contains a sendTokenToCreator() function that silently sends the caller-supplied USER_TOKEN, USER_TOKEN_2, VOICE_SERVER_ID, VOICE_CHANNEL_ID, and username to a hardcoded Discord webhook URL via an axios POST request. The code includes a comment in Thai explicitly stating that the token is sent back to the creator. In the published versions 1.0.0 and 1.0.1, the webhook URL is a placeholder string ('YOUR_DISCORD_WEBHOOK_URL_HERE'), and a placeholder check prevents the exfiltration from occurring. Nonetheless, if the constant is replaced with a real webhook URL in any fork or republished package, the exfiltration activates silently, with errors suppressed to avoid detection. Additionally, the package author embedded a Discord user-token-shaped literal in the sample invocation, indicating potential misuse or testing of the token theft mechanism.
Potential Impact
If the placeholder webhook URL is replaced with a real URL, the package will silently exfiltrate sensitive Discord user tokens and voice channel identifiers to an attacker-controlled endpoint. This could lead to unauthorized access to the victim's Discord account and voice channels. The current published versions do not perform the exfiltration due to the placeholder and gating check, so the impact is conditional on modification or republishing of the package with the webhook URL populated.
Mitigation Recommendations
The currently published versions (1.0.0 and 1.0.1) contain a placeholder webhook URL and a gating check that prevent the exfiltration from firing. Users should avoid using forks or republished versions of xerohub-discord-voice that replace the placeholder webhook URL with a real URL. It is recommended to remove or replace this package with a trusted alternative. Monitor for any unauthorized package modifications or republishing that could activate the malicious code. No official patch or fix is documented; users must rely on avoiding compromised versions.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- MAL-2026-13708
- Osv Schema Version
- 1.7.4
- Ecosystems
- ["npm"]
Threat ID: 6a79f0c4bf8831d539f5dc7b
Added to database: 08/10/2026, 15:39:48 UTC
Last enriched: 08/10/2026, 15:41:32 UTC
Last updated: 09/22/2026, 13:04:54 UTC
Views: 26
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
External Links
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.