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

@types-beta/sdknpm

@types-beta/sdk is a confirmed malicious npm package (MAL-2026-11499) that opens a backdoor for remote access (malicious versions 0.1.0, 0.1.1, 0.1.2…). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in @types-beta/sdk (npm)

MAL-2026-11499
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall @types-beta/sdk

What this malware does

The npm package @types-beta/sdk is a supply-chain dropper that impersonates the trusted @types (DefinitelyTyped) namespace to look like a routine type-definition dependency. It bundles a Windows executable (vendor/nanocache.exe) and launches it as an import-time side effect: dist/index.js calls init() at module load, and on Windows init() spawns the bundled binary via child_process — detached, stdio: 'ignore', windowsHide: true. There is no lifecycle install hook; simply importing the package (directly or transitively) executes the payload on Windows.

Static analysis of the bundled binary (it was not executed) shows a WinHTTP WebSocket-based remote-access agent: it dials out to a command-and-control server and maintains a persistent, auto-reconnecting channel (WinHttpConnect / WinHttpWebSocketSend / WinHttpWebSocketReceive), executes remote commands, and starts an interactive PowerShell session. Embedded strings include [agent] Connecting to %ls:%d (secure=%d), [+] Connected client=%s server=%ls, [>] cmd: %s, and [shell] PowerShell session started (UTF-8, pipeline mode), with [-] Disconnected, reconnecting in %dms... for resilience.

Versions 0.1.0-0.1.3 are affected and were live on npm at the time of reporting.

The package masquerades as a type-definitions package in the @types-beta/* namespace but ships a 1.1 MB Windows executable at vendor/nanocache.exe. The main entry dist/index.js calls init() at module load time, which on Windows spawns vendor/nanocache.exe with detached: true, stdio: "ignore", windowsHide: true, then child.unref()s it, so a hidden background process starts whenever a consumer writes import "@types-beta/sdk". The bundled PE (sha256 9a65f46787db4dd1e278a06f617094c59ca113ee92f6a8021b62967bb64b947a) contains embedded strings consistent with a remote-control agent (/ws/agent, disconnect, update, exit_code). The README reinforces the impersonation by contrasting the package with @types-beta/node as "type definitions only", while this package auto-executes native code on import. Import-time launch of an opaque, undocumented native binary with agent-shaped protocol strings on a namespace crafted to imitate DefinitelyTyped constitutes a backdoor installation on the developer's host.

Malicious versions

4 flagged
0.1.00.1.10.1.20.1.3

Indicators of compromise (SHA-256)

cbfde7f85ff6afcc89921a3f67e3daaacd985383f9986ff92102a86e3ba7ba94
0b68df6d804a2c0a4d9471d8e102570c81533595541ddde58a099c27b0b6ba77
5a3bdb989bdab8b3038c0eb791bf3e09ee753c363d198162f54420b82d9326ed
612e2c25d7dd7afd79de96039bf11ad7103fc96f4cbc50a57e958d5671c85255

Detection & response playbook

Backdoor / remote access
  1. Find it

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

  2. If you installed it — respond

    @types-beta/sdk establishes remote access, so treat any host that installed it as fully compromised. Isolate the machine, remove the package, rotate all credentials it could reach, and rebuild from a trusted image rather than cleaning in place — a backdoor may have planted additional persistence.

  3. Did it already run?

    If @types-beta/sdk 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 @types-beta/sdk 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. @types-beta/sdk on npm has been identified as a malicious package (versions 0.1.0, 0.1.1, 0.1.2, 0.1.3 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-011168IN-MAL-2026-011169IN-MAL-2026-011167IN-MAL-2026-011165

References

Credits

  • Amazon Inspector · finder
  • codelake Research · finder

Detect & block this

O3 blocks @types-beta/sdk-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the C2 callback and severs the channel.

Explore

@types-beta/sdk (npm) malicious package — MAL-2026-11499 | O3 Security