Mit dem Anstieg der Beliebtheit von KI-Assistenten haben Entwickler zunehmend Fälle von Lecks in öffentlichen Git-Repositories vertraulicher Daten festgestellt, die sich unter den Informationen befinden, die von KI-Tools im Arbeitsbaum des Projekts gespeichert werden. Die KI-Assistenten 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 die Verlaufshistorie von Operationen und Kontextdaten gespeichert werden können.
In die von KI-Assistenten gespeicherten Dateien können API-Zugangsschlüssel, Verbindungszeichenfolgen zur Datenbank, Links zu internen Ressourcen und Anmeldeinformationen für Cloud-Umgebungen gelangen, die der KI-Assistent im Zuge der Ausführung von Anweisungen nach der Arbeit mit lokalen Einstellungen oder in einem projektbezogenen Kontext erhalten hat. Für den Entwickler ist das Vorhandensein solcher Daten in der Dateihierarchie des Projekts nicht offensichtlich, daher vergessen viele, die von den KI-Assistenten erstellten Verzeichnisse in die .gitignore-Datei einzutragen, und verschieben sie nach der Veröffentlichung von Änderungen in ein öffentliches Git-Repository.
Zur Auffindung solcher Lecks in öffentlichen Repositories auf GitHub wurde das Tool claudleak entwickelt. Ein Test-Scan von GitHub ergab, dass etwa 2,4 % der Repositories, die Unterverzeichnisse mit Konfigurationen von KI-Assistenten enthalten, aktuelle Schlüssel oder Anmeldeinformationen enthalten, deren Aktivität durch eine separate Überprüfung bestätigt wurde. Der Autor des Tools stieß auf das Problem, als er die Datei „.claude/settings.local.json“ in seinem Repository entdeckte, in der unter den Informationen Zugangsschlüssel und Passwörter enthalten waren, die über Umgebungsvariablen übermittelt wurden.
Entwicklern, die KI-Assistenten verwenden, wird empfohlen, die Verzeichnisse .claude/, .cursor/, .continue/, .copilot/ und .aider/ in die .gitignore-Datei aufzunehmen und deren Ignorierung über einen globalen Filter mit dem Befehl „git config —global core.excludesfile datei_mit_liste“ einzurichten.
Quelle: opennet.ru
