Angriff über den Sicherheitsscanner: Trivy, Checkmarx und LiteLLM kompromittiert
Angreifer haben den verbreiteten Sicherheitsscanner Trivy manipuliert und über gestohlene CI-Secrets anschließend auch GitHub Actions von Checkmarx sowie die Python-Bibliothek LiteLLM infiziert. Der Fall zeigt, dass die eigene Build-Pipeline selbst zur Angriffsfläche geworden ist.
Was ist passiert?
Hinter der Angriffskette steht nach Angaben mehrerer Sicherheitsforscher die Gruppe TeamPCP. Bereits Ende Februar nutzten die Angreifer eine Fehlkonfiguration in der GitHub-Actions-Umgebung von Trivy, um ein privilegiertes Zugriffstoken zu erbeuten. Laut JFrog spielte dabei ein Workflow mit dem Trigger pull_request_target eine Rolle. Weil die Zugangsdaten offenbar nicht vollständig widerrufen wurden, konnten die Angreifer später erneut zuschlagen.
Am 19. März veröffentlichten sie eine verseuchte Trivy-Version 0.69.4. Zusätzlich wurden laut Kaspersky 76 von 77 Versions-Tags der GitHub Action aquasecurity/trivy-action sowie alle Tags von setup-trivy auf schädliche Commits umgebogen. Wer die Action über einen Versions-Tag einband, führte also ohne sichtbare Änderung fremden Code aus. Der Schadcode sammelte unter anderem Cloud-Zugangsdaten, Kubernetes-Tokens, SSH-Schlüssel und .env-Dateien.
Mit erbeuteten Secrets folgten am 23. März manipulierte GitHub Actions von Checkmarx (KICS und AST). Am 24. März erschienen auf PyPI die LiteLLM-Versionen 1.82.7 und 1.82.8 mit Schadcode. Die Pipeline von LiteLLM hatte Trivy ohne feste Versionsbindung installiert – so gelangte das PyPI-Publishing-Token in die Hände der Angreifer. Die schädlichen Pakete waren laut Kaspersky rund fünf Stunden verfügbar. Der Vorfall wird als CVE-2026-33634 geführt.
So verlief die Angriffskette:
Warum betrifft Sie das?
Sicherheitsscanner laufen in CI/CD-Pipelines typischerweise mit weitreichenden Rechten und haben Zugriff auf Secrets für Registries, Cloud-Konten und Paketquellen. Genau das macht sie für Angreifer attraktiv. Viele Teams binden GitHub Actions über veränderliche Tags ein und installieren Werkzeuge „in der neuesten Version". Wird ein solches Werkzeug kompromittiert, wird jede Pipeline, die es nutzt, zum Einfallstor – und gestohlene Secrets ermöglichen den nächsten Angriff, wie die Kette von Trivy über Checkmarx zu LiteLLM zeigt.
Was Sie jetzt tun sollten
- Betroffenheit prüfen: Durchsuchen Sie Workflows nach
trivy-action,setup-trivy,kics-github-actionundast-github-actionsowie Python-Umgebungen nach LiteLLM 1.82.7 oder 1.82.8. - Sichere Versionen nutzen: Laut Kaspersky gelten Trivy 0.69.3,
trivy-action0.35.0 undsetup-trivy0.2.6 als sauber. - Secrets rotieren: Wenn eine betroffene Version in Ihrer Pipeline lief, sollten Sie alle dort verfügbaren Zugangsdaten als kompromittiert betrachten und erneuern.
- Actions per Commit-SHA pinnen: Tags lassen sich überschreiben, ein vollständiger Commit-Hash nicht. Den Hash entnehmen Sie dem geprüften Release:
permissions:
contents: read
steps:
- uses: actions/checkout@<vollständiger-40-stelliger-commit-sha> # v4
- uses: aquasecurity/trivy-action@<vollständiger-40-stelliger-commit-sha> # 0.35.0
- Werkzeuge fest versionieren: Installieren Sie CLI-Tools in Pipelines mit fester Version und Prüfsumme statt per
apt-get installohne Versionsangabe. - Secrets minimieren: Geben Sie Jobs nur die Rechte, die sie brauchen, beschränken Sie
GITHUB_TOKENund setzen Sie wo möglich auf kurzlebige Zugangsdaten per OIDC, etwa für PyPI Trusted Publishing oder Cloud-Logins. - Actions erlauben, nicht nur nutzen: Legen Sie auf Organisationsebene fest, welche Actions verwendet werden dürfen. Werkzeuge wie zizmor helfen beim Auffinden riskanter Workflow-Konfigurationen.
Fazit
Der Angriff zeigt, wie eng Software-Lieferketten verflochten sind: Ein kompromittierter Scanner genügte, um weitere Projekte zu infizieren. Behandeln Sie Ihre CI/CD-Pipeline deshalb wie Produktivinfrastruktur – mit festen Versionen, minimalen Rechten und regelmäßig rotierten Secrets. Wenn Sie Ihre Pipelines auf solche Schwachstellen prüfen lassen möchten, sprechen Sie uns an.
