Skip to content

Commit 0b87b1a

Browse files
ronethingdspo
authored andcommitted
fix: should not contain plaintext token in log message. (#2462)
Signed-off-by: ashing <[email protected]> (cherry picked from commit a3bb208)
1 parent dcf0484 commit 0b87b1a

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
@@ -52,6 +52,20 @@ type adcConfig struct {
5252
TlsVerify bool
5353
}
5454

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

5771
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)