GitHub Copilot: Diese Risiken sollten Sie kennen
GitHub Copilot schlägt beim Tippen ganze Codezeilen und Funktionen vor und spart damit real Zeit. Die Vorschläge kommen aber aus einem Modell, das auf öffentlichem Code trainiert wurde – und das bringt vier konkrete Risiken mit: unsicherer Code, Lizenz- und Urheberrechtsfragen, Datenabfluss und schleichende Abhängigkeit. Für jedes gibt es eine handfeste Gegenmaßnahme – eine Einstellung, ein Filter im CI oder eine kurze Prüfung von Hand. Die wichtigsten stehen unten, sortiert nach Risiko.
Wie Copilot arbeitet – und warum das die Risiken erklärt
Copilot sendet den Kontext Ihrer Datei (offene Datei, benachbarte Dateien, teils der Projektpfad) an ein KI-Modell auf GitHub-Servern und bekommt Vorschläge zurück. Das Modell „versteht“ den Code nicht, sondern setzt statistisch fort, was in ähnlichen Situationen im Trainingsmaterial folgte. Daraus ergeben sich die Risiken fast automatisch: Der Vorschlag kann veraltete Sicherheitsmuster übernehmen, Passagen aus fremden Repositories reproduzieren und Ihren Code an einen externen Dienst übertragen.
1. Sicherheitslücken im vorgeschlagenen Code
Das größte praktische Risiko: Copilot generiert plausibel aussehenden, aber verwundbaren Code. Eine viel zitierte Studie der NYU („Asleep at the Keyboard?“, 2021) fand, dass rund 40 % der von Copilot erzeugten Programme in sicherheitsrelevanten Szenarien ausnutzbare Schwachstellen enthielten.
Typische Muster, die Sie oft sehen:
- SQL-Abfragen per String-Konkatenation statt mit Prepared Statements (SQL-Injection).
- Fehlende Eingabevalidierung und ungefilterte Ausgabe (XSS).
- Hartcodierte Secrets oder unsichere Default-Werte, die Copilot aus Beispielcode „gelernt“ hat.
- Veraltete Krypto (z. B. MD5/SHA-1 zum Passwort-Hashing statt bcrypt/argon2).
Ein klassisches Beispiel, das Copilot bereitwillig vervollständigt:
# Riskant – Copilot ergänzt hier gern eine verwundbare Abfrage
query = "SELECT * FROM users WHERE name = '" + user_input + "'"
cursor.execute(query)
Richtig wäre eine parametrisierte Abfrage:
cursor.execute("SELECT * FROM users WHERE name = %s", (user_input,))
Gegenmaßnahmen: Behandeln Sie jeden Vorschlag wie einen Pull Request eines unbekannten Entwicklers. Lassen Sie Linter und Static-Analysis-Tools (z. B. bandit für Python, eslint mit Security-Plugins, semgrep) im CI laufen. GitHub bietet zudem einen KI-basierten Autofilter, der offensichtlich unsichere Muster und durchgesickerte Secrets unterdrücken soll – verlassen Sie sich aber nicht allein darauf.
2. Lizenzen und Urheberrecht
Copilot kann Passagen ausspucken, die wörtlich oder fast wörtlich aus öffentlichem Code stammen – inklusive dessen Lizenz. Das ist heikel, wenn der Ursprung unter einer Copyleft-Lizenz wie der GPL steht: Bauen Sie solchen Code in ein proprietäres Produkt ein, kann das Lizenzpflichten auslösen, die Sie nicht erfüllen. 2022 wurde deshalb eine Sammelklage gegen GitHub, Microsoft und OpenAI eingereicht (Doe v. GitHub); ein Großteil der Ansprüche wurde später abgewiesen, das Verfahren ist aber Anlass genug, das Thema ernst zu nehmen.
Was Sie tun sollten:
- Duplikat-Filter aktivieren. In den Copilot-Einstellungen gibt es die Option „Suggestions matching public code“ (Vorschläge, die öffentlichem Code entsprechen). Auf „Blocked“ gestellt, unterdrückt sie Vorschläge, die einem größeren öffentlichen Codeblock entsprechen (Richtwert laut GitHub: ab ca. 150 Zeichen).
- Herkunft prüfen bei auffälligen Blöcken. Wenn Copilot einen ungewöhnlich vollständigen, „fertigen“ Algorithmus liefert, suchen Sie die markante Zeile kurz im Web.
- IP-Zusage kennen. Für zahlende Business-/Enterprise-Kunden gibt es die „Copilot Copyright Commitment“ – eine Freistellung gegen bestimmte Urheberrechtsansprüche, allerdings nur, wenn der Duplikat-Filter aktiviert ist.
Wer sich grundsätzlich mit rechtlichen Rahmenbedingungen digitaler Produkte befasst, findet im Beitrag zu Datenschutz und DSGVO ergänzende Grundlagen.
3. Datenschutz und Datenabfluss
Copilot überträgt Ausschnitte Ihres Codes zur Verarbeitung an die Server. Das ist bei internem, vertraulichem oder personenbezogenem Code ein Thema. Was genau erfasst, gespeichert und ausgewertet wird, hängt vom Tarif ab – eine detaillierte Aufstellung finden Sie unter Was sammelt GitHub Copilot?. Wichtig ist vor allem der Unterschied zwischen den Plänen:
- Copilot Individual (privat): Prompts/Snippets werden verarbeitet; die Nutzung zum weiteren Modelltraining lässt sich über Einstellungen abwählen.
- Copilot Business/Enterprise: GitHub sagt zu, dass Prompts und Vorschläge nicht dauerhaft gespeichert und nicht zum Training verwendet werden.
Praktische Schutzmaßnahmen:
- Content Exclusion (Business/Enterprise): Pfade oder ganze Repositories vom Kontext ausschließen, damit z. B.
secrets/, Konfigurationen oder Kundendaten gar nicht erst gesendet werden. - Keine echten Zugangsdaten, Schlüssel oder personenbezogenen Daten im Klartext im Repo halten – unabhängig von Copilot.
- Bei stark regulierten Projekten (Gesundheit, Finanzen) vorab klären, ob die Übertragung überhaupt zulässig ist.
4. Abhängigkeit, „Automation Bias“ und halluzinierte Pakete
Ein leiser, aber realer Effekt: Wer Vorschläge dauerhaft nur noch bestätigt, verlernt Details und übersieht Fehler eher – die Forschung nennt das „Automation Bias“. Zusätzlich neigen KI-Modelle dazu, nicht existierende Paketnamen vorzuschlagen (import einer Bibliothek, die es nicht gibt). Angreifer registrieren solche halluzinierten Namen gezielt in Paket-Registries – ein Muster, das als „Slopsquatting“ bekannt geworden ist. Prüfen Sie deshalb jede von Copilot vorgeschlagene Abhängigkeit, bevor Sie sie installieren.
Gute Routine im Team:
- Vorschläge lesen, nicht nur mit Tab bestätigen.
- Neue Imports und Paketnamen gegen die offizielle Registry abgleichen.
- Code-Review-Pflicht bleibt bestehen – Copilot ersetzt sie nicht.
Wann sich Copilot trotzdem lohnt
Für Boilerplate, Tests, Doku-Kommentare, Regex und wiederkehrende Muster ist Copilot ein echter Beschleuniger – gerade dort, wo Sie den Output ohnehin sofort verifizieren. Kritisch wird es bei Sicherheitscode, Krypto, Auth und allem, was mit vertraulichen Daten hantiert. Die Faustregel: Je größer der Schaden bei einem Fehler, desto genauer prüfen Sie den Vorschlag.
FAQ
Darf ich Copilot-Code kommerziell verwenden? Grundsätzlich ja – Sie sind aber für den Code verantwortlich. Aktivieren Sie den Duplikat-Filter und prüfen Sie auffällig vollständige Blöcke auf ihre Herkunft, um Lizenzkonflikte (etwa mit GPL-Code) zu vermeiden.
Sieht mein Arbeitgeber oder GitHub meinen privaten Code? Copilot überträgt Kontext zur Verarbeitung an die Server. Bei Business/Enterprise sagt GitHub zu, diesen nicht zu speichern oder zum Training zu nutzen; bei der Individual-Version sollten Sie die Datenschutz-Einstellungen prüfen. Mit „Content Exclusion“ lassen sich sensible Pfade ganz ausschließen.
Ist Copilot-Code automatisch sicher? Nein. Studien zeigen einen erheblichen Anteil verwundbarer Vorschläge. Behandeln Sie jeden Vorschlag wie fremden Code und lassen Sie Linter, Static Analysis und Code Review darüberlaufen.