OceanLotus-nahe PyPI-Kampagne: Wie ZiChatBot Zulip-APIs für Command-and-Control missbrauchte
Kaspersky meldete schädliche PyPI Wheel Pakete, die ab Juli 2025 hochgeladen wurden und ZiChatBot auf Windows und Linux Systeme brachten. Die auffälligste Technik: ZiChatBot kommunizierte laut Berichten nicht mit einem klassischen C2 Server, sondern nutzte Zulip REST APIs.
OceanLotus PyPI Attack: How ZiChatBot Abused Zulip APIs for C2AI-generated editorial illustration of the ZiChatBot PyPI campaign and Zulip API command-and-control technique.
KI-Prompt
Create a landscape editorial hero image for this Studio Global article: OceanLotus PyPI Attack: How ZiChatBot Abused Zulip APIs for C2. Article summary: Kaspersky linked a July 2025 malicious PyPI wheel package campaign—uuid32 utils, colorinal and termncolor—to OceanLotus; the packages targeted Windows and Linux and delivered a new malware family, ZiChatBot.. Topic tags: cybersecurity, malware, pypi, python, supply chain security. Reference image context from search candidates: Reference image 1: visual subject "Through our daily threat hunting, we noticed that, beginning in July 2025, a series of malicious wheel packages were uploaded to PyPI (the Python Package Index). We shared this inf" source context "OceanLotus suspected of distributing ZiChatBot malware via wheel packages in PyPI | Securelist" Reference image 2: visual subject "In a calculated move that signals the expansion of st
openai.com
Der Fall ist vor allem als Supply-Chain-Angriff auf Python-Nutzerinnen und -Nutzer zu verstehen — nicht als gemeldeter Einbruch bei PyPI oder Zulip. Kaspersky beschreibt schädliche Python-Wheel-Pakete, die ab Juli 2025 in den Python Package Index, kurz PyPI, hochgeladen wurden und heimlich ZiChatBot auslieferten, eine zuvor unbekannte Malware-Familie für Windows und Linux.[3][4][6]
Der ungewöhnliche Teil war weniger PyPI selbst. Auffällig war ZiChatBots Command-and-Control-Design: Laut Berichten über Kasperskys Analyse nutzte die Malware REST-APIs von Zulip als C2-Infrastruktur, statt mit einem dedizierten, von Angreifern betriebenen Kontrollserver zu kommunizieren.[4]
Was Kaspersky gefunden hat
Kaspersky schreibt auf Securelist, dass Forschende im täglichen Threat Hunting eine Reihe schädlicher Wheel-Pakete bemerkten, die ab Juli 2025 auf PyPI hochgeladen wurden. Die Informationen seien mit der öffentlichen Security-Community geteilt worden; die Malware wurde anschließend aus dem Repository entfernt.[3]
Studio Global AI
Search, cite, and publish your own answer
Use this topic as a starting point for a fresh source-backed answer, then compare citations before you share it.
Kaspersky meldete schädliche PyPI Wheel Pakete, die ab Juli 2025 hochgeladen wurden und ZiChatBot auf Windows und Linux Systeme brachten.
Die auffälligste Technik: ZiChatBot kommunizierte laut Berichten nicht mit einem klassischen C2 Server, sondern nutzte Zulip REST APIs.
Security Teams sollten nach den Paketen uuid32 utils, colorinal und termncolor suchen, Installationen ab Juli 2025 prüfen und unerwarteten Zulip API Traffic untersuchen.
Die Leute fragen auch
Wie lautet die kurze Antwort auf „OceanLotus-nahe PyPI-Kampagne: Wie ZiChatBot Zulip-APIs für Command-and-Control missbrauchte“?
Kaspersky meldete schädliche PyPI Wheel Pakete, die ab Juli 2025 hochgeladen wurden und ZiChatBot auf Windows und Linux Systeme brachten.
Was sind die wichtigsten Punkte, die zuerst validiert werden müssen?
Kaspersky meldete schädliche PyPI Wheel Pakete, die ab Juli 2025 hochgeladen wurden und ZiChatBot auf Windows und Linux Systeme brachten. Die auffälligste Technik: ZiChatBot kommunizierte laut Berichten nicht mit einem klassischen C2 Server, sondern nutzte Zulip REST APIs.
Was soll ich als nächstes in der Praxis tun?
Security Teams sollten nach den Paketen uuid32 utils, colorinal und termncolor suchen, Installationen ab Juli 2025 prüfen und unerwarteten Zulip API Traffic untersuchen.
Welches verwandte Thema sollte ich als nächstes untersuchen?
Fahren Sie mit „Why Bitcoin Is Holding Near $80,000 Despite Spot ETF Outflows“ für einen anderen Blickwinkel und zusätzliche Zitate fort.
OceanLotus suspected of distributing ZiChatBot malware via wheel packages in PyPI Severity: mediumType: malware Between July 2025 and present, threat actors suspected to be OceanLotus distributed malicious wheel packages through PyPI targeting both Windows...
OceanLotus suspected of distributing ZiChatBot malware via wheel packages in PyPI Kaspersky's GReAT team discovered a series of malicious Python wheel packages uploaded to PyPI starting July 2025, attributed with moderate confidence to the OceanLotus APT gr...
Through our daily threat hunting, we noticed that, beginning in July 2025, a series of malicious wheel packages were uploaded to PyPI (the Python Package Index). We shared this information with the public security community, and the malware was removed from...
Cybersecurity researchers have discovered three packages on the Python Package Index (PyPI) repository that are designed to stealthily deliver a previously unknown malware family called ZiChatBot on Windows and Linux systems. "While these wheel packages do...
Die Pakete waren offenbar keine bloßen Attrappen. Kaspersky zufolge setzten die Wheels die Funktionen um, die auf ihren PyPI-Seiten beschrieben waren — ihr eigentlicher Zweck sei aber gewesen, verdeckt schädliche Dateien auszuliefern.[3] The Hacker News berichtete dieselbe Kernaussage: Die Pakete wirkten funktional, waren aber darauf ausgelegt, ZiChatBot heimlich auf Windows- und Linux-Systeme zu bringen.[4]
Öffentliche Berichte nennen drei gefälschte PyPI-Bibliotheken aus der Kampagne:[1][2]
uuid32-utils
colorinal
termncolor
Bei der Zuordnung zu OceanLotus lohnt sich ein genauer Blick auf die Formulierung. Im Securelist-Beitrag heißt es, die Proben seien in Kasperskys Threat Attribution Engine eingereicht worden; auf Basis der Ergebnisse könnten die Pakete mit Malware in Verbindung stehen, die in einem Threat-Intelligence-Bericht zu OceanLotus behandelt wurde.[3] Kasperskys Threat-Research-Index formuliert es direkter und schreibt, das Unternehmen ordne die PyPI-ZiChatBot-Aktivität OceanLotus APT zu.[6] Eine öffentliche Zusammenfassung beschreibt die Attribution als „moderate confidence“ — also mit mittlerem Vertrauen.[2]
Von schädlichem Wheel zu ZiChatBot
Das öffentlich gestützte Bild zeigt eine plattformübergreifende Dropper-Kette. Kasperskys Threat-Research-Index zufolge zielten die schädlichen PyPI-Wheel-Pakete auf Windows und Linux und enthielten einen Dropper, der die als ZiChatBot bezeichnete Malware auslieferte.[6]
Eine öffentliche Zusammenfassung beschreibt die nächsten Schritte so: Aus dem Wheel-Paket werde entweder ein DLL- oder ein .SO-Dropper extrahiert, danach werde Persistenz über die Windows-Registry beziehungsweise über Linux-Crontab eingerichtet, bevor ZiChatBot ausgerollt werde.[2]
Das ist für Security-Teams wichtig, weil nicht nur klassische Server betroffen sein können. Prüfen sollten auch Entwickler-Workstations, virtuelle Python-Umgebungen, Build-Runner und Container-Images, sofern dort eines der genannten Pakete installiert wurde.
Der Fall zeigt außerdem ein altes Problem in neuer Verpackung: Ein Paket kann funktionieren und trotzdem bösartig sein. Kaspersky zufolge lieferten die Wheels die beworbenen Funktionen, während sie gleichzeitig versteckte schädliche Dateien mitbrachten.[3][4]
Wie ZiChatBot Zulip als C2-Kanal nutzte
ZiChatBots besondere Wendung war die Nutzung einer legitimen Kollaborationsplattform. Laut Berichten über Kasperskys Befunde kommunizierte ZiChatBot nicht mit einem eigenen Command-and-Control-Server, sondern nutzte eine Reihe von REST-APIs der öffentlichen Team-Chat-Anwendung Zulip als C2-Infrastruktur.[4]
Zulips dokumentierte APIs bieten genau jene Arten von Funktionen, die ein chatbasiertes C2-Design grundsätzlich benötigen würde: Nachrichten senden und abrufen, Dateien hochladen, Nachrichten bearbeiten oder löschen, sogenannte „Narrows“ für gezielte Nachrichtenabfragen konstruieren sowie mit Channel-Topics arbeiten.[17][21] Die Bot-Dokumentation von Zulip beschreibt zudem Bots, die von Nutzern gesendete Nachrichten abfangen, ansehen und verarbeiten und anschließend neue Nachrichten als Antworten senden können.[19]
Auf hoher Ebene bedeutet das: Operator-Anweisungen können als Chatnachrichten oder als Nachrichten innerhalb bestimmter Topics erscheinen, während die Malware passende Nachrichten abruft und Ergebnisse über denselben Dienst zurückschreibt. Die hier vorliegenden öffentlichen Quellen nennen jedoch weder den konkreten Zulip-Workspace noch Bot-Zugangsdaten, die genaue Endpoint-Reihenfolge oder den Befehlssatz von ZiChatBot. Am saubersten ist daher die Beschreibung, dass ZiChatBot legitime Zulip-REST-API-Funktionalität für C2 missbrauchte, statt auf eigene Angreifer-Infrastruktur zu setzen.[4][17][19][21]
Was die Zulip-Spur nicht bedeutet
Die Zulip-Komponente heißt nicht, dass Zulip selbst kompromittiert wurde. Die zitierten Berichte beschreiben den Missbrauch normaler REST-API- und Bot-Messaging-Funktionen, nicht einen Einbruch in den Chatdienst.[4][19][21]
Ebenso wenig belegt der Fall eine Kompromittierung der PyPI-Infrastruktur. Kasperskys Bericht spricht von schädlichen Wheel-Paketen, die auf PyPI hochgeladen wurden, und davon, dass die Malware später aus dem Repository entfernt wurde.[3]
Für Verteidiger ist die Konsequenz dennoch unangenehm: Traffic zu einem legitimen Kollaborationsdienst kann verdächtig sein, wenn er von einem Host, Prozess, CI-Job oder Service-Account kommt, der normalerweise keinen Grund hat, mit diesem Dienst zu sprechen. Blocklisten, die nur bekannte Angreifer-Domains erfassen, können ein solches Muster übersehen. Entscheidend sind deshalb Prozesskontext, erwartete Geschäftsnutzung und Abweichungen vom Normalverhalten — nicht nur die Reputation des Ziel-Dienstes.[4][21]
Was Security-Teams jetzt prüfen sollten
Beginnen sollten Teams mit einer Paket-Inventur. Suchen Sie auf Entwicklerrechnern, Build-Runnern, in virtuellen Python-Umgebungen, Dependency-Lockfiles und Container-Images nach uuid32-utils, colorinal und termncolor.[1][2]
Prüfen Sie Installationszeitpunkte ab Juli 2025, dem Zeitraum, den Kaspersky für die schädlichen Wheel-Uploads nennt.[3] Taucht eines der genannten Pakete in Logs oder Artefakten auf, sollte die Umgebung für eine Untersuchung gesichert werden, statt das Paket nur zu löschen und zur Tagesordnung überzugehen.
Auf Windows-Systemen sollten unerwartete Persistenzmechanismen in der Registry geprüft werden; auf Linux-Systemen gehören verdächtige Crontab-Einträge auf die Liste. Das entspricht der öffentlich beschriebenen Infektionskette der Kampagne.[2]
Untersuchen Sie außerdem Netzwerk- und Prozess-Telemetrie auf Zulip-API-Aktivität von Python-Interpretern, Paketinstallationsprozessen, CI-Workern, Servern oder Service-Accounts, die Zulip üblicherweise nicht verwenden. Die Frage lautet nicht, ob Zulip an sich legitim ist, sondern ob genau dieser Host und genau dieser Prozess einen legitimen Grund für Zulip-API-Aufrufe haben.[4][21]
Und schließlich: Funktionalität ist kein Vertrauensbeweis. In dieser Kampagne sollen die Pakete ihre beworbenen Funktionen bereitgestellt haben, während sie zugleich als Dropper für schädliche Dateien dienten.[3][4]
Fazit
Die mit OceanLotus in Verbindung gebrachte PyPI-Kampagne bestand aus schädlichen Wheel-Paketen, die ab Juli 2025 hochgeladen wurden; öffentlich genannt werden unter anderem uuid32-utils, colorinal und termncolor.[1][2][3] Diese Pakete lieferten ZiChatBot auf Windows- und Linux-Systeme aus. Das prägende technische Merkmal war, dass ZiChatBot Zulip-REST-APIs für Command-and-Control nutzte, statt auf einen klassischen, von Angreifern kontrollierten C2-Server zu setzen.[4][6]
Israeli Strikes Expose the Weak Points in Gaza’s U.S.-Brokered Ceasefire
Israeli Strikes Expose the Weak Points in Gaza’s U.S.-Brokered Ceasefire
Kaspersky researchers uncovered malicious wheel packages in PyPI that targeted both Windows and Linux and contained a dropper delivering malware dubbed ZiChatBot. We attribute this activity to OceanLotus APT. Kaspersky researchers uncovered malicious wheel...
Messages - Send a message - Upload a file - Edit a message - Delete a message - Get messages - Construct a narrow - Add an emoji reaction - Remove an emoji reaction - Render a message - Fetch a single message - Check if messages match a narrow - Get a messa...
... With this API, you can - intercept, view, and process messages sent by users on Zulip. - send out new messages as replies to the processed messages. With this API, you cannot - modify an intercepted message (you have to send a new message). - send messa...
Messages - Send a message - Upload a file - Edit a message - Delete a message - Get messages - Construct a narrow - Add an emoji reaction - Remove an emoji reaction - Render a message - Fetch a single message - Check if messages match a narrow - Get a messa...
OceanLotus-nahe PyPI-Kampagne: Wie ZiChatBot Zulip-APIs für Command-and-Control missbrauchte | Antwort | Studio Global