Der Angriff auf Trivy wird inzwischen als CVE-2026-33634 mit einem CVSS-Wert von 9,4 geführt. Die Angreifer veröffentlichten bösartige Paketversionen und veränderten GitHub-Actions-Tags, um Schadsoftware zur Informationsabschöpfung zu verbreiten, die Anmeldedaten, Schlüssel, Token und andere sensible Daten sammelt. Besonders auffällig war, dass die manipulierten Tags weder am Namen noch an den Veröffentlichungsdaten oder der Release-Seite sichtbare Spuren hinterließen, sodass die Angreifer unbemerkt agieren konnten.
Laut Aqua Security wurde der mehrstufige Angriff eingedämmt und befindet sich nun in der Phase von Behebung und Dokumentation. Die vollständige Verdrängung der Angreifer dauerte allerdings fünf Tage: Drei Tage nach Beginn der Gegenmaßnahmen veröffentlichten die Täter bösartige Trivy-Docker-Hub-Images (v0.69.5 und v0.69.6) – ein Beleg dafür, dass ihr Zugang noch nicht blockiert war. Aqua arbeitet nach eigenen Angaben mit Sygnia an einer formellen Dokumentation des Vorfalls.
Laut CrowdStrike entfernt der Schadcode nach dem mehrstufigen Diebstahl und der Exfiltration sämtliche temporären Dateien. Der übrige Teil des Skripts sei eine funktionsfähige Kopie des echten trivy-action-Einstiegspunkts, lade Trivy normal herunter und erzeuge die erwartete Scanner-Ausgabe – für einen Betreiber, der die Workflow-Protokolle prüft, erscheine der Schritt erfolgreich abgeschlossen.
Ähnliche Angriffe trafen auch Xygeni über kompromittierte Anmeldedaten der Repository-Automatisierung sowie das Open-Source-Projekt KICS von Checkmarx. Dort veröffentlichte TeamPCP bösartige Versionen der VS-Code-Plugins checkmarx.cx-dev-assist und checkmarx.ast-results im OpenVSX-Marktplatz und kaperte laut SANS Institute 35 GitHub-Action-Versions-Tags. Checkmarx hat die Schadartefakte entfernt, Workflows auf geprüfte Commit-SHAs festgelegt und alle offengelegten Anmeldedaten rotiert; betroffene Organisationen sollten sämtliche Secrets und Umgebungsvariablen austauschen. Laut ReversingLabs kommen die beiden Erweiterungen zusammen auf über 36.000 Downloads und laufen auch in IDEs wie Cursor, Kiro und Windsurf.
Im NPM-Ökosystem traf die Kampagne mindestens 64 Pakete und mehr als 140 Paketartefakte. Der als CanisterWorm bezeichnete Schadcode nutzt laut Socket einen sogenannten Dead Drop in einem Canister des Internet Computer Protocol (ICP) und kann sich mithilfe erbeuteter NPM-Token selbst in weitere Pakete einschleusen. Derselbe ICP-Canister kam laut Aikido bei einer Kubernetes-Kampagne zum Einsatz, die zusätzlich einen als “kamikaze” bezeichneten Wiper enthielt: Auf Systeme mit iranischer Konfiguration zielend, hängt er das Wurzeldateisystem ein, löscht den Inhalt und erzwingt einen Neustart – auf allen Knoten samt Steuerungsebene.
In der jüngsten Phase griff TeamPCP das PyPI-Ökosystem an und kompromittierte LiteLLM, eine Python-Bibliothek mit mehr als 95 Millionen monatlichen Downloads. Die Versionen 1.82.7 und 1.82.8 wurden mit derselben Schadsoftware versehen. Laut EndorLabs wird der Code in Version 1.82.8 bei jedem Python-Aufruf in der Umgebung ausgelöst und läuft unbemerkt im Hintergrund. ReversingLabs zufolge kompromittierten die Angreifer wahrscheinlich das GitHub-Konto von LiteLLM-Mitgründer und CEO Krish Dholakia und verunstalteten danach automatisiert die Repositories. Das Threat-Intelligence-Projekt Vx-Underground berichtet von rund 300 GB exfiltrierten Daten von etwa 500.000 infizierten Maschinen; laut Wiz ist LiteLLM in 36 Prozent aller Cloud-Umgebungen vorhanden.
TeamPCP rühmt sich auf seinem Telegram-Konto der Angriffe und kündigte an, mit “neuen Partnern Terabytes an Geschäftsgeheimnissen zu stehlen”. Die Partner wurden nicht genannt, doch Lapsus$ prahlte laut Socket mit einem bevorstehenden Lieferketten-Angriff von TeamPCP. “Wir beobachten eine gefährliche Annäherung zwischen Lieferketten-Angreifern und prominenten Erpressergruppen wie Lapsus$”, sagte Wiz-Chefforscher Ben Read gegenüber SecurityWeek. Die Zusammenarbeit erkläre auch, warum einige Forscher den Datenabfluss bei AstraZeneca mit TeamPCP in Verbindung brachten, während sich Lapsus$ dazu bekannte.
