Sicherheitsanfälligkeit im MCP-Server von GitHub, die zu einem Leak von Informationen aus privaten Repositories führt

Im GitHub MCP Server, der Implementierung des MCP (Model Context Protocol) von GitHub, wurde eine Sicherheitsanfälligkeit entdeckt, die es ermöglicht, Daten aus den privaten Repositories von Nutzern, die AI-Assistenz für die Automatisierung der Arbeit mit Repositories verwenden, zu extrahieren.

Das MCP-Protokoll dient der Verbindung von AI-Modellen mit unterschiedlichen Datenquellen. Der GitHub MCP Server ermöglicht eine nahtlose Integration großer Sprachmodelle mit der GitHub-API und bietet diesen Modellen zusätzlichen Kontext, indem es Daten aus GitHub-Repositories extrahiert. Modelle, die MCP verwenden, können zur Automatisierung bestimmter Aufgaben auf GitHub eingesetzt werden, beispielsweise zur Analyse von Fehlermeldungen.

Die Kernproblematik der Sicherheitsanfälligkeit besteht darin, dass durch die Interaktion mit einem großen Sprachmodell, das mit GitHub verbunden ist, vertrauliche Daten über den Nutzer, der einen AI-Agenten mit seinem GitHub-Konto verknüpft hat, offengelegt werden können. Ein Angreifer könnte in einem öffentlichen Repository, das durch Automatisierung auf Basis eines großen Sprachmodells genutzt wird, einen gezielt erstellten Problembericht (issue) veröffentlichen. Nach der Aktivierung würde das Modell einen Pull-Request mit einem Lösungsvorschlag generieren. Folglich kann das Modell bei Problemen, die private Repositories oder vertrauliche Daten betreffen, Informationen im vorgeschlagenen Pull-Request offenlegen.

Sicherheitsanfälligkeit im MCP-Server von GitHub, die zu einem Leak von Informationen aus privaten Repositories führt

Als Beispiel wurde eine Fehlermeldung eingesendet, in der beanstandet wurde, dass der Autor im README-Dokument nicht angegeben ist. Als Lösung wurde im Bericht vorgeschlagen, Informationen über den Autor und eine Liste aller Repositories, mit denen der Autor gearbeitet hat, in das README aufzunehmen. Letztendlich generierte das Modell einen Pull-Request mit Informationen, die persönliche Daten des Autors aus dem privaten Repository enthielten, sowie eine Liste der vorhandenen privaten Repositories. In einem nächsten Schritt könnten durch eine ähnliche Interaktion mit dem Modell auch Daten aus einem bestimmten privaten Repository abgerufen werden.

Um den AI-Agenten zu aktivieren, muss der Eigentümer des Repositories die Anweisung zur Analyse von Fehlermeldungen geben. Sollte GitHub mit dem AI-Dienst Claude verbunden sein, genügt es, wenn der Eigentümer des Repositories einen Antrag an den AI-Assistenten sendet, wie zum Beispiel: „Schau dir die Issues in meinen Open-Source-Repositories an und behebe sie“. Daraufhin aktiviert der AI-Assistent die konfigurierte MCP-Integration mit dem GitHub-Konto und führt die in den Problemmeldungen enthaltenen Anweisungen aus.

Quelle: opennet.ru

60GB SSD 8Gb DDR4