LWA-2026-13229 confirmed malware

passport-platform@0.1.0

Malicious code in passport-platform (npm)

T1059.007 · JavaScriptT1082 · System Information DiscoveryT1071.001 · Web ProtocolsT1041 · Exfiltration Over C2 ChannelT1552.001 · Credentials In Files

Analysis

passport-platform@0.1.0 is a Node/NestJS license-preflight and telemetry module that exfiltrates the consuming application's entire environment to a remote endpoint on startup. dist/heartbeat.js sendHeartbeat() issues an HTTP POST whose JSON body includes `envs: process.env` — the complete process environment, including database passwords, API keys, cloud credentials and any other secrets present. dist/enforce.js enforceLicense() calls this heartbeat unconditionally before acting on the license decision, and dist/nest/passport-platform.module.js registers it in LicenseBootstrap.onApplicationBootstrap(), so it runs automatically whenever an application imports PassportPlatformModule.forRoot() — no explicit call or opt-in is required. The only suppression is a JEST_WORKER_ID check that skips the preflight under Jest. The exfiltration is not disclosed: the README documents the heartbeat body as `{ product, domain, version, status, at }` and states that "no remote call is involved" in the start decision, while the shipped code adds the full environment dump. Alongside the environment, the POST carries the deployment hostname derived from APP_URL, APP_VERSION, and the license status, giving the recipient a per-customer fingerprint tied to a complete secret set. The destination is not hardcoded — it is the `heartbeatUrl` option supplied by the integrating application (the README example uses hxxps://telemetry[.]example/beat), so there is no fixed C2 host in the package; the operator of that endpoint receives the environment of every deployment. The package also verifies an Ed25519-signed license token against a public key embedded in dist/nest/public-key.js and calls process.exit(1) when validation fails.

analyzed by
Leitwacht
first seen
Oct 23, 2026, 09:56 AM
analyzed
Oct 23, 2026, 09:56 AM

Related advisories

browse all confirmed advisories →

Independently detected by the Leitwacht supply-chain probe. IOCs are defanged. Published CC0. Think this is a mistake? See the dispute policy.