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

@nstrlabs/shared-componentsnpm

Malicious code in @nstrlabs/shared-components (npm) Remove it immediately and rotate any exposed credentials.

MAL-2026-5422
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall @nstrlabs/shared-components

What this malware does

On npm install, the package's preinstall script runs index.js, which collects host identifiers (os.hostname(), os.userInfo().username, __dirname, process.cwd(), package name) and ships them to two attacker-controlled destinations: (1) a hex-encoded DNS subdomain query against *.d8jbmnsqcfu78dfs8vdg34ohqhirb4pbg.oast.live (Interactsh-style out-of-band exfiltration), and (2) an HTTP POST of the same JSON payload to bare IP http://172.201.213.59:9090/c. The package is published under @nstrlabs/shared-components at version 99.0.0 with description security research — a high semver against a generic scoped name consistent with a dependency-confusion attack targeting an internal nstrlabs namespace. There is no legitimate library functionality; the preinstall beacon is the package's only effect.

Malicious versions

2 flagged
99.0.099.0.1

Indicators of compromise (SHA-256)

af9737388d5d3e4542198eb5ae3bb13c2d13eefc97331fb32ed105626218776a
ebac43bd1c2448eeb204605bf63cd432020d8bbb4f6d52519ab1a88ac43137d8
efc72373a5a06d31becb2dd02ced949866c9da14ae6d0bfdb3b4f4c882e40445
2726b4c9e7c8d06bdcf4396f2e33ee39e620b79710e5fbe6ca2b9dbe6dc50dcc

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

  2. If you installed it — respond

    @nstrlabs/shared-components 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 @nstrlabs/shared-components 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 @nstrlabs/shared-components 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. @nstrlabs/shared-components on npm has been identified as a malicious package (versions 99.0.0, 99.0.1 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-005086IN-MAL-2026-005087IN-MAL-2026-005152IN-MAL-2026-005153

References

Credits

  • Amazon Inspector · finder

Detect & block this

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

@nstrlabs/shared-components (npm) malicious package — MAL-2026-5422 | O3 Security