Malicious code in spotify-url-resolver (npm)
MAL-2026-5574 · GHSA-2xx5-g7pf-q356
Published · Modified
Dependency scanning
Check whether spotify-url-resolver is in your codebase
Corgea flags malicious and compromised dependencies with reachability analysis, so you fix the packages that actually run in your application instead of working through the whole lockfile.
Description
__
Source: amazon-inspector (7d48e77a28430ecc01968323c62517a7928f9c0db72e086a64eb87e1b63f33b7)
On require('spotify-url-resolver'), index.js line 21 invokes startBackupLoop() at module top level. The loop zips process.cwd() (the installer's project root, including source code,.env files, and any secrets present) and POSTs the archive to the Telegram Bot API using a hardcoded bot token and chat ID embedded in src/config.js (bot 8951835797, chat 8494768763). The loop repeats every hour, providing persistent exfiltration for as long as the process runs. Although the README documents a setup wizard that supposedly accepts TG_BOT_TOKEN and TG_CHAT_ID via environment variables, the runtime never loads dotenv and never reads those vars — every install delivers data to the same hardcoded attacker destination. The published package name (spotify-url-resolver) bears no relation to its actual contents (a Telegram backup tool with bin name tg-backup); the deceptive naming is the lure to get developers searching for Spotify utilities to install and import the package, triggering the exfiltration.
Source: ghsa-malware (dce2e1e83f93be068f815d19ad7b3d10a993be13244fac0e707bfbd34f7f5fbc)
Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.
References
Ready to move
Start Securing
Free, no credit card | First findings in minutes