GitHub hat einen Angriff auf die Lieferkette bestätigt, in dessen Folge ungefähr 3.800 interne Repositories des Unternehmens kompromittiert wurden. Der Angriffsvektor war eine bösartige Erweiterung für Visual Studio Code, die auf der Workstation eines Mitarbeiters installiert war. Laut der offiziellen Erklärung des Unternehmens gibt es derzeit keine Hinweise auf eine Kompromittierung von Nutzerdaten außerhalb der betroffenen Repositories. Der Vorfall wirft jedoch gravierende Fragen zur Sicherheit des Erweiterungs-Ökosystems von Code-Editoren auf, das täglich von Millionen Entwicklern weltweit genutzt wird.
Chronologie und Mechanismus des Angriffs
Der Angriff begann mit der Installation einer bösartigen Erweiterung aus dem VS-Code-Marktplatz auf dem Gerät eines GitHub-Entwicklers. Den Namen der Erweiterung hat das Unternehmen nicht offengelegt, bekannt ist jedoch, dass sie bereits aus dem Marktplatz entfernt wurde. Das kompromittierte Gerät wurde im Rahmen der Incident Response isoliert.
Der zentrale technische Aspekt dieses Angriffs ist das Privilegienniveau, über das VS-Code-Erweiterungen verfügen. Wie Forschende von Aikido hervorheben, erhalten Erweiterungen nahezu vollständigen Zugriff auf die Daten der Entwickler-Maschine, darunter:
- SSH-Keys und Zugriffstokens für Cloud-Services
- Zugangsdaten für Versionskontrollsysteme
- Environment-Variablen und Konfigurationsdateien
- Sonstige lokal gespeicherte Secrets
Genau dieser weitreichende Zugriff ermöglichte es den Angreifern, von einer einzigen kompromittierten Workstation aus auf rund 3.800 interne Repositories von GitHub zuzugreifen. Das Unternehmen bestätigte, dass diese Zahl „im Großen und Ganzen“ den Ergebnissen der internen Untersuchung entspricht.
Aktionen der Angreifer und Aussagen zum Datenverkauf
Laut BleepingComputer tauchten im Forum Breached Beiträge auf, in denen sich die Verfasser zum Diebstahl von GitHub-Sourcecode und etwa 4.000 privaten Repositories bekennen. Die Angreifer sollen die Daten demnach mit einem Mindestpreis von 50.000 US‑Dollar in Kryptowährung zum Verkauf angeboten und damit gedroht haben, den Dump kostenlos zu veröffentlichen, falls sich kein Käufer findet. Es ist zu betonen, dass diese Aussagen unmittelbar von den mutmaßlichen Angreifern stammen und bislang nicht unabhängig bestätigt wurden.
Bedrohungskontext
Entwickler-Workstations haben sich nach Einschätzung der Forschenden von Aikido zu einem der vorrangigen Ziele für Angriffe auf die Lieferkette entwickelt. Das ist naheliegend: Auf diesen Systemen konzentrieren sich die Zugriffsschlüssel zur Infrastruktur, zu Repositories, Cloud-Umgebungen und Deployment-Systemen. Die Kompromittierung eines einzigen Entwicklers mit ausreichenden Rechten kann den Zugang zu einem erheblichen Teil der internen Infrastruktur einer Organisation eröffnen – genau das ist in diesem Fall geschehen.
Vermutlich betrafen Angriffe unter Einsatz des Wurms Shai-Hulud, der derselben Gruppe zugeschrieben wird, bereits zuvor Mitarbeitende von OpenAI. Diese Information basiert jedoch auf einem Forschungsblog und bedarf weiterer Bestätigung.
Reaktionsmaßnahmen von GitHub
GitHub hat folgende Schritte zur Eindämmung des Vorfalls bekanntgegeben:
- Entfernung der bösartigen Erweiterung aus dem VS-Code-Marktplatz
- Isolierung der kompromittierten Entwickler-Workstation
- Rotation kritischer Secrets und Zugangsdaten, beginnend mit den vorrangigen
- Durchführung einer internen Untersuchung zur vollständigen Ermittlung des Kompromittierungsumfangs
Das Unternehmen erklärt, der Zugriff der Angreifer sei auf interne Repositories beschränkt gewesen und habe keine außerhalb dieser Repositories gespeicherten Nutzerdaten betroffen. Diese Einschätzung spiegelt jedoch den aktuellen Stand der Ermittlungen wider und kann sich ändern, falls neue Erkenntnisse auftauchen.
Empfehlungen für Organisationen
Dieser Vorfall zeigt einen konkreten und reproduzierbaren Angriffsvektor auf, gegen den Schutzmaßnahmen erforderlich sind:
- Audit von VS-Code-Erweiterungen: Führen Sie eine Inventarisierung der auf Entwickler-Workstations installierten Erweiterungen durch. Setzen Sie eine Whitelist-Policy für zulässige Erweiterungen über Organisationseinstellungen um.
- Privilegienbeschränkung: Minimieren Sie die Menge an Secrets, die auf Workstations verfügbar sind. Nutzen Sie kurzlebige Tokens statt langfristig gültiger Zugriffsschlüssel.
- Rotation von Secrets: Wenn Ihre Projekte von internen Paketen oder Repositories auf GitHub abhängen, führen Sie eine präventive Rotation von Zugriffstokens und SSH-Keys durch.
- Zugriffssegmentierung: Stellen Sie sicher, dass die Kompromittierung einer einzelnen Workstation keinen Zugriff auf Tausende Repositories ermöglicht. Wenden Sie das Prinzip der geringsten Privilegien auf Entwicklerkonten an.
- Monitoring: Richten Sie Alarme für untypische Zugriffsmuster auf Repositories ein – etwa massenhaftes Klonen, Zugriffe aus ungewohnten geografischen Regionen oder die Nutzung zuvor inaktiver Tokens.
Der GitHub-Vorfall ist ein praktisches Beispiel dafür, dass das Ökosystem der Erweiterungen für Code-Editoren einen vollwertigen Angriffsvektor auf die Lieferkette darstellt. Organisationen, die VS Code in Unternehmensumgebungen einsetzen, sollten umgehend einen Audit der installierten Erweiterungen durchführen, Richtlinien für deren kontrollierte Installation etablieren und den Umfang der auf Entwickler-Workstations verfügbaren Secrets überprüfen – eben dieser übermäßige Zugriff von einem einzigen Gerät machte aus einer punktuellen Kompromittierung einen Vorfall im Ausmaß von 3.800 Repositories.