Skip to content
Heist/ feed
Back to feed
Unrated

Malicious code in kafka-roller (PyPI)

Type: advisorySources: OSV

--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (4490e03c9b281c985d7cc5c877d359f8f3789a2ec44421602137c461ac4a2a52) 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. ## Source:

Products
kafka-roller
Affected versions
99.0.0, 99.0.1, 99.0.2, 99.0.3, 99.0.4, 99.0.5, 99.0.6
Fixed versions
Not specified
CVEs
Not specified
Confirmed fixed CVEs
Not specified
Updated in this feed
28 Oct 2026, 10:35 UTC · Revision 1

Source evidence

Malicious code in kafka-roller (PyPI)

core-osv · Original source

Published 8 Oct 2026, 20:52 UTC

--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (4490e03c9b281c985d7cc5c877d359f8f3789a2ec44421602137c461ac4a2a52) 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. ## Source:

osv:MAL-2026-17703

kafka-roller

Fixed versions: Not specified

Complete source record
{
  "id": "7f0769d535153eb4fe68af12a967dedb6ce4786655a61b93889c2e135faf9317",
  "url": "https://osv.dev/vulnerability/MAL-2026-17703",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Malicious code in kafka-roller (PyPI)",
    "summary": "--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (4490e03c9b281c985d7cc5c877d359f8f3789a2ec44421602137c461ac4a2a52) 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. ## Source: ",
    "evidence": "osv:MAL-2026-17703",
    "products": [
      {
        "name": {
          "value": "kafka-roller",
          "evidence": "/affected/0/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "99.0.0",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "99.0.1",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "99.0.2",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "99.0.3",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "99.0.4",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "99.0.5",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "99.0.6",
            "evidence": "/affected/0/versions"
          }
        ]
      }
    ],
    "severity": "unknown",
    "structured": {
      "id": "MAL-2026-17703",
      "aliases": [
        "MAL-2026-17703"
      ],
      "affected": [
        {
          "package": {
            "name": "kafka-roller",
            "purl": "pkg:pypi/kafka-roller",
            "ecosystem": "PyPI"
          },
          "versions": [
            "99.0.0",
            "99.0.1",
            "99.0.2",
            "99.0.3",
            "99.0.4",
            "99.0.5",
            "99.0.6"
          ],
          "database_specific": {
            "cwes": [
              {
                "name": "Embedded Malicious Code",
                "cweId": "CWE-506",
                "description": "The product contains code that appears to be malicious in nature."
              },
              {
                "name": "Embedded Malicious Code",
                "cweId": "CWE-506",
                "description": "The product contains code that appears to be malicious in nature."
              },
              {
                "name": "Embedded Malicious Code",
                "cweId": "CWE-506",
                "description": "The product contains code that appears to be malicious in nature."
              },
              {
                "name": "Embedded Malicious Code",
                "cweId": "CWE-506",
                "description": "The product contains code that appears to be malicious in nature."
              },
              {
                "name": "Embedded Malicious Code",
                "cweId": "CWE-506",
                "description": "The product contains code that appears to be malicious in nature."
              },
              {
                "name": "Embedded Malicious Code",
                "cweId": "CWE-506",
                "description": "The product contains code that appears to be malicious in nature."
              },
              {
                "name": "Embedded Malicious Code",
                "cweId": "CWE-506",
                "description": "The product contains code that appears to be malicious in nature."
              }
            ],
            "source": "https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/kafka-roller/MAL-2026-17703.json",
            "indicators": {
              "evidence_files": [
                {
                  "path": "setup.py",
                  "tlsh": "cc617587c4252863d3c760944435e57133227a4bbd0368fa7a9ca395af4e4b690f256d",
                  "sha256": "eae7f2ea838339c88e681b5cc81af72d5f38d1bbc9445370d69801f6305da549"
                }
              ],
              "package_integrity": [
                {
                  "hashes": {
                    "md5": "3c0f88a4b29842187b5dfc87aa3b2634",
                    "sha256": "ee992509e0096be2499ecdfc955faddfbce9759489a3d3c6b82181d6cea3007a",
                    "blake2b_256": "46db756d20fa73fd07876b1aeb4cc1920f767e278fe5017d282832a7cf2f4f18"
                  },
                  "filename": "kafka_roller-99.0.1.tar.gz"
                }
              ]
            }
          }
        }
      ],
      "modified": "2026-10-09T01:00:09.234432755Z",
      "provider": "osv",
      "references": [
        "https://pypi.org/project/kafka-roller/99.0.1/",
        "https://pypi.org/project/kafka-roller/99.0.2/",
        "https://pypi.org/project/kafka-roller/99.0.3/",
        "https://pypi.org/project/kafka-roller/99.0.0/",
        "https://bad-packages.kam193.eu/pypi/package/kafka-roller",
        "https://pypi.org/project/kafka-roller/99.0.6/",
        "https://pypi.org/project/kafka-roller/99.0.5/",
        "https://pypi.org/project/kafka-roller/99.0.4/"
      ],
      "provider_metadata": {
        "malicious-packages-origins": [
          {
            "sha256": "4b68fa52500e16cab90e8038ae96e2ba1be6c448a8caa40ab3e46dc6d3c26436",
            "source": "ossf-package-analysis",
            "versions": [
              "99.0.0"
            ],
            "import_time": "2026-10-08T21:18:09.008611333Z",
            "modified_time": "2026-10-08T20:52:03Z"
          },
          {
            "sha256": "9975eae8f4f212635e09740ba1eee069d57e1d23d9bb46baa49a42eec62a21ca",
            "source": "ossf-package-analysis",
            "versions": [
              "99.0.1"
            ],
            "import_time": "2026-10-08T21:18:09.088134236Z",
            "modified_time": "2026-10-08T21:01:49Z"
          },
          {
            "sha256": "ac1ad358c7ec1983efd88a4e93498fcc8a74c746c1e5fff844af271ba21408bb",
            "source": "ossf-package-analysis",
            "versions": [
              "99.0.2"
            ],
            "import_time": "2026-10-08T21:18:09.15889623Z",
            "modified_time": "2026-10-08T21:11:07Z"
          },
          {
            "sha256": "4ee3520171e39cfacdb27d6977c474b60ac0a9b785052c7ff40bcdcb48e33f40",
            "source": "ossf-package-analysis",
            "versions": [
              "99.0.3"
            ],
            "import_time": "2026-10-08T21:18:09.221615738Z",
            "modified_time": "2026-10-08T21:11:12Z"
          },
          {
            "sha256": "8a94583a1c92780d6fcec5cf1af6f5fda40b4771617ad69d46bf3e4ac6c664bd",
            "source": "ossf-package-analysis",
            "versions": [
              "99.0.4"
            ],
            "import_time": "2026-10-08T21:18:09.281875364Z",
            "modified_time": "2026-10-08T21:11:14Z"
          },
          {
            "id": "IN-MAL-2026-021272",
            "sha256": "24546f7e39906ebf5712795cd3a1ba82f6c97a7fa6d1a7e79ee28c21b9f75b1f",
            "source": "amazon-inspector",
            "versions": [
              "99.0.1"
            ],
            "import_time": "2026-10-08T21:42:58.133089095Z",
            "modified_time": "2026-10-08T21:24:28Z"
          },
          {
            "id": "IN-MAL-2026-021262",
            "sha256": "88587450e1da319acaf6b6849ee2018cc87230d4238e7b01a3a0fabdf7553c05",
            "source": "amazon-inspector",
            "versions": [
              "99.0.2"
            ],
            "import_time": "2026-10-08T21:42:57.329167503Z",
            "modified_time": "2026-10-08T21:23:04Z"
          },
          {
            "id": "IN-MAL-2026-021264",
            "sha256": "b602398e3e20af28a7f30e248544fe30292411a679a0fc6e22cfdf6b9abd95bf",
            "source": "amazon-inspector",
            "versions": [
              "99.0.3"
            ],
            "import_time": "2026-10-08T21:42:57.476378594Z",
            "modified_time": "2026-10-08T21:23:21Z"
          },
          {
            "id": "IN-MAL-2026-021271",
            "sha256": "1ef3d9dc9185cea1ba30aafd4daa80e2a5b1a5dcf1bc59a4a5a5fbae9a480b17",
            "source": "amazon-inspector",
            "versions": [
              "99.0.0"
            ],
            "import_time": "2026-10-08T21:42:58.026949296Z",
            "modified_time": "2026-10-08T21:24:21Z"
          },
          {
            "id": "pypi/GENERIC-standard-pypi-install-pentest/kafka-roller",
            "sha256": "ddfe2b638b0889fe0ad773e6d97df2a3649cd830ca5e2ae851a2227ede687b1a",
            "source": "kam193",
            "versions": [
              "99.0.0",
              "99.0.1",
              "99.0.2",
              "99.0.3",
              "99.0.4",
              "99.0.5",
              "99.0.6"
            ],
            "import_time": "2026-10-08T22:18:58.158051275Z",
            "modified_time": "2026-10-08T21:38:27.976677Z"
          },
          {
            "id": "IN-MAL-2026-021280",
            "sha256": "fda67d41c0a8729b352738f15dc782dd9283c26c63f423605ee949f95d9bb727",
            "source": "amazon-inspector",
            "versions": [
              "99.0.6"
            ],
            "import_time": "2026-10-09T00:53:55.13198279Z",
            "modified_time": "2026-10-09T00:05:51Z"
          },
          {
            "id": "IN-MAL-2026-021279",
            "sha256": "0c4a4bdb223674e7765b3bcaf930e372d0d72306422e0885035a561c943437ff",
            "source": "amazon-inspector",
            "versions": [
              "99.0.5"
            ],
            "import_time": "2026-10-09T00:53:55.016035029Z",
            "modified_time": "2026-10-09T00:05:42Z"
          },
          {
            "id": "IN-MAL-2026-021276",
            "sha256": "4490e03c9b281c985d7cc5c877d359f8f3789a2ec44421602137c461ac4a2a52",
            "source": "amazon-inspector",
            "versions": [
              "99.0.4"
            ],
            "import_time": "2026-10-09T00:53:54.816249428Z",
            "modified_time": "2026-10-09T00:05:15Z"
          }
        ]
      }
    },
    "related_cves": [],
    "security_relevant": true,
    "severity_evidence": null
  },
  "source_id": "core-osv",
  "document_id": 108074,
  "published_at": "2026-10-08T20:52:03+00:00"
}