MAL-2026-13020Malicious code in bnpl-blocks-types (npm)
| Ecosystem | Package | Version |
|---|---|---|
| npm | bnpl-blocks-types | 35.2.1 |
{"modified":"2026-08-05T14:33:46Z","published":"2026-08-05T14:33:46Z","schema_version":"1.7.4","id":"MAL-2026-13020","summary":"Malicious code in bnpl-blocks-types (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (e5570ecd44264d28f2c2378da5c6cd23e562e696687adb01ab10b373c91e6560)\nOn require() of bnpl-blocks-types, index.js loads _helpers.js which selects a platform-specific path (/pkg/package, /pkg/package.exe, /pkg/loader_mac, /pkg/package-arm64) and downloads a binary from hostnames reconstructed at runtime via array.join to defeat static inspection: oob-worker.cf102-baf.workers.dev, oob-worker.cf103-070.workers.dev, oob-worker.cf100-416.workers.dev, and oob-worker.cf99-9b3.workers.dev. If HTTPS retrieval fails, a fallback assembles the payload from base64-encoded DNS TXT records under sdk.dl.wel1.ru, ext.dl.wel1.ru, pkg.dl.wel1.ru, and net.dl.wel1.ru. The fetched bytes are written to /var/tmp or %TEMP% under decoy names (dotnet_diag_<hex>.exe on Windows, hidden.cache_<hex> on Unix), chmod 0755, and spawned detached and unref'd via cp.spawn('/bin/sh', ['-c', fp + ' &'], {detached:true}). A second dropper copy is staged as lib/telemetry.js (81 KB, framed as an analytics SDK) containing the same base64-assemble, chmod 0755, and detached /bin/sh spawn pattern, with require('child_'+'process') and fs['chmod'+'Sync'] string-split obfuscation. Behavior is guarded by an mtime cache and opt-out env vars, consistent with a persistent, staged install-time dropper.\n","affected":[{"package":{"ecosystem":"npm","name":"bnpl-blocks-types"},"versions":["35.2.1"],"database_specific":{"cwes":[{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"}],"indicators":{"evidence_files":[{"path":"_helpers.js","sha256":"9c37cadf155f5736ae5db63ee5c4038793b43932b065b9047a2ff94c9663fc4b","tlsh":"59b1875a1266301d87b0d7e4871b5426f65be66333c082d4f79c99985f7612483b2efc"},{"path":"lib/telemetry.js","sha256":"b974c5c7549f68aa8e4b96f0c31d15d284d70b71f9eeab6cf6e3180b45347347","tlsh":"94835f55566a242186b2b368df234107ff3685272643429dbafc82dc1fbd72092a5ffc"}],"package_integrity":[{"filename":"bnpl-blocks-types-35.2.1.tgz","hashes":{"sha1":"8df32316ee084595edb087ff3c9d299242210e65","sha512_sri":"sha512-1GQujvNruu2GOt02DenEQFZhn7CrUwNABucNPMEM22cTffesouXGZ+9kuhKQGe3CX3TpAsGYozVi1hslQnPJ4Q=="}}]}}}],"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/bnpl-blocks-types/v/35.2.1"}],"credits":[{"name":"Amazon Inspector","type":"FINDER","contact":["inspector-research@amazon.com"]}],"database_specific":{"malicious-packages-origins":[{"id":"IN-MAL-2026-015350","import_time":"2026-08-05T15:19:46.424870078Z","modified_time":"2026-08-05T14:33:46Z","sha256":"e5570ecd44264d28f2c2378da5c6cd23e562e696687adb01ab10b373c91e6560","source":"amazon-inspector","versions":["35.2.1"]}]}}数据来源:OpenSSF Malicious Packages · Apache-2.0