diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/Sanitizer.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/Sanitizer.java index 4b8d665413e..dfab05b9462 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/Sanitizer.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/Sanitizer.java @@ -34,7 +34,7 @@ class Sanitizer { private Pattern[] keysToSanitize; public Sanitizer() { - setKeysToSanitize(new String[] { "password", "secret", "key" }); + setKeysToSanitize(new String[] { "password", "secret", "key", "vcap_services", ".*credentials.*" }); } /** diff --git a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/EnvironmentEndpointTests.java b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/EnvironmentEndpointTests.java index cf5d31c00e1..0b28d2677dc 100644 --- a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/EnvironmentEndpointTests.java +++ b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/EnvironmentEndpointTests.java @@ -68,12 +68,38 @@ public class EnvironmentEndpointTests extends AbstractEndpointTests env = report.invoke(); assertEquals("******", ((Map) env.get("systemProperties")).get("dbPassword")); assertEquals("******", ((Map) env.get("systemProperties")).get("apiKey")); + assertEquals("******", + ((Map) env.get("systemProperties")).get("mySecret")); + assertEquals("******", + ((Map) env.get("systemProperties")).get("vcap_services")); + } + + @SuppressWarnings("unchecked") + @Test + public void testKeySanitizationCredentialsPattern() throws Exception { + System.setProperty("vcap.services.amqp-free.credentials.uri", "123456"); + System.setProperty("credentials.http_api_uri", "123456"); + System.setProperty("vcap.services.cleardb-free.credentials", "123456"); + System.setProperty("vcap.mycredentials.uri", "123456"); + EnvironmentEndpoint report = getEndpointBean(); + Map env = report.invoke(); + assertEquals("******", + ((Map) env.get("systemProperties")).get("vcap.services.amqp-free.credentials.uri")); + assertEquals("******", + ((Map) env.get("systemProperties")).get("credentials.http_api_uri")); + assertEquals("******", + ((Map) env.get("systemProperties")).get("vcap.services.cleardb-free.credentials")); + assertEquals("******", + ((Map) env.get("systemProperties")).get("vcap.mycredentials.uri")); + } @SuppressWarnings("unchecked")