fix(security): credential redaction in 0f8b000 misses JSON bodies access_token, refresh_token, clientSecret, and password print verbatim with --verbose
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 88/100
Direzione di ricerca
Inizia con redactSensitiveContent e i pattern esistenti, quindi esegui pkg/config/redact_probe_test.go usando go test ./pkg/config/ -run TestRedactProbe -v. Controlla i punti di chiamata indicati in keycloak_client.go:96 e microcks_client.go:371. Il lavoro è completato quando i sei probe falliti passano e access_token, refresh_token, clientSecret e password non vengono più stampati alla lettera nell’output dettagliato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
i added credential redaction to verbose HTTP dumps. It works for Authorization headers but misses both places where secrets actually appear.
Leak 1 Keycloak token response (keycloak_client.go:96)
The response body is JSON. The regex expects name=value (form encoding), so "access_token":"eyJ..." prints verbatim.
Leak 2 create-test request body (microcks_client.go:371)
OAuth2ClientContext is marshalled into the POST body. Fields clientSecret, password, and refreshToken aren't in the pattern at all.
The header redaction fires correctly, which is exactly what makes this easy to miss:
Authorization: [REDACTED] ← works
{"oAuth2Context":{"clientSecret":"SECRET","password":"SECRET",...}} ← leaks
Root Cause
// only matches name=value — never fires on JSON bodies
var sensitiveParamPattern = regexp.MustCompile(
`(?i)(access_token|refresh_token|id_token|code)=([^&\s]+)`,
)
Apply it alongside the existing patterns in redactSensitiveContent.
Reproduce
Drop into pkg/config/redact_probe_test.go and run go test ./pkg/config/ -run TestRedactProbe -v — 6 FAILs, all confirmed against the real function.
- Lingua principale
- Go
- Stelle
- 52
- Fork
- 67
- Merge medio
- 1g 1h
- PR unite (30g)
- 13
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di microcks/microcks-cli
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
microcks/microcks-cli#536 · 1 commento ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
microcks/microcks-cli#535 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
microcks/microcks-cli#534 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
microcks/microcks-cli#511 ·
-
stale
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
microcks/microcks-cli#483 · 3 commenti ·
Tutte le issue di microcks/microcks-cli
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 84/100
-
enhancement needs triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
kind/cleanup
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
kubernetes-sigs/kueue#15947 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
sympozium-ai/sympozium#627 ·