Claude Code: Ein Klick legt Passwörter und API-Schlüssel offen : Gespeicherte Befehlsfreigaben verraten Zugangsdaten – 1.122 Dateien auf GitHub betroffen
Eine Komfortfunktion des KI-Programmierassistenten Claude Code kann Passwörter und Schlüssel für Programmierschnittstellen (API) unbemerkt in Projektdateien speichern. Mehr als 1.100 öffentlich zugängliche Dateien sind betroffen. Auch Löschen beseitigt das Risiko nicht.
Eine dauerhafte Freigabe kann Zugangsdaten offenlegen: Claude Code speichert Shell-Befehle mit Passwörtern und Tokens. In öffentlichen Repositories sind solche Einträge frei lesbar. Vor Shell-Befehlen fordert Claude Code oft Zustimmung. Die Option „Yes, and don’t ask again“ speichert laut Berechtigungsdokumentation eine allow-Regel in .claude/settings.local.json, ohne weitere Rückfrage. Die Regel enthält entweder ein Muster oder den vollständigen Befehl. Steht darin beispielsweise ein Passwort hinter mysql -p oder PGPASSWORD=, landet es im Klartext in der Datei im Format JavaScript Object Notation (JSON). Apiiro bestätigte das mit Opus 5.5 und Fable 5.1. Die Ursache liegt in der Berechtigungsverwaltung, nicht im Sprachmodell.
Warum der Git-Schutz nicht ausreicht
Eigentlich soll die Datei nur auf dem Rechner des Entwicklers gespeichert bleiben und nicht auf GitHub gelangen. Dafür trägt Claude Code sie laut Konfigurationsdokumentation in eine lokale Ausschlussliste von Git ein. Diese verhindert, dass die Datei versehentlich in ein Repository aufgenommen wird. Der Schutz gilt allerdings nur für den jeweiligen Rechner, nicht für das gesamte Projekt. Wer das Projekt auf einem anderen Rechner bearbeitet oder eine Kopie davon erstellt, übernimmt diese Ausschlussregel nicht automatisch. Außerdem schützt sie keine Dateien, die bereits zuvor in Git gespeichert wurden.
Wie leicht die Datei dennoch in die Versionsverwaltung gelangt, zeigen die Untersuchungen von Apiiro: In 539 von 1.105 betroffenen Repositories fanden sich Änderungen an der Datei in Commits, bei denen Claude als Mitautor aufgeführt war. Das deutet darauf hin, dass der KI-Assistent häufig selbst an der Veröffentlichung beteiligt war. Wer die jeweiligen Commits tatsächlich auslöste, lässt sich daraus allerdings nicht ableiten.
2.539 Geheimnisse in öffentlichen Repositories
Apiiro ermittelte in seiner Untersuchung Anfang November 2026 auf GitHub 104.185 Kopien der lokalen Einstellungsdatei in 103.617 Repositories. 1.122 Dateien (1,1 Prozent) enthielten 1.379 unterschiedliche Geheimnisse: 636 Schlüssel mit erkennbaren Anbieterformaten und 743 Passwörter oder Tokens für öffentliche Server.
Darunter waren 379 Datenbankpasswörter, 122 Supabase-Service-Role-Schlüssel, 103 Supabase-Kontotokens, 43 Zugänge über Secure Shell (SSH), 42 GitHub-, GitLab- und npm-Tokens, 23 Schlüssel für Amazon Web Services (AWS) und sechs private Schlüssel. 63 Organisationen sind betroffen, darunter ein Datenbankanbieter mit privilegiertem Cloud-Schlüssel und ein IT-Dienstleister mit dem Eigentümerpasswort einer Patientenakten-Datenbank.
Die Einstufung nutzte Schlüsselformate, öffentliche Hostadressen und eine automatisierte Kontrolle. Ob die Daten noch gültig sind oder missbraucht wurden, wurde nicht getestet. Ein benachrichtigtes Unternehmen bestätigte allerdings einen zuvor aktiven Schlüssel.
Selbst gelöschte Dateien bleiben gefährlich
Am 2. November waren sämtliche betroffenen Dateien weiterhin in den aktuellen Versionen der jeweiligen GitHub-Repositories öffentlich zugänglich. Bei der Hälfte war das bereits seit mindestens 217 Tagen der Fall. Besonders problematisch: Das Löschen einer Datei beseitigt die Gefahr nicht. Ältere Versionen bleiben in der Git-Versionshistorie erhalten. Dort entdeckte Apiiro 734 weitere Zugangsdaten in 509 Repositories, die in den aktuellen Dateien nicht mehr vorhanden waren. Hinzu kommen 211 Kopien (Forks) von 74 Projekten, über die dieselben Geheimnisse zusätzlich verbreitet wurden.
Das Problem beschränkt sich nicht auf lokale Konfigurationsdateien. Auch die für die gemeinsame Nutzung im Team vorgesehene Datei .claude/settings.json enthielt in 298 von 76.011 untersuchten Fällen vertrauliche Zugangsdaten. Unter Berücksichtigung älterer Dateiversionen und gespeicherter Unterhaltungen mit KI-Agenten identifizierte Apiiro insgesamt 2.539 unterschiedliche Geheimnisse in 1.994 öffentlichen Repositories.
Warum Geheimnisscanner versagen
Von 1.122 belasteten Dateien erkannten gitleaks nur 564, TruffleHog643; 215 entgingen beiden. Die Werkzeuge finden typische API-Schlüsselformate, übersehen jedoch oft Passwörter innerhalb gewöhnlicher Befehlszeilen, etwa nach sshpass -p, mysql -p oder PGPASSWORD=. Gefährdet sind auch lokale Rechner, synchronisierte Ordner, ZIP-Dateien, npm-Pakete und Docker-Images. Der Shai-Hulud-Wurm nutzte 2025 bereits TruffleHog, um auf infizierten Systemen Geheimnisse zu suchen.
Die wichtigesten Schutzmaßnahmen für Entwickler sind:
- Bestand prüfen: Auf GitHub beide Dateien (.claude/settings.local.json und .claude/settings.json) einschließlich der Git-Historie suchen.
- Zugangsdaten sofort rotieren: Alle jemals enthaltenen Passwörter, Schlüssel und Tokens zuerst austauschen oder widerrufen.
- Tracking beenden: git rm –cached .claude/settings.local.json ausführen und den Pfad in der projektbezogenen .gitignore hinterlegen.
- Lokale Regeln bereinigen: Auch nie veröffentlichte Dateien auf Klartextgeheimnisse kontrollieren.
- Variablen verwenden: Geheimnisse über einen Secrets-Manager bereitstellen und im Befehl nur etwa $DB_URL referenzieren.
- Befehlsmuster freigeben: Wo vertretbar Bash(npm run:*) statt vollständiger Einzelbefehle zulassen.
Sicherheitsteams sollten außerdem:
- Agentenverzeichnisse .claude/, .cursor/, .gemini/, .specstory/ und Gedächtnisdateien wie .env als sensible Datenquellen behandeln.
- Pre-Commit-Scans und Prüfungen der Continuous Integration (CI) auf diese Dateien, die Versionshistorie und Passwörter innerhalb von Befehlszeilen erweitern.
- Zentrale .gitignore-Vorlagen um .claude/settings.local.json ergänzen.
- Zugänge zu öffentlichen Servern bei der Bereinigung priorisieren.
Anthropic reagiert auf die Funde
Das Problem ist Anthropic bereits seit längerer Zeit bekannt. Schon im August 2025 machte ein Fehlerbericht auf GitHub darauf aufmerksam, dass Claude Code Passwörter und API-Schlüssel unverschlüsselt in Konfigurationsdateien speichert. Der Bericht wurde jedoch im Januar 2026 automatisch geschlossen, ohne dass eine Lösung dokumentiert wurde.
Am 7. November 2026 räumte Boris Cherny, Leiter von Claude Code, öffentlich ein, dass der Assistent bislang keine vertraulichen Zugangsdaten automatisch aus gespeicherten Befehlen entfernt. Anthropic prüfe nun, wie sich eine automatische Erkennung solcher Geheimnisse integrieren und die dauerhafte Freigabe von Befehlen sicherer gestalten lasse. Eine konkrete Fehlerbehebung wurde bislang nicht bestätigt.
Konfigurationsdateien von KI-Agenten gehören damit zur sicherheitsrelevanten Entwicklungsumgebung. Quellcode-Scans allein genügen nicht.
