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

path-internalnpm

Malicious code in path-internal (npm) Remove it immediately and rotate any exposed credentials.

MAL-2026-2930
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall path-internal

What this malware does

The package presents itself as a copy of the Node.js core path module (name path-internal, README: "exact copy of the NodeJS 'path' module") and ships the upstream Joyent path implementation with a malicious dropper spliced between posix.basename and posix.extname in path.js. On require('path-internal'), the module decodes a base64-encoded URL (https://www.jsonkeeper.com/b/YCW2F, stored under the misleading variable name randomStringRe), fetches the JSON document at that URL, and passes data.content straight to eval(). A second identical IIFE for https://www.jsonkeeper.com/b/TPQHE is present (commented out) under tokenStringRe. jsonkeeper.com is an anonymous, mutable paste host: the attacker can change the served payload at any time to execute arbitrary code in-process on every installer that imports the package. The base64 obfuscation, the regex-shaped decoy variable names, the splice into a verbatim copy of a Node stdlib module, and the typosquat name (with the README also confusingly suggesting npm install --save path-external) collectively confirm malicious intent rather than negligence.

The OpenSSF Package Analysis project identified 'path-internal' @ 1.0.10 (npm) as malicious.

It is considered malicious because:

  • The package communicates with a domain associated with malicious activity.

  • The package executes one or more commands associated with malicious behavior.

Malicious versions

6 flagged
1.0.101.0.111.0.121.0.131.0.141.0.15

Indicators of compromise (SHA-256)

37a46ea303cb680cff00791b29be183770a5eb1edaef69ce37b97327243deeea
3ffd83abacf171f62d4ab24cb566309928d5ae7d0fa65b7b8dd9cb6adafb0b99
abc4831453df57bac423574143b194320835024fc24fdc838ee77b08db8a4e52
69a980bf55ae1f73da093b3b7c1a29a2036d779a4eaefa932d35a7190bef8f56
b6bf7ad436a59244e2afc4824dd817d97fea9639a779630425bba77546be2708
b6f9fdab17c04f83092e8be5cd40659ff6a7fd4ba936ee30fd1ae03e92311e2e
2e41b4e12365824a7df50e3711c5c1d31e64ca4972e2571fa79082d18efa1844
5393cf6d8cf49c2550e7cc90ff3de58b1e97bdc89183f63beae60b3e46b9d2e0
a19a0df6f7e1346a46e8a6d85d06ecf9fc66090ecd3dd5f017c5308a1525bf7f
185fac17d53eeb731bbed369b674ab4669fa08230adb48a218362850eced5116
e966da8efc781225d9f41e938d651f4d9e98046c3b7ed345733bd2846c935b95

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 path-internal (6 malicious versions). O3 Security's supply-chain scanner checks every dependency against known-malicious package intelligence at install time and in CI, flagging path-internal across your stack and pipelines.

  2. If you installed it — respond

    path-internal 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 path-internal 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 path-internal 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. path-internal on npm has been identified as a malicious package (versions 1.0.10, 1.0.11, 1.0.12, 1.0.13, 1.0.14, 1.0.15 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-004702IN-MAL-2026-004718IN-MAL-2026-004717IN-MAL-2026-004701IN-MAL-2026-004938IN-MAL-2026-004939

References

Credits

  • Amazon Inspector · finder
  • OpenSSF: Package Analysis · finder

Detect & block this

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

path-internal (npm) malicious package — MAL-2026-2930 | O3 Security