Der Scanner wurde zur Bedrohung

Trivy ist ein Sicherheitstool. Organisationen nutzen es speziell zum Schutz ihrer Softwareentwicklungs-Pipelines durch das Scannen von Container-Images und Code-Repositorys auf bekannte Schwachstellen und hartcodierte Secrets. Mit 33.200 Stars auf GitHub gehört es zu den am weitesten verbreiteten Sicherheits-Scanning-Tools im DevSecOps-Ökosystem. Diese Reichweite machte es zu einem außergewöhnlich wertvollen Ziel.

Itay Shakury, ein Trivy-Maintainer bei Aqua Security, bestätigte, dass Bedrohungsakteure gestohlene Anmeldedaten nutzten, um bösartige Dependencies in praktisch alle gekennzeichneten Versionen von zwei zentralen GitHub-Actions-Komponenten einzuschieben: trivy-action und setup-trivy. Der Angriff begann in den frühen Morgenstunden eines Donnerstags und wurde stundenlang nicht erkannt, während die automatisierten CI/CD-Pipelines weltweit möglicherweise den kompromittierten Code heruntergeladen und ausgeführt haben.

Was Force-Pushing bedeutet

Ein Force-Push ist eine Git-Operation, die die Sicherheitsmechanismen überschreibt, die bestehende Commits vor dem Überschreiben schützen. Für GitHub Actions ist dies besonders gefährlich. Wenn Entwickler ihre CI/CD-Workflows an einen bestimmten Trivy-Action-Tag anheften – eine häufige Sicherheitspraxis, um Reproduzierbarkeit sicherzustellen – vertrauen sie darauf, dass der Tag auf denselben Code verweist wie immer. Force-Pushing von bösartigen Commits in diese Tags bricht diese Annahme stillschweigend: Die Pipeline-Konfiguration sieht unverändert aus, führt aber jetzt vom Angreifer kontrollierte Code mit allen Berechtigungen aus, die die CI/CD-Umgebung bietet.

Was der bösartige Code tat

Die Analyse der kompromittierten Tags deutete darauf hin, dass Angreifer Trivys legitime Dependencies durch bösartige Ersatzteile ersetzten, die darauf ausgelegt sind, Code in der CI/CD-Runner-Umgebung auszuführen. Das Ziel war der Zugriff auf Secrets – API-Token, Cloud-Anmeldedaten, Signierungsschlüssel und andere vertrauliche Werte, die Entwickler routinemäßig in Pipelines übergeben.

Eine kompromittierte Trivy-Action, die in einem GitHub-Actions-Workflow ausgeführt wird, hat Zugriff auf alles, worauf der Workflow Zugriff hat, was in vielen Organisationen Produktionsbereitstellungs-Anmeldedaten, Cloud-Provider-Authentifizierung, Artifact-Signierungsschlüssel und Source-Code-Repositorys umfasst. Die potenzielle Explosionswelle einer einzelnen Exfiltration kann zu Cloud-Infrastruktur-Kompromittierung, Datenverletzungen und Einfügung bösartiger Code in Produktionssoftware führen.

Reaktion und größerer Kontext

Aqua Security handelte schnell, nachdem die Kompromittierung bestätigt wurde, rotierte Anmeldedaten und stellte den legitimen Code in alle betroffenen Tags wieder her. Das Team riet allen Benutzern, jede Pipeline, die während des Kompromittierungsfensters Trivy-Actions ausgeführt hatte, als potenziell betroffen zu behandeln und alle zugänglichen Secrets sofort zu rotieren.

Konsensusmeinung der Sicherheitsgemeinde: GitHub Actions an spezifische Commit-SHA-Hashes anheften, anstatt an veränderbare Tag-Namen. Tags können force-gepusht werden; Commit-Hashes können nicht stillschweigend ohne Erkennung ersetzt werden. Diese bekannte Best Practice hatte eine verzögerte Übernahme, und dieser Vorfall wird wahrscheinlich Änderungen der organisatorischen CI/CD-Richtlinien beschleunigen. Der Angriff ist der neueste Eintrag in einer wachsenden Liste von Supply-Chain-Kompromittierungen, die auf die Open-Source-Tools abzielen, die die moderne Softwareentwicklung unterstützen – ein Trend, der keine Zeichen der Verlangsamung zeigt.

Dieser Artikel basiert auf Berichten von Ars Technica. Lesen Sie den Originalartikel.