~/ / KI-Artikel / 2,117 gültige Secrets in öffentlichen MCP-Konfigurationsdateien: Was GitGuardian gefunden hat und wie Sie Ihre prüfen
2,117 gültige Secrets in öffentlichen MCP-Konfigurationsdateien: Was GitGuardian gefunden hat und wie Sie Ihre prüfen
Eine Konfigurationsdatei, die einer KI-Anwendung sagt, welche MCP-Server sie starten soll, braucht oft einen Schlüssel. Der Bericht State of Secrets Sprawl 2026 von GitGuardian zählte auf öffentlichem GitHub 24,008 eindeutige Secrets in MCP-bezogenen Konfigurationsdateien, von denen 2,117 gültige Zugangsdaten waren. Dieser Artikel fasst den Bericht zusammen, erklärt, was die Dokumentation von Claude Code zu Konfigurationsdateien von Projekten sagt, und lässt Sie Ihre eigene Datei prüfen.
Veröffentlicht: · Gegen die offiziellen Quellen geprüft am 2026-10-24. Dieser Artikel fasst sie zusammen und ersetzt sie nicht.
Was der Bericht gefunden hat
- GitGuardian veröffentlichte seinen Bericht State of Secrets Sprawl 2026 am 17. März 2026. Die Daten stammen aus dem Jahr 2025.
- Er zählte 24,008 eindeutige Secrets, die in MCP-bezogenen Konfigurationsdateien auf öffentlichem GitHub offengelegt waren, darunter 2,117 eindeutige gültige Zugangsdaten.
- Allein im Jahr 2025 wurden den öffentlichen GitHub-Commits 28.65 Millionen neue fest eingetragene Secrets hinzugefügt, was der Bericht als Anstieg von 34% gegenüber dem Vorjahr bezeichnet.
- Secrets für KI-Dienste erreichten 1,275,105, ein Plus von 81% gegenüber dem Vorjahr.
- Der Bericht sagt, das Problem werde oft von der Dokumentation selbst angetrieben, die unsichere Muster fördere: API-Schlüssel direkt in Konfigurationsdateien, Kommandozeilenargumente oder eingebettete Verbindungszeichenfolgen zu schreiben.
Warum die MCP-Datei eines Projekts leicht zum Leck wird
Claude Code speichert MCP-Server mit Projektbezug in einer Datei .mcp.json im Stammverzeichnis des Projekts, und seine Dokumentation beschreibt diese Datei als über die Versionsverwaltung geteilt. Ein dort eingetragener Schlüssel ist für jeden sichtbar, der das Repository lesen kann.
| Geltungsbereich | Wo es gespeichert ist | Wer es sieht |
|---|---|---|
| Lokal | ~/.claude.json, unter dem Pfad des Projekts | Das aktuelle Projekt, privat für Sie |
| Projekt | .mcp.json im Projektstamm | Das aktuelle Projekt, über die Versionsverwaltung geteilt |
| Benutzer | ~/.claude.json | Alle Ihre Projekte |
Halten Sie den Schlüssel aus der Datei heraus
- Claude Code erweitert ${VAR} und ${VAR:-default} in command, args, env, url und headers, sodass die Datei eine Variable nennen kann, statt den Wert zu enthalten. Das Beispiel der Dokumentation selbst schreibt einen Header als Authorization: Bearer ${API_KEY}.
- Ist eine Variable nicht gesetzt und hat keinen Standardwert, wird die Konfiguration trotzdem geladen. Claude Code zeigt eine Warnung und verwendet den Text ${VAR} so, wie er geschrieben ist.
- In url und headers eines Remote-Servers werden manche Variablen für Zugangsdaten als leer gelesen, auch wenn sie gesetzt sind. Die Dokumentation nennt ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN, AWS_BEARER_TOKEN_BEDROCK, HTTPS_PROXY und NPM_TOKEN als Beispiele und sagt, dass eine Variable namens API_KEY wie geschrieben erweitert wird.
- Ein Wert, der in args oder url steht, wird ebenfalls in der Datei gespeichert, daher gilt die Warnung des Berichts zu Kommandozeilenargumenten und eingebetteten Verbindungszeichenfolgen auch dort.
Prüfen Sie Ihre Datei
Der folgende Checker liest in Ihrem Browser eine .mcp.json oder claude_desktop_config.json. Er markiert Werte, die wie Secrets aussehen und in args, env und headers eingetragen sind, mit denselben Erkennungsregeln wie der Prompt Redactor, sowie Variablenverweise, die Claude Code als leer liest. Die Erkennung ist eine Heuristik, sie kann also ein Secret übersehen oder einen harmlosen Wert markieren.
Jetzt ausprobieren: MCP Config Checker
Regeln geprüft anhand der Dokumentation am 2026-10-23.
Dokumentation: Claude Code / Model Context Protocol / VS Code
Nicht geprüft: ob ein Befehl existiert, ob sich ein Paket installieren lässt, ob ein entfernter Server antwortet, und Einstellungen, die andere Anwendungen anders lesen.
Alles läuft in Ihrem Browser. Die Konfiguration wird nicht hochgeladen.
Bevor Sie eine Konfiguration in einen KI-Chat einfügen
Oft fügen Leute eine Konfigurationsdatei in einen KI-Chat ein, um zu fragen, warum ein Server nicht startet. Der Prompt Redactor maskiert API-Schlüssel, Tokens, Passwörter und personenbezogene Daten im Text und kann sie in der Antwort wiederherstellen, alles in Ihrem Browser.
Jetzt ausprobieren: Prompt Redactor
Maskierter Text
Der maskierte Text erscheint hier.
Das Tool findet Text mit erkennbarer Form. Vertrauliche Informationen in normalen Sätzen findet es nicht, ein fehlender Fund bedeutet also nicht, dass etwas unbedenklich ist.
Lesen Sie den maskierten Text durch, bevor Sie ihn senden.
Die Schlüsselformate wurden am 2026-10-23 mit der Dokumentation der Anbieter und mit RFCs abgeglichen.
Alles läuft in Ihrem Browser. Weder Ihr Text noch die Wiederherstellungstabelle wird hochgeladen.
Wenn ein Secret bereits committet wurde
- Laut der Dokumentation von GitHub besteht der erste Schritt darin, das Secret zu widerrufen oder zu rotieren, damit es nicht mehr für den Zugriff verwendet werden kann.
- Nach dem Rotieren ist es womöglich nicht nötig, den Verlauf des Repositorys umzuschreiben, denn das Widerrufen des Secrets kann zur Lösung des Problems genügen.
- Wenn der Commit in Forks vorhanden ist, bleibt er dort zugänglich. GitHub kann Ihnen die Kontaktdaten der Fork-Besitzer nicht nennen.
- Commits können über ihre SHA-1-Hashes in zwischengespeicherten Ansichten auf GitHub erreichbar bleiben. Der GitHub Support kann zwischengespeicherte Ansichten und Verweise für sensible Daten entfernen, deren Risiko sich durch das Rotieren von Zugangsdaten nicht verringern lässt.