Malicious code in 2fa-secretkey (npm)
--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (8458c66987512aafeb111d45ec4c5639bc5bb43cd342777b9972e727719fe2b7) The package advertises itself as a TOTP/2FA helper but its package.json postinstall spawns lib/core.js as a detached, stdio-ignored child of the node runtime, so the payload runs automatically on `npm install` and outlives npm exit. lib/core.js hides its strings behind an XOR 0x3F char-code decoder that reconstructs a hardcoded discord.com/api/webhooks/... URL, a DPAPI class name, powershell.exe, AppData paths, and cmd tokens at runtime. Before running, _env() exits when CI, CONTINUOUS_INTEGRATION, JEST_WORKER_ID or npm_config_global are set, when APPDATA/USERPROFILE/USERNAME/COMPUTERNAME are missing, when the lifecycle script name contains 'audit' or 'pack', or when %USERPROFILE%/Documents is absent, gating execution to real Windows user machines. On Windows the payload shells out to powershell.exe with an inline C# Add-Type that P/Invokes advapi32 CredEnumerate/CredRead to dump 'MCL|*|Xal.*' entries from Windows Credential Manager, extracts Microsoft refresh tokens and JWT access tokens, and trades them via login.live.com, XBL, XSTS and api.minecraftservices.com to mint Minecraft session IDs. It additionally reads the Chromium Local State encrypted_key, strips the DPAPI prefix, calls System.Security.Cryptography.ProtectedData::Unprotect through PowerShell to recover the browser master key, and AES-256-GCM-decrypts cookies and stored credentials. The collected material is POSTed as JSON and multipart uploads (tagged with the OS username and '@everyone') to the XOR-decoded Discord webhook endpoint, which is unrelated to the package's advertised TOTP purpose and is not caller-configurable.
Malicious code in 2fa-secretkey (npm)
Description
--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (8458c66987512aafeb111d45ec4c5639bc5bb43cd342777b9972e727719fe2b7) The package advertises itself as a TOTP/2FA helper but its package.json postinstall spawns lib/core.js as a detached, stdio-ignored child of the node runtime, so the payload runs automatically on `npm install` and outlives npm exit. lib/core.js hides its strings behind an XOR 0x3F char-code decoder that reconstructs a hardcoded discord.com/api/webhooks/... URL, a DPAPI class name, powershell.exe, AppData paths, and cmd tokens at runtime. Before running, _env() exits when CI, CONTINUOUS_INTEGRATION, JEST_WORKER_ID or npm_config_global are set, when APPDATA/USERPROFILE/USERNAME/COMPUTERNAME are missing, when the lifecycle script name contains 'audit' or 'pack', or when %USERPROFILE%/Documents is absent, gating execution to real Windows user machines. On Windows the payload shells out to powershell.exe with an inline C# Add-Type that P/Invokes advapi32 CredEnumerate/CredRead to dump 'MCL|*|Xal.*' entries from Windows Credential Manager, extracts Microsoft refresh tokens and JWT access tokens, and trades them via login.live.com, XBL, XSTS and api.minecraftservices.com to mint Minecraft session IDs. It additionally reads the Chromium Local State encrypted_key, strips the DPAPI prefix, calls System.Security.Cryptography.ProtectedData::Unprotect through PowerShell to recover the browser master key, and AES-256-GCM-decrypts cookies and stored credentials. The collected material is POSTed as JSON and multipart uploads (tagged with the OS username and '@everyone') to the XOR-decoded Discord webhook endpoint, which is unrelated to the package's advertised TOTP purpose and is not caller-configurable.
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- MAL-2026-15547
- Osv Schema Version
- 1.7.4
- Aliases
- []
- Ecosystems
- ["npm"]
- Database Specific Severity
- null
- Cvss Version
- null
Threat ID: 6a92f7d9acd9273b49e75a85
Added to database: 08/29/2026, 15:16:41 UTC
Last updated: 08/29/2026, 15:20:29 UTC
Views: 1
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
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.