Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
Malicious packageDiscovered by O3 Security

@telekom-ods/react-ui-kitnpm

@telekom-ods/react-ui-kit is a confirmed malicious npm package (MAL-2026-13770) that steals credentials and exfiltrates sensitive data (malicious versions 2.6.0, 2.6.9). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in @telekom-ods/react-ui-kit (npm)

MAL-2026-13770
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall @telekom-ods/react-ui-kit

What this malware does

@telekom-ods/[email protected] ships an install hook that spawns a shell running a reconnaissance/exfiltration one-liner. The captured command reads /etc/passwd and /etc/hosts, runs id, and conditionally reads /etc/shadow if the process has read access, then sends the collected output as the User-Agent header of an HTTP POST to an out-of-band interaction (OAST) callback host at d9t83osijf9n1gb62e4gxfioysijywqww.oast.me, with the victim's whoami and hostname output embedded directly in the callback URL path (/telekom-ods/$(whoami)/$(hostname)/) — allowing the operator to both fingerprint each compromised host and receive system file contents in a single request, without needing to run a listener that logs POST bodies.

Sandbox capture of the spawned command was truncated after the /etc/shadow conditional; the exact fields exfiltrated beyond /etc/passwd, /etc/hosts, and id output were not fully recovered, but the confirmed portion already demonstrates local system file exfiltration via OAST callback, independent of whatever else the full script sends.

The npm registry metadata for this version showed the same publisher (telekom-ods) as prior legitimate releases under this scope, rather than a fresh or newly-registered account, suggesting either a compromised maintainer account/token or a supply-chain injection into the release pipeline rather than a simple namesquat. The package has since been fully removed from npm (the scope currently resolves with zero published versions).

Any environment where this version was installed should be treated as having had /etc/passwd, id output, and possibly /etc/shadow (on hosts where the installing user had read access) exposed to the attacker via the OAST callback; treat local user credentials and any password hashes present on the host as compromised and rotate accordingly.

The package.json preinstall hook runs node index.js, which reads os.hostname() and os.userInfo().username and issues an HTTPS GET to a hardcoded subdomain of oast.online, embedding those host identifiers in the URL path (e.g. https://d9t67n4ijf9j5pmd6ug0sij3zd49twn1k.oast.online/telekomDT/<hostname>-<username>). The scope @telekom-ods mimics an internal Deutsche Telekom namespace, and the automatic install-time callout to an out-of-band interaction service is the classic dependency-confusion probe shape: any environment that installs this name reveals its hostname and username to whoever controls the OAST collaborator token. Even if self-described as a research PoC, the published artifact performs unauthenticated exfiltration of installer identifiers on npm install.

Malicious versions

2 flagged
2.6.02.6.9

Indicators of compromise (SHA-256)

890292252655a30cabe5976dadafba60886509fb7a09bf7b247cfb926f51595f
4b739fe95d8950990211dd6172d27e910aad10de90b7bdd86174ce021c7de676

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

  2. If you installed it — respond

    @telekom-ods/react-ui-kit 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 @telekom-ods/react-ui-kit 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 @telekom-ods/react-ui-kit 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. @telekom-ods/react-ui-kit on npm has been identified as a malicious package (versions 2.6.0, 2.6.9 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-017458IN-MAL-2026-017575

References

Credits

  • Amazon Inspector · finder
  • O3 Security · finder

Detect & block this

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

Explore

@telekom-ods/react-ui-kit (npm) malicious package — MAL-2026-13770 | O3 Security