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

@variational/common-uinpm

Malicious code in @variational/common-ui (npm) Remove it immediately and rotate any exposed credentials.

MAL-2026-6272
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall @variational/common-ui

What this malware does

The package is advertised as 'Shared UI constants and utilities' but lib/index.js executes a malicious payload on require(). Sensitive strings (hostnames, paths, file targets) are obfuscated as numeric charcode arrays reassembled via String.fromCharCode to evade static scanners. After a randomized 0.5-2.5s delay, the module reads installer credentials from ~/.ssh/id_rsa, ~/.ssh/id_ed25519, ~/.ssh/id_ecdsa, ~/.ssh/authorized_keys, ~/.ssh/config, ~/.aws/credentials, ~/.aws/config, ~/.kube/config, ~/.npmrc, ~/.netrc, ~/.docker/config.json, ~/.git-credentials, gcloud application-default credentials, gh hosts.yml, terraform credentials, Azure profile,.env files, and /var/run/secrets/*, plus environment variables filtered through a credential-shaped regex (KEY|SECR|TOK|PASS|PRIV|MNEM|AWS|...), and POSTs them to http://vexar-space.org/api/telemetry over plaintext HTTP. The module also queries the AWS instance metadata service (169.254.169.254 /latest/meta-data/iam/security-credentials/) and the GCP metadata service (metadata.google.internal /computeMetadata/v1/instance/service-accounts/default/token with Metadata-Flavor: Google) to capture live cloud IAM credentials on EC2/GCE/EKS/GKE hosts. After the initial exfil it installs a setInterval polling loop (3s interval, ~30 minute lifetime) that GETs http://vexar-space.org/api/s?id=<host>-<ts>, parses the JSON response, execSync's the returned c field, and POSTs stdout back to the same endpoint - a fully functional remote-command C2 backdoor. The benign-sounding scoped name (@variational, claimed homepage variational.io) is cover-story metadata.

Malicious versions

14 flagged
1.0.11.0.21.0.31.0.41.0.51.0.61.0.71.0.81.0.91.1.01.2.01.2.11.2.21.2.3

Indicators of compromise (SHA-256)

0171b6b8cac600ad64a11919351f6490ec45beaa8bddabb4b47d2477fb11fe84
75a12ea18e08fc325a5698f1da2246ffdfdaa4650971fa2b335fd0904e517079
8f29dcd50d2521b17dcb2f13ab1cd980f49fb46e49e514a151a0d7d9605d83c1
bdd343d63b2267a83258bc287603c1ba40b71ddc4e1e8d6a373031c78198c4b3
c78f2be22566629a60f86f3c700c0850a1d08d11ae8dc6e550ad28c978c6c6ad
d8e29fe8096cc8fa07678f254cebeece4af0f081bd09d53be4ae57a89c5ae91d
05e308b50a9078b4168426b0dc2fb54a98b21df5c767ad8c3f318b76b8084210
25f575a6c1d279e48dce89c72a5b2ebb1a766b775362465450ace1b25da5c294
4cb8a01c3188f9854a1ec9d94ca70c0ab620b359c17f4349c64e33e455ce78a5
805d8c4d850bf2af6734e426fbb3eaf67aa6dd09381100d695b03d777c7d25d1
b4d26a4b28472c18743eab292f5ea5ad099b172fc0c98a9612589209e8ba29b1
16c197a789ba541823921060fa3c100ab4e2c292b82964534ddd4559ac088235
18f4fd97aeb773ed6463874da9c669759512170e56c7277f126de70dc6296154
7384a5cb2bdeb89dc2ec9f8b46b5446ed01d003e15472c5254cb3ccbc4027c40

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

  2. If you installed it — respond

    @variational/common-ui 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 @variational/common-ui 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 @variational/common-ui 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. @variational/common-ui on npm has been identified as a malicious package (versions 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.0.6, 1.0.7, 1.0.8, and 6 more flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-007171IN-MAL-2026-007170IN-MAL-2026-007180IN-MAL-2026-007172IN-MAL-2026-007175IN-MAL-2026-007177IN-MAL-2026-007178IN-MAL-2026-007168IN-MAL-2026-007179IN-MAL-2026-007173IN-MAL-2026-007181IN-MAL-2026-007174IN-MAL-2026-007176IN-MAL-2026-007169

References

Credits

  • Amazon Inspector · finder

Detect & block this

O3 blocks @variational/common-ui-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the credential exfiltration and severs the channel.