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

@leonardo0902/vortex-kitnpm

@leonardo0902/vortex-kit is a confirmed malicious npm package (MAL-2026-13939) that steals credentials and exfiltrates sensitive data (malicious version 12.0.2). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in @leonardo0902/vortex-kit (npm)

MAL-2026-13939
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall @leonardo0902/vortex-kit

What this malware does

The main module in @leonardo0902/[email protected] issues an HTTPS request to a hardcoded bare-IP endpoint at 31.97.137.157:45000/icons/116 and passes the returned credits field to new Function('require',..., 'Promise', data.credits), executing attacker-controlled JavaScript with full Node context (require, process, Buffer) whenever the module is loaded and its exported function is invoked. The fetch destination is disguised as a static-asset endpoint: the file defines a decoy setDefaultModule referencing legitimate CDNs (cloudflare, fastly, akamai, cloudfront) and a font-awesome path, then reuses the identical variable names (protocol, domain, path, head, bearrtoken: 'logo') around the bare-IP fetch-and-eval to frame it as an icon download. Bundled native dependencies (@primno/dpapi, better-sqlite3, node-machine-id) are consistent with a dynamically delivered browser-credential-stealer payload. The remote code is unpinned, unverified, and controlled entirely by whoever operates the IP.

Malicious versions

1 flagged
12.0.2

Indicators of compromise (SHA-256)

1707e031a6c470479ecbd0b01a480cc801a9d049a3732abc265ccad8791272a9

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 @leonardo0902/vortex-kit (version 12.0.2). O3 Security's supply-chain scanner checks every dependency against known-malicious package intelligence at install time and in CI, flagging @leonardo0902/vortex-kit across your stack and pipelines.

  2. If you installed it — respond

    @leonardo0902/vortex-kit 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 @leonardo0902/vortex-kit 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 @leonardo0902/vortex-kit 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. @leonardo0902/vortex-kit on npm has been identified as a malicious package (version 12.0.2 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-017663

References

Credits

  • Amazon Inspector · finder

Detect & block this

O3 blocks @leonardo0902/vortex-kit-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