Artikelbild für den Artikel: GitHub MCP Exploited: Zugriff auf private Repositories über MCP

GitHub MCP Exploited: Zugriff auf private Repositories über MCP

In diesem Artikel beleuchten wir eine kritische Sicherheitsanfälligkeit im offiziellen GitHub MCP Server, die es Angreifern ermöglicht, auf Daten aus privaten Repositories zuzugreifen. Diese Schwachstelle gehört zu den ersten, die von Invariant’s Sicherheitsanalysator zur Erkennung toxischer Agentenflüsse entdeckt wurden.

Einführung

Die Entdeckung dieser Sicherheitsanfälligkeit ist besonders relevant, da die Branche derzeit daran arbeitet, Codierungsagenten und IDEs weitreichend einzusetzen, was Benutzer potenziell ähnlichen Angriffen auf kritische Softwareentwicklungstools aussetzt.

Angriffsaufbau

Im Rahmen dieses Angriffszenarios verwendet der Benutzer einen MCP-Client wie Claude Desktop, der mit dem GitHub MCP Server verbunden ist. Wir nehmen an, dass der Benutzer zwei Repositories erstellt hat:

  • <user>/public-repo: Ein öffentlich zugängliches Repository, das es jedem auf GitHub ermöglicht, Issues und Bug-Reports zu erstellen.
  • <user>/private-repo: Ein privates Repository, z. B. mit proprietärem Code oder vertraulichen Unternehmensdaten.

Gemäß den Standardregeln von GitHub kann ein Angreifer nun ein bösartiges Issue im öffentlichen Repository erstellen, das eine Eingabeaufforderung enthält, die darauf wartet, dass der Agent interagiert. Der tatsächliche Angriff wird ausgelöst, sobald der Benutzer und Eigentümer des GitHub-Kontos seinen Agenten mit einer harmlosen Anfrage abfragt, wie „Schau dir die offenen Issues in <user>/public-repo an“, was dazu führt, dass der Agent die Issues aus dem öffentlichen Repository abruft und injiziert wird.

Angriffsdemonstration

Um den Angriff konkret zu veranschaulichen, implementieren wir diesen praktisch mit einer Reihe von Demo-Repositories:

  • ukend0464/pacman: Ein öffentliches Repository mit einer einfachen Implementierung eines Pacman-Spiels (hier verfügbar).
  • Mehrere private Repositories, die persönliche Projekte und sensible Informationen über den Benutzer enthalten.

Wir platzieren nun ein bösartiges Issue (hier) im öffentlichen Repository, das für den Angreifer zugänglich ist. Das Issue enthält eine Nutzlast, die vom Agenten ausgeführt wird, sobald dieser die Liste der Issues im öffentlichen Repository abfragt.

Erkennung toxischer Agentenflüsse

Im Gegensatz zu zuvor entdeckten Tool-Vergiftungsangriffen erfordert diese Schwachstelle nicht, dass die MCP-Tools selbst kompromittiert werden. Stattdessen entsteht das Problem, selbst bei vollständig vertrauenswürdigen Tools, da Agenten untrusted Informationen ausgesetzt werden können, wenn sie mit externen Plattformen wie GitHub verbunden sind.

Umfang und Minderung

Die Schwachstelle ist nicht spezifisch für einen bestimmten Agenten oder MCP-Client. Sie betrifft jeden Agenten, der den GitHub MCP Server verwendet, unabhängig vom zugrunde liegenden Modell oder der Implementierung. Dies ist kein Fehler im Code des GitHub MCP Servers selbst, sondern ein grundlegendes architektonisches Problem, das auf der Ebene des Agentensystems angegangen werden muss.

Empfohlene Migrationsstrategien

  1. Implementierung granularer Berechtigungssteuerungen: Es ist entscheidend, den Zugriff des Agenten nur auf die Repositories zu beschränken, mit denen er interagieren muss, um das Prinzip der minimalen Berechtigung zu befolgen.
  2. Durchführung kontinuierlicher Sicherheitsüberwachung: Implementieren Sie robuste Überwachungslösungen, um potenzielle Sicherheitsbedrohungen in Echtzeit zu erkennen und darauf zu reagieren.

Fazit

In diesem Blogbeitrag haben wir eine kritische Sicherheitsanfälligkeit im GitHub MCP Server aufgezeigt, die es Angreifern ermöglicht, einen Benutzeragenten über ein bösartiges GitHub Issue zu übernehmen und ihn zu zwingen, Daten aus privaten Repositories preiszugeben. Es ist von entscheidender Bedeutung, Agentensysteme und MCP-Integrationen mit speziellen Sicherheits-Scannern wie Invariant’s MCP-scan zu schützen, um eine verantwortungsvolle Bereitstellung in großem Maßstab zu gewährleisten.

Quellenliste:

Dieser Artikel wurde mithilfe von KI verfasst und basiert auf automatisch gesammelten Informationen.
0 Kommentare

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar