From cf1bdc0fcb278e946bd39d240b88935128708bb0 Mon Sep 17 00:00:00 2001 From: Steve Willoughby Date: Wed, 1 Dec 2021 17:36:43 -0800 Subject: [PATCH 1/2] scrub license keys from all log messages --- v3/internal/logger/logger.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/v3/internal/logger/logger.go b/v3/internal/logger/logger.go index f5f13212d..708603f57 100644 --- a/v3/internal/logger/logger.go +++ b/v3/internal/logger/logger.go @@ -9,6 +9,7 @@ import ( "io" "log" "os" + "regexp" ) // Logger matches newrelic.Logger to allow implementations to be passed to @@ -72,8 +73,11 @@ func (f *logFile) fire(level, msg string, ctx map[string]interface{}) { msg, ctx, }) - if nil == err { - f.l.Print(string(js)) + if err == nil { + // scrub license keys from any portion of the log message + re := regexp.MustCompile(`license_key=[a-fA-F0-9]+`) + sanitized := re.ReplaceAllLiteralString(string(js), "license_key=[redacted]") + f.l.Print(sanitized) } else { f.l.Printf("unable to marshal log entry: %v", err) } From f04fba29b436bae2f69c1087a2355f246d30c0d3 Mon Sep 17 00:00:00 2001 From: Steve Willoughby Date: Thu, 2 Dec 2021 10:15:11 -0800 Subject: [PATCH 2/2] adjusted redaction regexp to include dots so it plays better with the earlier redaction code --- v3/internal/logger/logger.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/v3/internal/logger/logger.go b/v3/internal/logger/logger.go index 708603f57..cdcb7c4db 100644 --- a/v3/internal/logger/logger.go +++ b/v3/internal/logger/logger.go @@ -75,7 +75,7 @@ func (f *logFile) fire(level, msg string, ctx map[string]interface{}) { }) if err == nil { // scrub license keys from any portion of the log message - re := regexp.MustCompile(`license_key=[a-fA-F0-9]+`) + re := regexp.MustCompile(`license_key=[a-fA-F0-9.]+`) sanitized := re.ReplaceAllLiteralString(string(js), "license_key=[redacted]") f.l.Print(sanitized) } else {