From b26e96c5a241d14c3bab850d0efff56c1efaec04 Mon Sep 17 00:00:00 2001 From: Sheen Capadngan Date: Tue, 21 May 2024 23:04:11 +0800 Subject: [PATCH] misc: added logger redaction --- backend/src/lib/logger/logger.ts | 35 +++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/backend/src/lib/logger/logger.ts b/backend/src/lib/logger/logger.ts index c124fcf4c..5d1a63fc8 100644 --- a/backend/src/lib/logger/logger.ts +++ b/backend/src/lib/logger/logger.ts @@ -30,6 +30,37 @@ const loggerConfig = z.object({ NODE_ENV: z.enum(["development", "test", "production"]).default("production") }); +const redactedKeys = [ + "accessToken", + "authToken", + "serviceToken", + "identityAccessToken", + "token", + "privateKey", + "serverPrivateKey", + "plainPrivateKey", + "plainProjectKey", + "encryptedPrivateKey", + "userPrivateKey", + "protectedKey", + "decryptKey", + "encryptedProjectKey", + "encryptedSymmetricKey", + "encryptedPrivateKey", + "backupPrivateKey", + "secretKey", + "SecretKey", + "botPrivateKey", + "encryptedKey", + "plaintextProjectKey", + "accessKey", + "botKey", + "decryptedSecret", + "secrets", + "key", + "password" +]; + export const initLogger = async () => { const cfg = loggerConfig.parse(process.env); const targets: pino.TransportMultiOptions["targets"][number][] = [ @@ -74,7 +105,9 @@ export const initLogger = async () => { hostname: bindings.hostname // node_version: process.version }) - } + }, + // redact until depth of three + redact: [...redactedKeys, ...redactedKeys.map((key) => `*.${key}`), ...redactedKeys.map((key) => `*.*.${key}`)] }, // eslint-disable-next-line @typescript-eslint/no-unsafe-argument transport