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

tsihealth-clientnpm

tsihealth-client is a confirmed malicious npm package (MAL-2026-13404) that executes malicious code on install (malicious versions 1.0.0, 1.0.1, 1.0.2…). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in tsihealth-client (npm)

MAL-2026-13404
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall tsihealth-client

What this malware does

index.js is a top-level self-decoding IIFE that XOR-decodes a URI-encoded payload keyed on the enclosing function's own source and eval()s the result at module load; the decoder aborts with 'the code has been tampered!' if the source is modified, and a banner asks readers not to crack it. The decoded payload is opaque and cannot be audited without executing it. The package's own metadata and typings describe the runtime behavior: package.json advertises it as a 'client (provider) for the tsi-vpsremote control server' that 'stays alive to run commands pushed from the server', keywords include 'shell', 'ssh', 'remote-control', and 'agent', and index.d.ts exports a ProviderHandle exposing a ChildProcess named shell. Calling the exported provider(url) at runtime therefore establishes a persistent connection to a remote server that drives a local ChildProcess on the host running the package — a network-to-shell control channel with full-host command execution for whoever controls the paired server URL.

Malicious versions

5 flagged
1.0.01.0.11.0.21.0.31.0.4

Indicators of compromise (SHA-256)

554372f29af60ad8e6e5a33171a736baddcc652772b0452c81a4010d3f1e5218
de03422542ea1313c1811700d7fde62bf857f1dbf7a465524389fef2b5a71414
5c50feb1534833507a497685c4dac21c981a94e926baa64cc890b1f0334304cc
8167e7c1c94496306106c7d41fd67780b35bb680a78875e75a9087d7c9a4092c
68ced4f5310b6def3b9acaf58e8f363ebcc73b248ad207c3ca68841e799815b7

Detection & response playbook

Malicious package
  1. Find it

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

  2. If you installed it — respond

    Remove tsihealth-client from your project and lockfile, then assume any secrets accessible to the build or runtime were exposed: rotate API keys, tokens, and credentials, and audit for unexpected outbound activity or persistence.

  3. Did it already run?

    If tsihealth-client 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 tsihealth-client 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. tsihealth-client on npm has been identified as a malicious package (versions 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-016271IN-MAL-2026-016273IN-MAL-2026-016270IN-MAL-2026-016272IN-MAL-2026-016756

References

Credits

  • Amazon Inspector · finder

Detect & block this

O3 blocks tsihealth-client-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the malicious outbound activity and severs the channel.

Explore

tsihealth-client (npm) malicious package — MAL-2026-13404 | O3 Security