Die Infektionskette unterscheidet sich je nach Betriebssystem. Auf Windows-Systemen entpackt der Schadcode nach der Installation von uuid32-utils oder colorinal einen DLL-Dropper namens „terminate.dll" und schreibt ihn auf die Festplatte. Sobald die Bibliothek in ein Projekt importiert wird, lädt das System die DLL. Sie fungiert als Dropper für ZiChatBot, legt anschließend einen Autostart-Eintrag in der Windows-Registry an und entfernt sich danach per Code selbst vom Rechner.

Unter Linux platziert der entsprechende Shared-Object-Dropper „terminate.so" die Malware im Pfad „/tmp/obsHub/obs-check-update" und richtet einen Crontab-Eintrag ein. Unabhängig vom Betriebssystem ist ZiChatBot darauf ausgelegt, vom C2-Server empfangenen Shellcode auszuführen. Nach Abschluss eines Befehls sendet die Malware ein Herz-Emoji zurück, um dem Server den erfolgreichen Abschluss der Operation zu signalisieren.

Zur Urheberschaft trifft Kaspersky keine eindeutige Aussage. Der Dropper weise jedoch eine „64-prozentige Ähnlichkeit" zu einem anderen Dropper auf, der von einer als OceanLotus (auch APT32) bezeichneten, an Vietnam ausgerichteten Hackergruppe verwendet wurde.

Diese Gruppe wurde Ende 2024 dabei beobachtet, wie sie die chinesische Cybersicherheits-Community mit präparierten Visual-Studio-Code-Projekten ins Visier nahm. Diese gaben sich als Cobalt-Strike-Plugins aus und lieferten einen Trojaner, der beim Kompilieren des Projekts automatisch ausgeführt wurde. Laut einer Analyse von ThreatBook nutzte die Schadsoftware den Notizdienst Notion als C2.

Sollte die PyPI-Kampagne tatsächlich auf OceanLotus zurückgehen, wertet Kaspersky dies als Strategie der Gruppe, ihren Aktionsradius auszuweiten. Phishing-E-Mails seien zwar weiterhin eine gängige Methode der Erstinfektion, doch erkunde die Gruppe aktiv neue Wege, um über vielfältige Supply-Chain-Angriffe an ihre Opfer zu gelangen.