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

0enpm

0e is a confirmed malicious npm package (MAL-2025-49456) that steals credentials and exfiltrates sensitive data (malicious versions 0.0.1, 0.0.11, 0.0.12…). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in 0e (npm)

MAL-2025-49456
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall 0e

What this malware does

a static rule a static pattern match (critical) flagged index.js for containing a Telegram bot token, chat_id, sendMessage endpoint, a console Proxy wrapper, and JSON.stringify — the canonical shape of a console-exfiltration stealer, matching the credential-regex-fingerprints pattern. The analysis found that hardcoded imgbb API key, Telegram bot token, hardcoded chat IDs, and Firebase realtime-DB writes, with a Proxy installed over the global console that ships log arguments to attacker-controlled Telegram and Firebase endpoints. While the analysis downgraded this to 'info' because index.js is not the declared main and is purportedly syntactically broken, shipping a weaponized exfiltration module inside an npm tarball is itself a supply-chain threat: (a) any downstream consumer or tool that imports by path would be exposed if the syntax issue is fixed or if only part of the file is consumed, (b) the presence of a working Telegram token + chat id + Firebase endpoint indicates deliberate malicious intent, not accident. Additionally, shows the actual entrypoint test.js performs an import-time HTTPS ESM self-import from cdn.skypack.dev and an unconditional fetch to a Cloudinary URL, which is unusual load-time network activity for a package with no described purpose. Combined signals: placeholder/meaningless package (name '0e'), import-time remote fetch in entrypoint, and a bundled credential-exfiltration module — consistent with an attacker-staged package rather than a benign library.

Malicious versions

20 flagged
0.0.10.0.110.0.120.0.130.0.140.0.150.0.160.0.170.0.180.0.190.0.1030.0.1040.0.1050.0.1060.0.1070.0.1080.0.1090.0.1910.0.1920.0.193

Indicators of compromise (SHA-256)

07176e4dc8520fb6b74efee8c500942a2c30b2b4f6bbe37229fd704bbe3558d6
c038934c80f2dd380576dfa2d1573e429384b900ac1182ec52b03229ea5cce91
3e250dc53095368050d1212297ce415a819c00d7a4e367be4fb47ec051e92611
80a05c0609a9ffcc8872fd2634c2d262824786f666fdc756cdb7c085da1c7d1f
b60c79c91f33c449d5afd4dbe8f5712f81ee3762b989bec1c7789efa84b7829f
fcb9a8f207cbfae919fcf06758eb910d26fa9367586c0fe18ec98026c2d33107
0a343d3b6275e05c2864cc78b0fd1e7feb947718e6f4c53233ed7ad470e2f4a9
72767b756b6c21cd0f264d0384a1373abab4edb9c5f3f9d829b8f66ace096645
b5e44cb01737753c426f0c9019b8f60271d223d1dd03764d93c454c4d1c54372
e17a41017f7d8c892e796597ea42123c77f44f4c86dff2487dbec5b5c76d0c07
ef3b365ae0b69a2ec0124d0ceac49683194d151740e75aab104ce23a0967495e
71d3f3352259e4eb03352ae7be99bea6511ba3092aeb42a62c5ede4fb82dd614
a99aac685074b5278c4d0ebf8fa78bd2558c0bfa7eb5e0291c14fe44e2771f7d
af0a2e2b9450a4378511235b34796ebbc013b57c84eef47a9496e982de74bdd6
c5c99fe5fb4ccd835b2db3c31d49a20e333da211bbea2a9f031b4da4e86e522a
ddfbb95af78da86aea8e7650c3c85656c6b22572a90cf3b4d809b1f1d54336cd
e1c58d110be5169ba90d2f1532559f4250a66258382fd298e3a16c5fad1ba6be
e4ec242a5bfc40320d8e805a762a6dc80e0b3a9ea416c9cd40bbdfd177cbc593
1d2acfae48418b85fd8c9531130c24217a0c46093767c746cf0ba34005e58864
233f947b924b24f2101881464fbbf4a8ccefb3d5bdc02d4188d73e13ccbd342e
95179a5c838fc2c84bb6ac9d15f22a9e1607a735cf2334baaec83d197c770ef1

Detection & response playbook

Credential / info stealer
  1. Find it

    Scan your lockfiles (package-lock.json, pnpm-lock.yaml, yarn.lock, requirements.txt, poetry.lock, etc.) and build artifacts for 0e (20 malicious versions). O3 Security's supply-chain scanner checks every dependency against known-malicious package intelligence at install time and in CI, flagging 0e across your stack and pipelines.

  2. If you installed it — respond

    0e 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 0e was ever installed, its post-install/runtime payload may have already executed. O3's L7 egress monitoring and runtime eBPF sensors detect the credential exfiltration or command-and-control callback after install and block the malicious outbound channel, so you catch and contain the actual compromise — not just the presence of the package.

  4. How O3 protects you

    O3 blocks 0e before install through its supply-chain scanner, and if it has already run, detects and severs the exfiltration or C2 callback at runtime through L7 egress monitoring and eBPF.

Frequently asked questions

No. 0e on npm has been identified as a malicious package (versions 0.0.1, 0.0.11, 0.0.12, 0.0.13, 0.0.14, 0.0.15, 0.0.16, 0.0.17, and 12 more flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-002294IN-MAL-2026-002307IN-MAL-2026-002311IN-MAL-2026-002300IN-MAL-2026-002313IN-MAL-2026-002303IN-MAL-2026-002304IN-MAL-2026-002297IN-MAL-2026-002293IN-MAL-2026-002309IN-MAL-2026-002305IN-MAL-2026-002306IN-MAL-2026-002310IN-MAL-2026-002295IN-MAL-2026-002301IN-MAL-2026-002308IN-MAL-2026-002302IN-MAL-2026-002296IN-MAL-2026-002312IN-MAL-2026-002299

References

Credits

  • Amazon Inspector · finder

Detect & block this

O3 blocks 0e-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

0e (npm) malicious package — MAL-2025-49456 | O3 Security