kubectl is fast, but it is not forgiving. When listing resources in Kubernetes, some columns contain sensitive data—tokens, credentials, internal endpoints. These kubectl sensitive columns often show up in kubectl get outputs for Secrets, ConfigMaps, or certain CRDs. The danger lies in their visibility: anyone with CLI or dashboard access can read them.
Default kubectl behavior is not enough. Even with RBAC in place, sensitive columns can leak through custom columns or wide output flags. Engineers often use kubectl get <resource> -o wide or --custom-columns for troubleshooting, unaware that these commands may expose production secrets in plaintext.
Identifying sensitive columns requires understanding both resource definitions and kubectl output formats. Inspect manifests for data fields like data, stringData, or spec.credentials. When writing custom columns, avoid linking directly to fields holding secrets. For wide or JSON output, filter results using kubectl get -o json | jq to mask or remove sensitive entries before display.