GitHub gehackt: Interne Repositories über poisend VS Code Extension kompromittiert
GitHub hat heute bestätigt, dass Angreifer unbefugten Zugriff auf interne Repositories der Plattform erlangt haben. Der Einstiegspunkt war ein manipuliertes Visual Studio Code Extension, das ein Mitarbeiter auf seinem Arbeitsgerät installiert hatte.
Was ist passiert?
Am 20. Mai 2026 gab GitHub in einer Reihe offizieller Statements bekannt, dass ein Mitarbeitergerät über eine sogenannte „poisoned“ VS Code Extension kompromittiert wurde. Das bedeutet: Eine legitim aussehende Entwicklererweiterung enthielt versteckten Schadcode, der nach der Installation Zugriff auf das Gerät ermöglichte und Daten aus internen Repositories exfiltrierte.
Nach aktueller Einschätzung von GitHub wurden dabei rund 3.800 interne Repositories betroffen. Die Angreifer hatten ausschließlich Zugriff auf GitHub-interne Systeme. Kundendaten, Enterprise-Konten und öffentliche Repositories sind nach derzeitigem Kenntnisstand nicht betroffen.
Die Tätergruppe hinter dem Angriff ist TeamPCP, auch bekannt unter dem von Google Threat Intelligence Group vergebenen internen Bezeichner UNC6780. Die Gruppe ist seit Anfang 2026 für eine Serie von Supply-Chain-Angriffen gegen Entwicklerwerkzeuge verantwortlich: Betroffen waren unter anderem der Trivy-Vulnerability-Scanner, die Python-Bibliothek LiteLLM, Checkmarx KICS, TanStack sowie das offizielle Microsoft Python-Paket durabletask. Ihr Werkzeug der Wahl ist der selbstreplizierende Wurm „Shai-Hulud“, der Zugangsdaten für AWS, GCP, Azure und GitHub abgreift und sich anschließend über kompromittierte Pakete weiterverbreitet.
TeamPCP bewirbt die gestohlenen GitHub-Daten aktuell in Untergrundforen und fordert Angebote von mindestens 50.000 US-Dollar. Nach eigenen Angaben sollen rund 4.000 private Repositories erbeutet worden sein, was mit GitHubs eigenem Ermittlungsergebnis von circa 3.800 Repositories übereinstimmt.
Warum ist das relevant?
Dieser Vorfall macht ein Angriffsmuster deutlich, das in der Entwicklerwelt noch zu wenig ernst genommen wird: die Kompromittierung von Entwicklerwerkzeugen als Einstiegspunkt in Unternehmensinfrastrukturen.
VS Code Extensions werden oft ohne tiefere Prüfung installiert. Sie laufen mit den gleichen Rechten wie der Entwickler selbst, haben Zugriff auf das Dateisystem, auf Tokens, auf Umgebungsvariablen und auf gespeicherte Credentials. Eine einzige kompromittierte Extension reicht aus, um alles abzugreifen, was auf dem Gerät vorhanden ist.
GitHub selbst betreibt eine der zentralen Plattformen der globalen Softwareentwicklung. Wenn interne Repositories erbeutet werden, können darin enthaltene Secrets, API-Keys und Zugangsdaten zu weitergehenden Angriffen genutzt werden, auch wenn Kundendaten formal nicht betroffen sind.
Was hat GitHub unternommen?
GitHub reagierte unmittelbar nach Erkennung des Vorfalls:
- Die kompromittierte VS Code Extension wurde aus dem Marketplace entfernt
- Das betroffene Mitarbeitergerät wurde isoliert
- Kritische Secrets und Credentials wurden noch am selben Tag rotiert, mit Priorisierung der hoch-kritischen Zugangsdaten
- Logs werden kontinuierlich analysiert, um Folgeaktivitäten der Angreifer zu erkennen
GitHub hat angekündigt, nach Abschluss der Untersuchung einen vollständigen Incident-Report zu veröffentlichen. Betroffene Kunden würden über etablierte Kanäle informiert, falls sich doch noch eine Auswirkung auf Kundendaten herausstellen sollte.
- Alle in privaten Repositories gespeicherten API-Keys, Tokens und Secrets sofort überprüfen und rotieren, auch wenn keine direkte Betroffenheit bekannt ist
- Installierte VS Code Extensions auf das Notwendige reduzieren und regelmäßig auf verdächtige Aktivitäten prüfen
- Keine Extensions aus unbekannten Quellen installieren; Extensions nur nach Verifikation des Herausgebers und der Downloadzahlen verwenden
- In CI/CD-Pipelines verwendete Secrets zentral verwalten und nicht in Klartext in Repository-Dateien hinterlegen
- GitHub-Audit-Logs auf ungewöhnliche Zugriffsmuster prüfen
- Multi-Faktor-Authentifizierung für alle GitHub-Konten sicherstellen