From b7fe4ebb91e1475bfb69e3a91ba0f20e41a0ad36 Mon Sep 17 00:00:00 2001 From: Lucas Armand Date: Fri, 7 Nov 2025 10:02:39 -0800 Subject: [PATCH 1/2] Obfuscate mtoken in logs --- lib/metrics.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/metrics.py b/lib/metrics.py index 93b166d..6fb0fce 100644 --- a/lib/metrics.py +++ b/lib/metrics.py @@ -234,17 +234,25 @@ class Metrics: async def send_data(report_addr: str) -> bool: data = compute_autoscaler_data() - full_path = report_addr.rstrip("/") + "/worker_status/" + log_data = asdict(data) + def obfuscate(secret: str) -> str: + if secret is None: + return "" + return secret[:7] if len(secret) > 7 else ("*" * len(secret)) + + log_data["mtoken"] = obfuscate(log_data.get("mtoken")) log.debug( "\n".join( [ "#" * 60, f"sending data to autoscaler", - f"{json.dumps((asdict(data)), indent=2)}", + f"{json.dumps(log_data, indent=2)}", "#" * 60, ] ) ) + + full_path = report_addr.rstrip("/") + "/worker_status/" for attempt in range(1, 4): try: session = await self.http() From c6521cb6d4d300243193e153e71c68fe1a4bec57 Mon Sep 17 00:00:00 2001 From: Lucas Armand Date: Fri, 7 Nov 2025 10:10:35 -0800 Subject: [PATCH 2/2] add ... --- lib/metrics.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/metrics.py b/lib/metrics.py index 6fb0fce..48774fe 100644 --- a/lib/metrics.py +++ b/lib/metrics.py @@ -238,7 +238,7 @@ class Metrics: def obfuscate(secret: str) -> str: if secret is None: return "" - return secret[:7] if len(secret) > 7 else ("*" * len(secret)) + return secret[:7] + "..." if len(secret) > 7 else ("*" * len(secret)) log_data["mtoken"] = obfuscate(log_data.get("mtoken")) log.debug(