Laut den Sicherheitsforschern von Apiiro hinterlässt Claude Code Geheimnisse in öffentlichen GitHub-Repositories. Das Problem entsteht durch eine lokale Einstellungsdatei, die online landet, ohne dass die Entwicklerin oder der Entwickler es bemerkt. Gefunden wurden unter anderem Datenbankpasswörter, API-Token und Root-Zugänge. Das betrifft alle, die einen KI-Assistenten zum Programmieren nutzen, denn ein einziger unachtsamer Commit kann noch gültige Zugangsdaten öffentlich machen.
Ein paar Begriffe, bevor wir in die Fakten einsteigen. .gitignore ist die Datei, die Git sagt, welche Dateien nicht in Commits gespeichert werden sollen. Repository ist der von Git verfolgte Projektordner. Geheimnis bezeichnet eine Zugangsdaten wie ein Passwort, ein API-Token oder einen privaten Schlüssel. Fork ist die Kopie eines Projekts, die ein anderer Nutzer auf GitHub angelegt hat. Commit ist das Speichern einer Gruppe von Änderungen in der Projekthistorie.
Was wurde über Claude Code und GitHub entdeckt?
Berichtet hat darüber Ars Technica, das die Arbeit von Apiiro aufgreift. Die Forscher fanden über 100.000 Fälle, in denen die lokale Einstellungsdatei von Claude Code in einem öffentlichen GitHub-Repository hochgeladen worden war.
Nicht alle enthalten sensible Daten. Nur rund 1.100 Dateien aus 63 verschiedenen Organisationen enthielten Geheimnisse wie öffentliche API-Token, Datenbankpasswörter oder private Schlüssel. Die Zahl ist klein im Verhältnis zur Gesamtmenge, doch es handelt sich um echte Zugangsdaten und nicht um Beispiele.
Warum landet die Datei online?
Wenn der Nutzer die Option «Ja, und nicht mehr fragen» wählt, um einen Shell-Befehl zu genehmigen, wird daraus eine Regel in der lokalen Datei .claude/settings.local.json. Manchmal wird die Regel als allgemeines Muster gespeichert. Oft wird der Befehl aber so übernommen, wie er ist, mit allem, was er enthält, auch mit eventuellen Zugangsdaten.
Solange die Datei auf dem Computer bleibt, ist das Risiko begrenzt, sofern die Maschine nicht kompromittiert ist. Problematisch wird es, sobald die Datei in einem Commit landet.
Sollte die .gitignore nicht ausreichen?
Theoretisch schon. Laut Ars Technica sieht die Dokumentation von Anthropic vor, dass diese Datei in die globale .gitignore der Entwicklerin oder des Entwicklers aufgenommen wird, was die Veröffentlichung normalerweise verhindert.
Die Schwachstelle ist, dass die Regel nicht auf Repository-Ebene wirkt. Wird das Projekt auf einem anderen Rechner geklont oder wird ein Ordner erst später zum Repository, kann die Datei versehentlich hochgeladen werden. Apiiro ergänzt, dass in vielen Fällen Claude Code selbst die Änderungen an den Einstellungen committet, ohne dass der Nutzer eingreift.
Die offizielle Dokumentation von GitHub erklärt den Unterschied. Die .gitignore im Wurzelverzeichnis des Repositories gilt, sobald sie committet ist, für jeden, der das Projekt klont. Die globale Datei unter ~/.config/git/ignore gilt nur auf deinem Computer.
Reicht es, die Datei zu löschen?
Nein. Laut Apiiro können Geheimnisse selbst dann in Forks des ursprünglichen Projekts bestehen bleiben, wenn die Dateien entdeckt und aus einem Repository entfernt wurden, sofern niemand aufpasst.
Die Dokumentation von GitHub weist außerdem darauf hin, dass eine bereits verfolgte Datei zuerst mit git rm --cached DATEINAME aus der Verfolgung genommen werden muss. Erst danach greift die Ausschlussregel. Eine Zeile in der .gitignore hinzuzufügen löscht nicht, was bereits in der Historie steht. Deshalb gilt – Wenn eine Zugangsdaten online gelandet ist, muss man sie als kompromittiert betrachten und ersetzen.
Grenzen, die du kennen solltest
Die Zahlen stammen aus der Analyse von Apiiro, über die Ars Technica berichtet, und wir haben die Daten nicht selbst überprüft. Wir wissen nicht, wie viele der gefundenen Zugangsdaten noch gültig waren oder ob Dritte sie benutzt haben. In den Quellen fehlt eine Stellungnahme von Anthropic dazu, ob das Verhalten von Claude Code geändert wird. Das Bild könnte sich ändern, falls das Unternehmen eingreift, wie genehmigte Befehle gespeichert werden.
Was sich für alle ändert, die digital arbeiten
Wenn du Claude Code nutzt, prüfe sofort, ob .claude/settings.local.json in einem Repository verfolgt wird, auch in einem privaten. Ein privates Projekt kann öffentlich werden oder anderswo geklont werden. Füge die Datei der .gitignore des Projekts hinzu und committe sie, damit die Regel für alle gilt. Um Dateien nur auf deinem eigenen Klon auszuschließen, nennt GitHub .git/info/exclude.
Dazu kommt die Gewohnheit, Passwörter direkt in Befehle zu schreiben. Besser sind Umgebungsvariablen oder ein Geheimnis-Manager. In Unternehmen lohnt sich außerdem eine automatische Geheimnisprüfung vor jedem Push.
Unsere Einschätzung
Der Fall zeigt eine Schwäche im Projektaufbau und nicht nur eine Unachtsamkeit der Nutzer. Eine Datei, die Zugangsdaten enthalten kann, sollte dort ausgeschlossen werden, wo es zählt, nämlich im Repository und nicht nur in der persönlichen Konfiguration. Alles dem Nutzer zu überlassen funktioniert schlecht, besonders wenn das Werkzeug Commits selbstständig erstellt. Trotzdem bleibt auch eine eigene Verantwortung. Ein Befehl mit einem Klartext-Passwort ist eine Gewohnheit, die man ablegen sollte, mit oder ohne KI-Assistenten. Die Geschwindigkeit, die solche Werkzeuge versprechen, macht Disziplin im Umgang mit Geheimnissen eher wichtiger als unwichtiger.
Häufige Fragen
Welche Datei von Claude Code enthält die Geheimnisse?
Es ist die Datei .claude/settings.local.json. Sie speichert die Regeln, die entstehen, wenn du einen Befehl mit «Ja, und nicht mehr fragen» genehmigst. Manchmal wird der Befehl vollständig geschrieben, mitsamt den Zugangsdaten.
Wie viele exponierte Dateien hat Apiiro gefunden?
Über 100.000 Dateien, die in öffentlichen GitHub-Repositories hochgeladen wurden. Rund 1.100 davon, aus 63 Organisationen, enthielten Geheimnisse wie API-Token, Datenbankpasswörter oder private Schlüssel.
Schützt die globale .gitignore vor dem Problem?
Nur teilweise. Sie gilt auf deinem Computer, aber nicht im Repository. Wenn das Projekt anderswo geklont wird oder ein Ordner später zum Repository wird, kann die Datei trotzdem im Commit landen.
Entfernt das Löschen der Datei aus dem Repository die Geheimnisse?
Nein. Laut Apiiro können Geheimnisse in Forks des Projekts erhalten bleiben. Wurde eine Zugangsdaten veröffentlicht, gilt sie als kompromittiert und muss ersetzt werden.
Wie schließe ich eine Datei aus, die Git bereits verfolgt?
Entferne sie zuerst mit git rm --cached DATEINAME aus der Verfolgung. Danach fügst du die Regel in die .gitignore ein. Ohne den ersten Schritt wirkt die Regel auf die bereits verfolgte Datei nicht.
Worauf du in den kommenden Monaten bei der Sicherheit von Claude Code achten solltest
Entscheidend ist, ob Anthropic die Art ändert, wie genehmigte Befehle gespeichert werden. Bis dahin lohnt es sich, die Updates des Werkzeugs im Blick zu behalten.
- Lies die Release-Notes von Claude Code, um zu sehen, ob sich der Umgang mit settings.local.json ändert, beginnend mit unserem Artikel zur Version 2.1.319.
- Suche in der Historie deiner Repositories nach bereits committeten .claude-Dateien und tausche die Zugangsdaten aus, die dabei auftauchen.
- Überprüfe deine Schutzregeln für Branches mit unserer Anleitung zu Pull Requests auf GitHub.




