Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
Malicious package

pixel-map-testmetestnpm

Advisory published Updated

pixel-map-testmetest is a confirmed malicious npm package (MAL-2026-18180) that steals credentials and exfiltrates sensitive data (malicious versions 0.0.1, 0.0.2, 0.0.3). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in pixel-map-testmetest (npm)

MAL-2026-18180
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall pixel-map-testmetest

What this malware does

pixel-map-testmetest 0.0.1 and 0.0.2 ship a rebuild of the data-pipeline-testmetest 2.0.1 credential stealer and run it on npm install: their binding.gyp source <!(env node index.js >/dev/null 2>&1; echo stub.c) makes node-gyp run index.js, which decrypts data.bin and pipes it into Bun. The package.json poses as an npm staged-publishing placeholder ("stub": true, "Temporary package placeholder for staged publishing"). Published by npm account newtestnewdont on 2026-10-21 after a benign 1.0.0; the same account published benign-looking color-utils-testmetest, string-helpers-testmetest and byte-stride-testmetest. 0.0.2 (published 3.5 hours after 0.0.1) is the same loader and hook with a re-encrypted, additionally obfuscated payload.

On npm install, node-gyp automatically processes binding.gyp. The binding.gyp here declares target type 'none' with no C/C++ sources and abuses GYP command-expansion <!(env node index.js...; echo stub.c) to execute index.js at install time. index.js is a Caesar-cipher/charcode-obfuscated loader wrapped in eval that AES-128-GCM-decrypts a 319 KB sibling blob (data.bin) using hex key/iv/aad hardcoded in the loader, brotli-decompresses the result, writes it into a mkdtemp'd .b-<rand> directory, and spawns the Bun runtime (declared as an npm dependency bun ^1.2.18) to execute the dropped file, bypassing Node-based inspection. package.json sets stub: true with description 'Temporary package placeholder for staged publishing' and the README claims a holding version, yet the tarball ships the obfuscated loader, the encrypted blob, the binding.gyp install hook, and the alternate runtime — the stated purpose contradicts the shipped behavior. The actual payload bytes are not inspectable statically; the combination of install-time execution, multi-layer obfuscation, hardcoded-key AES-encrypted blob, drop-to-temp, and alternate-runtime execution matches the npm alternate-runtime dropper pattern.

Malicious versions

3 flagged
0.0.10.0.20.0.3

Indicators of compromise (SHA-256)

96016490b5f0c2f7a205f4108c012955c1bbaaff0d2ba1904d18747752a6c729
a5c16a91271c0413b0f19842d37f3d94fdd9bf7edf2e70f67da4ae8bdc52cf5b
65072803ff6a65eee326b518b2039415559b4f8582f44b2f2af2f871aea9f39e

Detection & response playbook

Credential / info stealer
  1. Find it

    Search your lockfiles and build artifacts for pixel-map-testmetest (3 malicious versions).

  2. If you installed it — respond

    pixel-map-testmetest is built to steal secrets, so assume every credential the build or runtime could read is compromised. Remove it from your project and lockfile, then rotate ALL exposed secrets — npm/registry tokens, cloud keys, CI/CD secrets, SSH keys, and any .env values — from a known-clean machine. Audit logs for unauthorized use of those credentials.

  3. Did it already run?

    If pixel-map-testmetest 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. pixel-map-testmetest on npm has been identified as a malicious package (versions 0.0.1, 0.0.2, 0.0.3 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-021579IN-MAL-2026-021574IN-MAL-2026-021581

References

Credits

  • Amazon Inspector · finder
  • Robin Frehner, Protet · finder

Detect & block this

O3 blocks pixel-map-testmetest-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the credential exfiltration and severs the channel.

Explore