[WARNING · DIESE WOCHE PRÜFEN]/Meldungen·

„Don't ask again“ in Claude Code schreibt Zugangsdaten in eine Datei, die in Git landet – prüfen Sie Ihre Repositories

Die Sicherheitsfirma Apiiro berichtete am 7. November, dass Claude Code jeden Befehl, den ein Nutzer mit „Yes, and don't ask again“ freigibt, wörtlich samt darin enthaltener Zugangsdaten – auch solcher, die aus einer Konfigurationsdatei stammen – in .claude/settings.local.json speichert, eine Datei, die regelmäßig in Git landet. In dieser Datei, ihrer Historie und weiteren Agent-Dateien zählte Apiiro 2.539 echte Zugangsdaten in 1.994 öffentlichen GitHub-Repositories.

Betroffen claude-code git github

Betrifft Sie das?

  • Betroffen: Unternehmen, in denen ein Entwickler, ein externer IT-Dienstleister oder ein Kollege, der KI ausprobiert, Claude Code in Projekten nutzt, die mit Datenbanken, Cloud-Konten oder Servern arbeiten. Eine Datei, die nie in Git landet, liegt trotzdem unverschlüsselt als JSON-Datei auf Laptops.
  • Nicht betroffen, wenn: niemand im Unternehmen Claude Code nutzt. Von 16 Coding-Agenten, die Apiiro anhand ihrer Dokumentation verglichen hat, ist nur bei Claude Code bestätigt, dass es das standardmäßig tut; Apiiro rät dennoch, die Ordner .cursor/, .gemini/ und .specstory/ wie .env zu behandeln.

Was zu tun ist

  • Durchsuchen Sie Ihre GitHub-Organisation nach .claude/settings.local.json und .claude/settings.json, auch in der Historie jedes Repositorys: Eine gelöschte Datei lebt in alten Commits, Forks und Klonen weiter.
  • Tauschen Sie zuerst alle Zugangsdaten aus, die die Datei je enthalten hat, und räumen Sie erst danach auf. Aus unserer Sicht sollten Sie auch die Logs jedes Dienstes rückwirkend bis zum ersten Commit der Datei prüfen.
  • Wird die Datei versioniert, führen Sie git rm --cached .claude/settings.local.json aus und tragen Sie sie in die eigene .gitignore des Repositorys ein.
  • Öffnen Sie auf Laptops die Datei, auch wenn sie nie committet wurde, und löschen Sie jede Regel, die Zugangsdaten enthält.
  • Fragen Sie Ihren externen IT-Dienstleister schriftlich, ob er diese Datei geprüft hat.
  • Bitten Sie die Nutzer von Claude Code, Zugangsdaten über Variablen ($DB_URL) zu referenzieren, statt sie einzutippen, und Muster wie Bash(npm run:*) statt einzelner wörtlicher Befehle freizugeben.
  • Wenn Ihre CI nach Zugangsdaten sucht, beziehen Sie die Historie und Passwörter innerhalb von Befehlen (PGPASSWORD=, sshpass -p) ein: 215 der 1.122 Dateien mit echten Zugangsdaten erkannten weder gitleaks noch TruffleHog.

Was wir wissen – und was nicht

  • 1.122 der 104.185 öffentlichen Kopien der Datei auf GitHub enthalten echte Zugangsdaten.
  • Claude Code trägt die Datei in die globale Git-Ignore-Liste des Entwicklers ein, was laut Apiiro den üblichen Fall abdeckt, nicht aber in die .gitignore des Repositorys: Ein Ordner, der erst später zum Repository wird, oder ein Klon auf einem anderen Rechner ist ungeschützt.
  • „Echte Zugangsdaten“ heißt: ein Schlüssel in einem bekannten Format oder ein Passwort zusammen mit einem öffentlich erreichbaren Host; Apiiro hat keine davon getestet. Von den 63 Organisationen, die Apiiro am 2. und 3. November benachrichtigte, bestätigte eine, dass ihr Schlüssel gültig gewesen war.
  • Laut Apiiro hat Anthropic auf keine der Meldungen geantwortet, die Nutzer seit August 2025 auf GitHub eingereicht haben. Eine Stellungnahme oder einen Fix von Anthropic haben wir nicht gesehen.

Warum es wichtig ist

Kaum jemand prüft eine Einstellungsdatei, die er nie selbst geschrieben hat. Aus unserer Sicht verdienen die Einstellungen eines Agenten dieselbe Sorgfalt wie eine .env-Datei, im Repository wie auf dem Laptop.

Quellen