fix(log): HuggingFace-Token und andere Geheimnisse nicht mehr im Klartext im Log
Die Bridge schrieb beim Config-Broadcast den kompletten Payload ins Log, inklusive huggingfaceToken. Jetzt werden Werte von Schluesseln wie token, secret, passw, apikey, credential als *** ausgegeben (Zaehler wie maxTokens bleiben sichtbar). Dasselbe fuer das Debug-Log der RVS-Nachrichten in der Diagnostic. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -658,6 +658,13 @@ function nextReqId() {
|
||||
return `diag-${++reqIdCounter}`;
|
||||
}
|
||||
|
||||
// JSON.stringify-Replacer fuer Log-Zeilen: Werte von Geheimnis-Schluesseln
|
||||
// (HF-Token, Passwoerter, API-Keys) kommen nie ins Log.
|
||||
const SECRET_KEY_RE = /token(?!s)|secret|passw|apikey|api_key|credential/i;
|
||||
function redactSecrets(key, value) {
|
||||
return key && value && SECRET_KEY_RE.test(key) && typeof value !== "object" ? "***" : value;
|
||||
}
|
||||
|
||||
function log(level, source, message) {
|
||||
const entry = { ts: new Date().toISOString(), level, source, message };
|
||||
logs.push(entry);
|
||||
@@ -1460,7 +1467,7 @@ function connectRVS(forcePlain) {
|
||||
// PCM-Chunks einer laufenden Voice-Preview — sammeln + WAV bauen
|
||||
_handlePreviewChunk(msg.payload);
|
||||
} else {
|
||||
log("debug", "rvs", `Nachricht: ${JSON.stringify(msg).slice(0, 150)}`);
|
||||
log("debug", "rvs", `Nachricht: ${JSON.stringify(msg, redactSecrets).slice(0, 150)}`);
|
||||
}
|
||||
} catch {}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user