Zusammenfassung
Legit Security veröffentlichte CamoLeak im Oktober 2025. Der Forscher gibt an, die Schwachstelle im Juni 2025 gefunden zu haben: Inhalte in einem Pull Request konnten beeinflussen, wie GitHub Copilot Chat einer anderen Person antwortete, die diesen Pull Request prüfte. Darüber ließen sich Daten aus privaten Repositories im Zugriff dieser Person zu einer externen Partei bewegen.
Dieser Eintrag ist ein über HackerOne gemeldeter Red-Team-Befund und kein Beleg für böswillige Ausnutzung. Der Forscher nennt einen CVSS-Wert von 9.6; dieser Wert wurde von ihm vergeben und ist kein CVE- oder GitHub-Wert.
Einordnung und Evidenzstatus
| Feld | Wert |
|---|---|
| Record-Typ | Red-Team-Befund |
| Öffentliche Offenlegung | 2025-10-08 |
| Hersteller / Produkt | GitHub / GitHub Copilot Chat |
| Angriffsklasse | Indirekte Prompt Injection |
| Eintragsweg | Repository-Inhalte - vom Angreifer kontrollierte Pull-Request-Inhalte, die Copilot Chat der betroffenen Person liest |
| Betroffene Daten / Fähigkeiten | Inhalte privater Repositories und Geheimnisse im Copilot-Chat-Kontext der betroffenen Person |
| Demonstrierte Wirkung | Beeinflusste Copilot-Antworten für eine andere Person und ein in der Forschung demonstrierter Pfad zur Exfiltration privaten Codes und von Geheimnissen |
| Ausnutzung in freier Wildbahn | Keine Ausnutzung in freier Wildbahn in den zitierten Quellen berichtet. Die Offenlegung beschreibt nur Forschungsergebnisse. |
| Behebungsstatus | Behoben (laut Offenlegung der Forschenden). Laut dem Forscher meldete GitHub das Problem ab dem 14. August (2025) als behoben, indem die Bilddarstellung in Copilot Chat deaktiviert wurde. |
| Kennungen | Keine Kennung angegeben |
| Externe Bewertung | CVSS 9.6 - von Legit Security angegeben; kein CVE- oder Herstellerwert |
Betroffenes System und Vertrauenspfad
Copilot Chat antwortet mit den Rechten der angemeldeten Person und kann Repository-Inhalte als Kontext nutzen. Eine Pull-Request-Beschreibung kann jeder verfassen, der einen Pull Request öffnen darf; sie ist also variabler Inhalt Dritter. Fragt eine Maintainerin Copilot nach diesem Pull Request, treffen die Inhalte des Angreifers und ihr Zugriff auf private Repositories in einer Sitzung aufeinander.
Angriffskette im Überblick
Im Überblick: Vom Angreifer kontrollierte Pull-Request-Inhalte wurden zum Modellkontext. Eine betroffene Person fragte Copilot Chat dazu. Die abgerufenen Inhalte beeinflussten die Antwort. In der kontrollierten Demonstration der Forschenden konnte ein Ausgabedarstellungspfad Daten aus dem Copilot-Kontext der betroffenen Person zu einem externen Ziel tragen.
Dieser Eintrag beschreibt weder die Kodierung noch den Aufbau der Anfragen, die Umgehung der Content Security Policy, die Syntax verborgener Kommentare oder einen Prompt-Wortlaut.
Demonstrierte Wirkung und beobachtete Ausnutzung
Demonstriert: Einfluss auf die Copilot-Antworten einer anderen Person und die Exfiltration von Geheimnissen und Quellcode aus privaten Repositories im kontrollierten Test des Forschers.
Gegen reale Kunden beobachtet: in der zitierten Quelle nichts berichtet. Die gelenkte Antwort ist Modelleinfluss; die Sicherheitsfolge entstand aus dem Repository-Zugriff der betroffenen Person und einem Darstellungskanal, der den Angreifer erreichen konnte.
Begünstigende Kontrolllücken
- Verborgene Pull-Request-Inhalte gelangten in den Kontext des Assistenten, sodass Prüfende nicht sehen konnten, was die Antwort beeinflusste.
- Eine Funktion zur Darstellung von Antworten schuf einen ausgehenden Anfragepfad, der ein externes Ziel erreichen konnte.
- Der Assistent konnte über alle privaten Repositories der betroffenen Person lesen, nicht nur das für die Frage relevante.
Reaktion von Hersteller und Forschenden
Laut dem Forscher wurde das Problem über HackerOne gemeldet, und GitHub behob es, indem die Bilddarstellung in Copilot Chat vollständig deaktiviert wurde. Die Offenlegung gibt an, dass GitHub die Schwachstelle ab dem 14. August (2025) als behoben meldete. Dieser Status stammt aus der Offenlegung des Forschers; ein eigener GitHub-Hinweis wird hier nicht zitiert.
Nachweise, die Verteidiger sichern sollten
- Welche Repository-Inhalte, einschließlich Pull-Request-Texten und ihrer Rohquelle, der Assistent für jede Antwort genutzt hat.
- Bild- und Ressourcenanfragen, die beim Anzeigen von Chat-Antworten ausgelöst wurden.
- Pull Requests unbekannter Konten, deren Rohinhalt von der dargestellten Ansicht abweicht.
- Lesezugriffe des Assistenten über Repositories hinweg, die für die gestellte Frage nicht nötig waren.
Lehren für die Abwehr
- Datenprovenienz: Urheberschaft und Sichtbarkeit von Pull-Request-Inhalten verknüpft halten, auch für Inhalte, die in der Darstellung verborgen sind.
- Ausgabevalidierung: festlegen, welche Ausgabestrukturen wie Bilder oder Links eine Antwort enthalten darf, getrennt davon, wie sie dargestellt wird.
- Least Privilege: das Lesen des Assistenten auf das begrenzen, was die Aufgabe braucht.
- Agentenautorisierung: Ein Vorschlag, weitere Repositories zu lesen, ist eine neue Entscheidung, die der Modellkontext nicht autorisieren kann.
Verwandte Lernthemen
- AI Agents und Tool Calling - Wie Modellvorschläge zu Aktionen werden: der Tool-Calling-Kreislauf, Verfügbarkeit und Berechtigung, Autorisierung zur Laufzeit, Freigabe, Tool-Ergebnisse als variable Daten und Audit.
- Vertrauensgrenzen und Modellkontext - Was modellsichtbarer Kontext ist, warum Position kein Vertrauen erzeugt und warum Kontrollen außerhalb des Modells liegen.