qianye1001 opened a new issue, #10950: URL: https://github.com/apache/rocketmq/issues/10950
### Before Creating the Bug Report - [x] I found a bug, not just a question. - [x] I searched existing GitHub issues and discussions and did not find a duplicate. - [x] I confirmed that the bug belongs to this repository. ### Runtime platform environment Any environment that starts Proxy or updates Broker/Controller configuration. ### RocketMQ version - Branch: `develop` - Commit: `293f588571` ### JDK Version Reproduced and verified with Amazon Corretto JDK 11.0.23. ### Describe the Bug RocketMQ writes configuration values to logs in several paths without a common sensitivity marker or redaction policy: - Proxy startup serializes the complete `ProxyConfig`. - Broker and BrokerContainer configuration updates log old and new property values. - `MixAll.printObjectProperties` prints configuration fields directly. - Invalid metrics exporter headers are logged verbatim. Fields such as TLS key passwords, authentication bootstrap data, inner-client credentials, proxy credentials, and metrics exporter headers can therefore be exposed in log files. ### Steps to Reproduce 1. Configure Proxy with a non-empty `tlsKeyPassword` or `metricsGrpcExporterHeader`. 2. Start Proxy and inspect the current-configuration startup log. 3. Alternatively, update a sensitive Broker property through the configuration update path. 4. Observe that the configured value is written to the log. ### What Did You Expect to See? Sensitive configuration fields should be explicitly marked and masked only in log projections. Logs should retain a short prefix and suffix for troubleshooting, while the original configuration values and behavior remain unchanged. ### What Did You See Instead? The full sensitive value is present in the log. ### Additional Context A proposed fix introduces a runtime `@SensitiveConfig` marker and a shared log-only masking utility. It keeps the original configuration parsing, update, persistence, and serialization APIs unchanged. Untyped `Properties` retain a conservative key-name fallback because annotations are not available in that path. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
