Skip to content
This repository was archived by the owner on Mar 16, 2024. It is now read-only.

Commit 11b7b50

Browse files
authored
Merge pull request #2003 from njhale/fix/redact-bma
Redact sensitive info before logging build messages
2 parents 7978551 + 11d65d8 commit 11b7b50

File tree

1 file changed

+20
-2
lines changed

1 file changed

+20
-2
lines changed

pkg/buildclient/messages.go

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ func (m *WebsocketMessages) run(ctx context.Context) error {
199199
if err := m.conn.ReadJSON(msg); err != nil {
200200
return err
201201
}
202-
logrus.Tracef("Read build message %s", msg)
202+
logrus.Tracef("Read build message %s", redact(msg))
203203
if m.handler != nil {
204204
if err := m.handler(msg); err != nil {
205205
return err
@@ -229,8 +229,26 @@ func (m *WebsocketMessages) Recv() (<-chan *Message, func()) {
229229
}
230230

231231
func (m *WebsocketMessages) Send(msg *Message) error {
232-
logrus.Tracef("Send build message %s", msg)
232+
logrus.Tracef("Send build message %s", redact(msg))
233233
m.lock.Lock()
234234
defer m.lock.Unlock()
235235
return m.conn.WriteJSON(msg)
236236
}
237+
238+
// redact returns a Message with all sensitive information redacted.
239+
// Use this to prep a Message for logging.
240+
func redact(msg *Message) *Message {
241+
if msg == nil {
242+
return nil
243+
}
244+
245+
redacted := *msg
246+
if redacted.RegistryAuth != nil {
247+
redacted.RegistryAuth = &apiv1.RegistryAuth{
248+
Username: "REDACTED",
249+
Password: "REDACTED",
250+
}
251+
}
252+
253+
return &redacted
254+
}

0 commit comments

Comments
 (0)