Skip to content

Commit 267db0a

Browse files
committed
feat(crashtracking): Align some filtering with JDK JEP-8372760
JDK JEP-8372760 (JFR In-Process Data Redaction)
1 parent 8844be3 commit 267db0a

File tree

2 files changed

+13
-9
lines changed

2 files changed

+13
-9
lines changed

dd-java-agent/agent-crashtracking/src/main/java/datadog/crashtracking/parsers/RuntimeArgs.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,9 @@
1919
* module/native-access options.
2020
*/
2121
final class RuntimeArgs {
22+
// Aligned with JDK JEP-8372760 (JFR In-Process Data Redaction) default filter list.
2223
private static final String[] SECRET_PROPERTY_KEYWORDS = {
23-
"password", "passwd", "secret", "token", "key", "credential"
24+
"auth", "password", "passwd", "pwd", "passphrase", "secret", "token", "key", "credential"
2425
};
2526
private static final String[] MODULE_OPTIONS = {
2627
"--add-modules",

dd-java-agent/agent-crashtracking/src/test/java/datadog/crashtracking/parsers/RuntimeArgsTest.java

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -59,14 +59,17 @@ public void testParseVmArgsHandlesArgNormalization(String raw, String expectedIn
5959
}
6060

6161
@TableTest({
62-
"scenario | raw | isIncluded | vmArg ",
63-
"java password excluded | -Djava.net.password=hunter2 | false | -Djava.net.password=hunter2 ",
64-
"sun token excluded | -Dsun.auth.token=abc123 | false | -Dsun.auth.token=abc123 ",
65-
"dd api key excluded | -Ddd.api-key=deadbeef | false | -Ddd.api-key=deadbeef ",
66-
"dd app key excluded | -Ddd.app-key=deadbeef | false | -Ddd.app-key=deadbeef ",
67-
"dd application key excluded | -Ddd.application-key=deadbeef | false | -Ddd.application-key=deadbeef ",
68-
"java logging kept | -Djava.util.logging.config.file=x | true | -Djava.util.logging.config.file=x",
69-
"osgi install kept | -Dosgi.install.area=/opt/app | true | -Dosgi.install.area=/opt/app "
62+
// Exclusion patterns are aligned with JDK JEP-8372760 (JFR In-Process Data Redaction).
63+
"scenario | raw | isIncluded | vmArg ",
64+
"jaas login config excluded | -Djava.security.auth.login.config=/etc/jaas.conf | false | -Djava.security.auth.login.config=/etc/jaas.conf ",
65+
"java socks password excluded | -Djava.net.socks.password=hunter2 | false | -Djava.net.socks.password=hunter2 ",
66+
"dd pwd excluded | -Ddd.db.pwd=hunter2 | false | -Ddd.db.pwd=hunter2 ",
67+
"dd passphrase excluded | -Ddd.ssl.passphrase=topsecret | false | -Ddd.ssl.passphrase=topsecret ",
68+
"dd api key excluded | -Ddd.api-key=deadbeef | false | -Ddd.api-key=deadbeef ",
69+
"dd app key excluded | -Ddd.app-key=deadbeef | false | -Ddd.app-key=deadbeef ",
70+
"dd application key excluded | -Ddd.application-key=deadbeef | false | -Ddd.application-key=deadbeef ",
71+
"java logging kept | -Djava.util.logging.config.file=/opt/logging.props | true | -Djava.util.logging.config.file=/opt/logging.props ",
72+
"osgi install kept | -Dosgi.install.area=/opt/app | true | -Dosgi.install.area=/opt/app "
7073
})
7174
public void testParseVmArgsExcludesSecretLikeSystemProperties(
7275
String raw, boolean isIncluded, String vmArg) {

0 commit comments

Comments
 (0)