Mit der wachsenden Popularität von KI-Assistenten kommt es bei Entwicklern vermehrt zu Fällen, in denen vertrauliche Daten in öffentlichen Git-Repositories geleakt werden. Diese Daten finden sich oft in den Informationen, die KI-Tools im Arbeitsverzeichnis des Projekts speichern. KI-Assistenten wie Claude Code, Cursor, Continue, Aider, OpenAI Codex, Copilot, Sourcegraph Cody und Amazon Q erstellen im Stammverzeichnis des Projekts lokale Konfigurationsdateien und Verzeichnisse, in denen unter anderem Verlauf und Kontextdaten gespeichert werden können.
In die von KI-Assistenten gespeicherten Dateien können API-Zugangsschlüssel, Verbindungsstrings zu Datenbanken, Links zu internen Ressourcen und Anmeldeinformationen für Cloud-Umgebungen gelangen, die der KI-Assistent während der Ausführung von Anweisungen, nach der Arbeit mit lokalen Einstellungen oder im projektbezogenen Kontext erlangt hat. Für den Entwickler ist es nicht offensichtlich, dass solche Daten in der Dateihierarchie des Projekts abgelagert werden. Daher vergessen viele, die von den KI-Assistenten erstellten Verzeichnisse in die Datei .gitignore aufzunehmen, und übertragen sie nach der Veröffentlichung von Änderungen in ein öffentliches Git-Repository.
Um solche Leaks in öffentlichen Repositories auf GitHub zu identifizieren, wurde das Tool claudleak entwickelt. Ein Test-Scan von GitHub hat gezeigt, dass etwa 2,4 % der Repositories, die Unterverzeichnisse mit Einstellungen zu AI-Assistenten enthalten, aktuelle Schlüssel oder Anmeldeinformationen enthalten, deren Gültigkeit durch eine separate Überprüfung bestätigt wurde. Der Autor des Tools stieß auf ein Problem, als er die Datei «.claude/settings.local.json» in seinem Repository entdeckte, in der unter einer Vielzahl von Informationen Zugangsschlüssel und Passwörter, die über Umgebungsvariablen übermittelt wurden, aufgeführt waren.
Entwicklern, die AI-Assistenten verwenden, wird empfohlen, die Verzeichnisse .claude/, .cursor/, .continue/, .copilot/ und .aider/ in die Datei .gitignore aufzunehmen und deren Ignorierung über einen globalen Filter mit dem Befehl „git config —global core.excludesfile datei_mit_liste“ zu konfigurieren.
Quelle: opennet.ru
