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

kafka-rollerPyPI

Advisory published Updated

kafka-roller is a confirmed malicious PyPI package (MAL-2026-17703) that steals credentials and exfiltrates sensitive data (malicious versions 99.0.0, 99.0.1, 99.0.2…). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in kafka-roller (PyPI)

MAL-2026-17703
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
pip uninstall kafka-roller

What this malware does

The package is published to PyPI under the name kafka-roller with metadata impersonating Tesla's teslamotors/kafka-helmsman project (homepage points at github.com/teslamotors/kafka-helmsman while the publisher is an unaffiliated account), and version 99.0.4 is pinned implausibly high — the dependency-confusion squat shape. setup.py starts a module-level daemon thread during pip's metadata/wheel build that collects hostname, current working directory, platform information, a timestamp and a UUID, and transmits them via HTTPS POST to https://webhook.site/bf5cb178-e0cf-43b6-8b1e-fb5d2f6ea9c9 and via HTTPS GET plus DNS lookups to a subdomain of oast.site (an interactsh out-of-band collector). The DNS channel is driven by subprocess invocations of nslookup/getent/dig against an attacker-chosen hostname, providing a secondary exfiltration path that bypasses HTTP egress filtering. The beacon fires on any pip processing of the sdist without installer consent, and leaks internal host and build-environment identifiers for any build system that misresolves the kafka-roller name to this PyPI package. A self-description as 'dependency-confusion security research' does not change the behavior: install-time out-of-band callbacks carrying host identifiers to attacker-controlled collectors are exfiltration regardless of framing.

Installing the package or importing the module exfiltrates basic information about the host, and the package has no other purpose.

Category: PROBABLY_PENTEST - Packages looking like typical pentest packages, but also anything that looks like testing, exploring pre-prepared kits, research & co, with clearly low-harm possibilities.

Campaign: GENERIC-standard-pypi-install-pentest

Reasons (based on the campaign):

  • The package contains code to exfiltrate basic data from the system, like IP or username. It has a limited risk.

  • The package overrides the install command in setup.py to execute malicious code during installation.

The OpenSSF Package Analysis project identified 'kafka-roller' @ 99.0.0 (pypi) as malicious.

It is considered malicious because:

  • The package communicates with a domain associated with malicious activity.

Malicious versions

7 flagged
99.0.099.0.199.0.299.0.399.0.499.0.599.0.6

Indicators of compromise (SHA-256)

4b68fa52500e16cab90e8038ae96e2ba1be6c448a8caa40ab3e46dc6d3c26436
9975eae8f4f212635e09740ba1eee069d57e1d23d9bb46baa49a42eec62a21ca
ac1ad358c7ec1983efd88a4e93498fcc8a74c746c1e5fff844af271ba21408bb
4ee3520171e39cfacdb27d6977c474b60ac0a9b785052c7ff40bcdcb48e33f40
8a94583a1c92780d6fcec5cf1af6f5fda40b4771617ad69d46bf3e4ac6c664bd
24546f7e39906ebf5712795cd3a1ba82f6c97a7fa6d1a7e79ee28c21b9f75b1f
88587450e1da319acaf6b6849ee2018cc87230d4238e7b01a3a0fabdf7553c05
b602398e3e20af28a7f30e248544fe30292411a679a0fc6e22cfdf6b9abd95bf
1ef3d9dc9185cea1ba30aafd4daa80e2a5b1a5dcf1bc59a4a5a5fbae9a480b17
ddfe2b638b0889fe0ad773e6d97df2a3649cd830ca5e2ae851a2227ede687b1a
fda67d41c0a8729b352738f15dc782dd9283c26c63f423605ee949f95d9bb727
0c4a4bdb223674e7765b3bcaf930e372d0d72306422e0885035a561c943437ff
4490e03c9b281c985d7cc5c877d359f8f3789a2ec44421602137c461ac4a2a52

Detection & response playbook

Credential / info stealer
  1. Find it

    Search your lockfiles and build artifacts for kafka-roller (7 malicious versions).

  2. If you installed it — respond

    kafka-roller 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 kafka-roller was installed, its post-install payload may already have run. Removing the package does not undo that — check outbound connections and credential use from the install window onward.

Frequently asked questions

No. kafka-roller on PyPI has been identified as a malicious package (versions 99.0.0, 99.0.1, 99.0.2, 99.0.3, 99.0.4, 99.0.5, 99.0.6 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-021272IN-MAL-2026-021262IN-MAL-2026-021264IN-MAL-2026-021271GENERIC-standard-pypi-install-pentestIN-MAL-2026-021280IN-MAL-2026-021279IN-MAL-2026-021276

References

Credits

  • Amazon Inspector · finder
  • Kamil Mańkowski (kam193) · reporter
  • OpenSSF: Package Analysis · finder

Detect & block this

O3 blocks kafka-roller-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

kafka-roller (PyPI) malicious package — MAL-2026-17703 | O3 Security