Hauptanalyse
Sicherheit & Risiko5 Min.

GitHub bestätigt Ursprung der Schwachstelle in 3.800 Repositories: Manipulierte VS Code-Erweiterung war der Angriffsvektor

Monitor com editor de código exibindo alerta de segurança em extensão de IDE comprometida

Der CISO von GitHub attribuierte am Donnerstag die Infiltration von 3.800 internen Repositories einer bösartigen Version der Nx Console-Erweiterung für VS Code, die mit dem Lieferkettenangriff gegen npm-Pakete von TanStack am 11. Mai verbunden war.

Am Donnerstagnachmittag, dem 21. Mai, gab GitHub die Grundursache für eine der größten Expositionen von privatem Code bekannt, die bisher auf einer Entwicklungsplattform dokumentiert wurde. Die Nx Console-Erweiterung für Visual Studio Code, Version 18.95.0, veröffentlicht im offiziellen Microsoft-Marktplatz, war der Vektor, der es der Gruppe TeamPCP ermöglichte, etwa 3.800 interne Repositories von GitHub selbst zuzugreifen und zu exfiltrieren. Grafana Labs und OpenAI bestätigten ebenfalls Expositionen, die aus derselben Kampagne resultierten.


Die Nx Console hat 2,2 Millionen aktive Installationen. Das Zeitfenster der Kompromittierung dauerte weniger als zwanzig Minuten, was ausreichte, damit die bösartige Last CI/CD-Anmeldeinformationen, persönliche Zugangstokens und Umgebungsgeheimnisse in jeder Instanz sammelte, die während dieses Zeitraums die automatische Aktualisierung der Erweiterung durchführte.


Der Ursprung: TanStack und der Wurm Mini Shai-Hulud


Der Angriff beginnt zehn Tage früher, am 11. Mai. Die Gruppe TeamPCP führte einen koordinierten Angriff gegen das GitHub-Repository von TanStack aus, einer JavaScript-Bibliothek, die in Unternehmens-Frontends von Zehntausenden Projekten verwendet wird. In nur sechs Minuten wurden 84 bösartige Artefakte in 42 Paketen des Namensraums @tanstack im npm verteilt. Die Technik nutzte eine Fehlkonfiguration des OIDC-Vertrauenskonstrukts im GitHub Actions-Pipeline von TanStack aus: Der Workflow erlaubte jede Branch im Repository und nicht nur geschützte Branches.


Mit den Anmeldeinformationen eines legitimen Entwicklers von TanStack, die in diesem Angriff erlangt wurden, erhielt TeamPCP Zugriff auf das Nx-Projekt-Repository auf GitHub und veröffentlichte die Version 18.95.0 der Nx Console direkt im VS Code Marketplace. Die Verbreitung erfolgt durch den Wurm Mini Shai-Hulud, der von der Gruppe entwickelt wurde, um Lieferkettenangriffe zu automatisieren: Der Wurm stiehlt Anmeldeinformationen von CI/CD-Pipelines und verwendet diese zur Veröffentlichung bösartiger Versionen abhängiger Pakete, wodurch der Angriff mit jedem Zyklus erweitert wird.


Die von der Erweiterung ausgelieferte Last fungierte als Multi-Stage Credential Stealer, die Daten über HTTPS und die GitHub-API exfiltrierte. Auf macOS-Systemen installierte der Payload zudem ein Python-Backdoor, das die GitHub Search API als Kanal für Command and Control nutzte.


Grafana Labs: Ein Token-Rotationsprozess, der nicht abgeschlossen wurde


Grafana Labs bestätigte ebenfalls am Donnerstag, dass ihre Exposition auf einem Zugangstoken zum GitHub-Umfeld beruhte, das nicht im Prozess der Rotierung von Anmeldeinformationen enthalten war, der nach der Entdeckung des Angriffs auf TanStack begonnen wurde. Mit diesem Token erhielt TeamPCP Zugriff auf private Repositories des Unternehmens und lud Quellcode herunter. Grafana erklärte, dass keine Daten von Endbenutzern kompromittiert wurden.


OpenAI hatte zuvor bestätigt, dass zwei Unternehmensgeräte während des TanStack-Angriffs am 11. Mai kompromittiert wurden, wobei Anmeldeinformationen exfiltriert und auf einen begrenzten Teil interner Repositories zugegriffen wurde. Das Unternehmen teilte mit, dass keine Hinweise auf den Zugriff auf Benutzerdaten oder Produktionssysteme gefunden wurden.


Das Muster, das die drei Fälle verbindet, ist dasselbe: Manuell durchgeführte Anmelde rotationsprozesse ohne automatisierte Bestandsaufnahme aller aktiven Integrationen führen zu Ausnahmen, die von anspruchsvollen Angreifern identifiziert und ausgenutzt werden. Organisationen mit Dutzenden von Drittanbieter-Integrationen, die mit GitHub verbunden sind, haben laut Branchenforschung im Durchschnitt mehr als 400 aktive Tokens, was die manuelle Rotation systematisch unvollständig macht.


Was Sicherheitsteams jetzt tun müssen


Für Organisationen, die VS Code in Entwicklungs-Pipelines verwenden, besteht die unmittelbare Priorität darin, zu auditieren, welche Erweiterungen Zugriff auf Umgebungsvariablen und Repository-Anmeldeinformationen haben. Die Version 18.95.0 der Nx Console sollte als kompromittiert betrachtet werden; frühere und spätere Versionen wurden laut dem Nx-Projektteam nicht manipuliert.


GitHub hat geraten, dass jede Organisation, die die Erweiterung während des Expositionszeitraums installiert hat, sofort alle persönlichen Zugangstokens, Deployment-Schlüssel und Anmeldeinformationen für GitHub Actions rotieren sollte. Das Risiko ist in GitHub Enterprise Server und in der Cloud-Version gleich.


TeamPCP hat öffentlich die Urheberschaft des Angriffs beansprucht und angekündigt, dass die erlangten Daten in kriminellen Foren zum Verkauf angeboten werden. Beratungsunternehmen, die Entwicklungsdienste mit Zugriff auf Kunden-Repositories anbieten, sollten überprüfen, ob während des Kompromittierungszeitraums irgendwelche geteilten Anmeldeinformationen aktiv waren.


Der Vorfall offenbart eine formale Lücke im Modell der Verteilung von IDE-Erweiterungen: Der Marktplatz von Microsoft beherbergt über 60.000 Erweiterungen ohne verpflichtenden Integritätsprüfmechanismus. Ein Kompromittierungszeitraum von weniger als zwanzig Minuten in einer Erweiterung mit Millionen von Benutzern reicht aus, um kritische Infrastruktur global zu treffen. Die Einführung von Herkunftsnormen, die den SLSA-Standards für IDE-Erweiterungen entsprechen, wird noch von keinem weit verbreiteten Sicherheitsrahmen gefordert, wodurch diese Angriffsfläche ohne formale Kontrolle bleibt.

Hauptanalyse