NIST deprecates RSA-2048 from 2030. Find every one of them before attackers do.
Malicious package

bnpl-blocks-analyticsnpm

Advisory published Updated

bnpl-blocks-analytics is a confirmed malicious npm package (MAL-2026-12861) that typosquats a legitimate package to trick installs (malicious version 35.3.8). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in bnpl-blocks-analytics (npm)

MAL-2026-12861
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall bnpl-blocks-analytics

What this malware does

On require('bnpl-blocks-analytics'), index.js loads compat.js whose top-level start() function downloads an OS-specific binary from Cloudflare Workers hosts assembled at runtime by joining split string arrays (oob-worker.cf99-9b3.workers.dev, oob-worker.cf101-adf.workers.dev, oob-worker.cf102-baf.workers.dev, oob-worker.cf103-070.workers.dev), with a DNS-TXT base64 fallback resolving to sdk.dl.wel1.ru, ext.dl.wel1.ru, pkg.dl.wel1.ru, and net.dl.wel1.ru. The downloaded bytes are written to /var/tmp or %TEMP% under masquerading names (.cache<hex> on Unix, dotnet_diag_<hex>.exe on Windows), chmodded to 0755, and spawned detached via cp.spawn('/bin/sh', ['-c', filePath+' &']) or cmd equivalent. No signature or hash verification is performed. A parallel dropper implementation is bundled in lib/telemetry.js, framed as an 'analytics SDK', using base64-chunk decoding and the same chmod+spawn pattern. Destination hostnames are obfuscated via string-array.join() and the payload filenames impersonate.NET diagnostic tooling.

Any 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.

Malicious versions

1 flagged
35.3.8

Indicators of compromise (SHA-256)

e3b74429ec0cf706ca11dded285a5b89933db6cbbf2b38905c0b0549be62a8f1
7a9f839f40268069bc8ab113097e0c431a8a7f145873d97fccd14020e6be3410

Detection & response playbook

Typosquat
  1. Find it

    Search your lockfiles and build artifacts for bnpl-blocks-analytics (version 35.3.8).

  2. If you installed it — respond

    bnpl-blocks-analytics is a typosquat — you almost certainly intended a legitimately-named package. Remove bnpl-blocks-analytics, install the correct package, and rotate any secrets exposed during the install since post-install scripts may have already run.

  3. Did it already run?

    If bnpl-blocks-analytics was installed, its post-install payload may already have run. Removing the package does not undo that — check outbound connections and credential use from the install window onward.

Frequently asked questions

No. bnpl-blocks-analytics on npm has been identified as a malicious package (version 35.3.8 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-015525GHSA-gpqh-q563-jrxf

References

Credits

  • Amazon Inspector · finder

Detect & block this

O3 blocks bnpl-blocks-analytics-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the malicious outbound activity and severs the channel.

Explore

bnpl-blocks-analytics (npm) malicious package — MAL-2026-12861 | O3 Security