MAL-2026-14529Malicious code in baileys-mbuilder (npm)
| Ecosystem | Package | Version |
|---|---|---|
| npm | baileys-mbuilder | * |
| npm | baileys-mbuilder | 4.7.0-lts |
{"schema_version":"1.7.4","id":"MAL-2026-14529","published":"2026-08-26T13:28:03Z","modified":"2026-08-27T03:57:20.709372395Z","aliases":["GHSA-8m87-xx52-4rjw"],"summary":"Malicious code in baileys-mbuilder (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (508ded2b926100712d9abf255683432d44a917c067f9d69b14b4c678918ce8bb)\npackage.json declares `\"postinstall\": \"node lib/index.js --install\"`, and lib/index.js is a single ~6.3 MB JSFuck-style eval() expression that reconstructs its source character-by-character from boolean/array coercions and %-unescape. The same file is the package's `main`, and lib/index.mjs re-requires it, so both `npm install` and any subsequent `require`/`import` of the package execute the obfuscated payload. The README documents that the postinstall step downloads MessageBuilder.js from a remote repository and that `MB.enableAutoUpdate(ms, cb)` periodically re-fetches remote JavaScript, hash-compares it, and on mismatch dynamic-`import()`s the new module, rebinding the default export via a Proxy so consumers transparently run the newly fetched code. The fetch destination, pinning, and any integrity checks are hidden inside the JSFuck blob and are not visible to static review. The obfuscation scale (6 MB of JSFuck for a message-builder library) has no legitimate purpose and defeats scanner and reviewer inspection of what actually executes on installer machines.\n\n## Source: ghsa-malware (396af19b57be005328e2697ade736320c214b8f997f5deca03911df68b4c7e63)\nAny 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.\n","affected":[{"package":{"name":"baileys-mbuilder","ecosystem":"npm"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"}]}],"versions":["4.7.0-lts"],"database_specific":{"cwes":[{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"}],"indicators":{"evidence_files":[{"path":"lib/index.js","sha256":"59cdece50f9e37c7e88bd64374e4e1be739c97c845516db3dfac5312dd184271","tlsh":"2556caae41137f51f50b95e880665e644b0e0ac7e8d097997b7ce0fa8d9edfed183022"},{"path":"README.md","sha256":"b6e4c9c0e15f96d60616cadaa614f7935b3e5e542a9c9a45e5b8282d7282bf16","tlsh":"30d121b12c92f5347a33d36da003a556fe26716e7a06a464344e31f943ce2b10edd93b"}]}}}],"references":[{"type":"ADVISORY","url":"https://github.com/advisories/GHSA-8m87-xx52-4rjw"},{"type":"PACKAGE","url":"https://www.npmjs.com/package/baileys-mbuilder/v/4.7.0-lts"}],"database_specific":{"malicious-packages-origins":[{"id":"GHSA-8m87-xx52-4rjw","import_time":"2026-08-26T13:38:10.45188626Z","modified_time":"2026-08-26T13:28:11Z","ranges":[{"events":[{"introduced":"0"}],"type":"SEMVER"}],"sha256":"396af19b57be005328e2697ade736320c214b8f997f5deca03911df68b4c7e63","source":"ghsa-malware"},{"id":"IN-MAL-2026-018792","import_time":"2026-08-27T03:55:28.254933218Z","modified_time":"2026-08-27T03:00:47Z","sha256":"508ded2b926100712d9abf255683432d44a917c067f9d69b14b4c678918ce8bb","source":"amazon-inspector","versions":["4.7.0-lts"]}]},"credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"}]}数据来源:OpenSSF Malicious Packages · Apache-2.0