Skip to content

Commit a3bb208

Browse files
authored
fix: should not contain plaintext token in log message. (#2462)
Signed-off-by: ashing <[email protected]>
1 parent 1e1b8bc commit a3bb208

File tree

2 files changed

+28
-1
lines changed

2 files changed

+28
-1
lines changed

internal/provider/adc/adc.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,20 @@ type adcConfig struct {
5151
TlsVerify bool
5252
}
5353

54+
// MarshalJSON implements custom JSON marshaling for adcConfig
55+
// It excludes the Token field for security reasons
56+
func (c adcConfig) MarshalJSON() ([]byte, error) {
57+
return json.Marshal(struct {
58+
Name string `json:"name"`
59+
ServerAddrs []string `json:"serverAddrs"`
60+
TlsVerify bool `json:"tlsVerify"`
61+
}{
62+
Name: c.Name,
63+
ServerAddrs: c.ServerAddrs,
64+
TlsVerify: c.TlsVerify,
65+
})
66+
}
67+
5468
type BackendMode string
5569

5670
const (

internal/provider/adc/executor.go

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ func (e *DefaultADCExecutor) runForSingleServer(ctx context.Context, serverAddr,
100100

101101
log.Debugw("running adc command",
102102
zap.String("command", strings.Join(cmd.Args, " ")),
103-
zap.Strings("env", env),
103+
zap.Strings("env", filterSensitiveEnv(env)),
104104
)
105105

106106
if err := cmd.Run(); err != nil {
@@ -138,6 +138,19 @@ func (e *DefaultADCExecutor) prepareEnv(serverAddr, mode, token string) []string
138138
}
139139
}
140140

141+
// filterSensitiveEnv filters out sensitive information from environment variables for logging
142+
func filterSensitiveEnv(env []string) []string {
143+
filtered := make([]string, 0, len(env))
144+
for _, envVar := range env {
145+
if strings.Contains(envVar, "ADC_TOKEN=") {
146+
filtered = append(filtered, "ADC_TOKEN=***")
147+
} else {
148+
filtered = append(filtered, envVar)
149+
}
150+
}
151+
return filtered
152+
}
153+
141154
func (e *DefaultADCExecutor) buildCmdError(runErr error, stdout, stderr []byte) error {
142155
errMsg := string(stderr)
143156
if errMsg == "" {

0 commit comments

Comments
 (0)