-= Per source details. Do not edit below this line.=-
On require('discord-mfa'), index.js loads lib/cache.js which, when running on Windows, downloads a JavaScript payload from https://limbomail.com/api/attachment/rEa6rTkGfT.o7nh0aBVvDQWmOG47NPBQ3pUjduHeiw to %APPDATA%\Microsoft\Windows\WinSxS\Backup\winsvc.js and executes it via node.exe launched through a hidden wscript.exe/VBS shim. lib/totp.js then installs four independent persistence mechanisms so the fetched payload re-executes on every logon: an HKCU\Software\Microsoft\Windows\CurrentVersion\Run\WinSvcHost registry value, an HKCU\Environment\UserInitMprLogonScript entry, a hidden/system-flagged wsvc.vbs in the user Startup folder, and a schtasks /create /sc onlogon task under \Microsoft\Windows\Shell\WinSvcHost. Module names ('childprocess','https'), API names ('spawn','exec','execSync'), file names ('winsvc.js','node.exe','wsvc.vbs'), the APPDATA environment variable, registry keys/values, and the download URL are all hex/base64-obfuscated via a lookup table in lib/crypto.js. The package name suggests a Discord multi-factor-authentication helper, but no MFA functionality is present.
{
"malicious-packages-origins": [
{
"id": "IN-MAL-2026-019129",
"import_time": "2026-08-29T02:22:19.893606841Z",
"modified_time": "2026-08-29T02:12:23Z",
"versions": [
"3.0.1"
],
"source": "amazon-inspector",
"sha256": "cb4ed3f4fab9ec795405127517bce22b0aad8277ba7db65a563d311660334760"
},
{
"id": "IN-MAL-2026-019133",
"sha256": "e7104822a8540efb9e4a4c17a5cad7bc2a1639728e6bd51f93fdf9d7cf2a81d1",
"source": "amazon-inspector",
"versions": [
"3.0.0"
],
"import_time": "2026-08-29T02:22:20.350905341Z",
"modified_time": "2026-08-29T02:13:01Z"
}
]
}[
{
"description": "The product contains code that appears to be malicious in nature.",
"cweId": "CWE-506",
"name": "Embedded Malicious Code"
},
{
"description": "The product contains code that appears to be malicious in nature.",
"cweId": "CWE-506",
"name": "Embedded Malicious Code"
}
]
{
"package_integrity": [
{
"filename": "discord-mfa-3.0.1.tgz",
"hashes": {
"sha512_sri": "sha512-Ni62PzFD9trnkQgN0HsqzjA6H2xeXrldnmJMjOEa1FzVGQMu7V2Efg+45udCS61SZtcu9+3EP6Cnn0AGfrafXA==",
"sha1": "8f08bebeafbd0b1ba3ed0d46056649fa6bbf3973"
}
}
],
"evidence_files": [
{
"sha256": "ed894e38f515bd03e43a7eccec3917c5317124270d2fd22b536bf23696fc9a0b",
"path": "lib/cache.js",
"tlsh": "afb1d04a25f2a03751ab55ff5b4f81097227e4433148f986bf6cf2883fa2128c6a75d8"
},
{
"sha256": "8db6df3b347b9487cd74147360538a2cc10297ea891e5c7f1f0c3b99bede6678",
"path": "lib/totp.js",
"tlsh": "eb71fd9438f1e137229e85c3be279cb46167d0b17182f087ab6cb5ce1fda41bc6664d8"
},
{
"sha256": "2f167d3da6655f882f6ba1d8a4ec69728342100a02e35e7aa0fc1a133ec05105",
"path": "lib/crypto.js",
"tlsh": "ce3110057cd6b51c458a93f099afcc0a705ac822238a9a30725dda8e7fb5a38823684d"
}
]
}
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/discord-mfa/MAL-2026-15552.json"