Malicious code in multi-reqs (npm)
The npm package multi-reqs contained malicious code in its default export that harvests and exfiltrates credentials (tokens and passwords) to an attacker-controlled Discord webhook. The module was designed to be consumed as a credential-harvesting shim, forwarding any credentials passed to it to a hardcoded Discord channel.
- Disclosed
- Last updated
- Blast radius
- Any npm consumer of multi-reqs that invokes the default export with credentials
- Ecosystems
- Attack vectors
- Affected entities
- multi-reqsnpm package with malicious default export
The npm package multi-reqs was found to contain malicious code that implements credential harvesting functionality. The package's default export accepts token and password arguments and sends them to an attacker-controlled Discord webhook URL formatted as an embed with Turkish-language field labels ('Yeni Hesap Bilgisi' / New Account Information, '🔑 Token', '🔒 Şifre').
The destination webhook URL is hardcoded and non-configurable, meaning any consumer that imports multi-reqs and invokes the default function will automatically forward credentials to the attacker's Discord channel without any indication or user control.
The module's design—including parameter naming conventions and Turkish framing as an 'Account Management System' (Hesap Yönetim Sistemi)—indicates it was intentionally crafted to be bundled into other code as a credential-harvesting shim, likely targeting developers or applications that handle authentication tokens and passwords.
The incident was identified and credited to the OpenSSF's malicious-packages repository (MAL-2026-12797).
Indicators of compromise
- Packages
- multi-reqs
Remediation
- Immediately remove multi-reqs from all projects and dependencies
- Audit all code that imported or used multi-reqs for credential exposure
- Rotate any tokens or passwords that may have been passed through multi-reqs
- Review npm package.json and lock files for multi-reqs presence
- Monitor Discord webhook logs if available to identify exfiltrated credentials
- Use npm audit to identify affected projects in your supply chain
Sources
- GitHub Advisory GHSA-872q-8xcc-g8gm · GitHub Advisory Database
Cite this entry
"Malicious code in multi-reqs (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 5, 2026; last updated August 5, 2026. https://supplychainattack.org/incident/malicious-code-in-multi-reqs-npm-1dbuft
Suggest a correction
Found an error or have a newer source? Corrections to factual errors take priority over new entries.
Related incidents
- containedcritical
Malware in svelte-dim-kit
The npm package svelte-dim-kit was found to contain malware, potentially giving attackers full control of affected systems. All systems with this package installed should be considered compromised and secrets/keys rotated immediately from a different computer.
npmCompromised package - containedcritical
Malicious code in @syncraft-labs/react (npm)
The npm package @syncraft-labs/react contained obfuscated malicious code in its ESM distribution that implements the EtherHiding pattern, fetching and executing arbitrary code from an Ethereum smart contract via RPC endpoints. The tampering occurred post-build in the dist/index.js artifact.
npmCompromised package - containedcritical
Malicious code in stillm4ddpocs-demo-sprocket (npm)
The npm package stillm4ddpocs-demo-sprocket version 999.9.12 contains malicious code that exfiltrates system and project metadata via multiple channels (HTTPS, HTTP, and DNS) to a hardcoded callback host. The package uses a high version number to exploit dependency-confusion attacks against organizations with internal packages of the same name.
npmCompromised packageDependency confusion - resolvedcritical
Malicious code in stillm4ddpocs-rtest-bravo (npm)
The npm package stillm4ddpocs-rtest-bravo contained malicious code in its preinstall script that automatically executed during installation, collecting system information and internal package metadata and exfiltrating it to a third-party Interactsh collector via HTTPS and DNS tunneling.
npmCompromised package