From 13ad1e93d0d1b0856d5981763c56df5e53347f85 Mon Sep 17 00:00:00 2001 From: Seongho Bae Date: Mon, 10 Aug 2026 20:03:32 +0900 Subject: [PATCH 1/2] test(cdc): require secure DDL validation object default --- .../XtrmetlPropertiesSecurityDefaultTest.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 cdc-service/src/test/java/com/xtrmetl/cdc/config/XtrmetlPropertiesSecurityDefaultTest.java diff --git a/cdc-service/src/test/java/com/xtrmetl/cdc/config/XtrmetlPropertiesSecurityDefaultTest.java b/cdc-service/src/test/java/com/xtrmetl/cdc/config/XtrmetlPropertiesSecurityDefaultTest.java new file mode 100644 index 00000000..e7e3de4e --- /dev/null +++ b/cdc-service/src/test/java/com/xtrmetl/cdc/config/XtrmetlPropertiesSecurityDefaultTest.java @@ -0,0 +1,21 @@ +package com.xtrmetl.cdc.config; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; + +class XtrmetlPropertiesSecurityDefaultTest { + + @Test + void replicaDdlRemainsDisabledAndUsesWhitelistValidationByDefault() { + XtrmetlProperties properties = new XtrmetlProperties(); + + assertFalse(properties.getReplica().isDdlEnabled(), "DDL replication must remain disabled by default"); + assertEquals( + "whitelist", + properties.getReplica().getDdlValidationMode(), + "the Java configuration object must match the deployable and metadata secure default" + ); + } +} From 4d2cb4f4920f07acfb492e801e7aef9b571aa1ad Mon Sep 17 00:00:00 2001 From: Seongho Bae Date: Mon, 10 Aug 2026 20:07:57 +0900 Subject: [PATCH 2/2] fix(cdc): align secure DDL validation default --- .../main/java/com/xtrmetl/cdc/config/XtrmetlProperties.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cdc-service/src/main/java/com/xtrmetl/cdc/config/XtrmetlProperties.java b/cdc-service/src/main/java/com/xtrmetl/cdc/config/XtrmetlProperties.java index f0db1b9c..45533238 100644 --- a/cdc-service/src/main/java/com/xtrmetl/cdc/config/XtrmetlProperties.java +++ b/cdc-service/src/main/java/com/xtrmetl/cdc/config/XtrmetlProperties.java @@ -105,7 +105,11 @@ public static class Replica { */ private String tables = "processed_data"; private boolean ddlEnabled = false; - private String ddlValidationMode = "none"; + /** + * Uses the positive allow-list policy unless an operator explicitly selects another + * supported mode. DDL application itself remains disabled by default. + */ + private String ddlValidationMode = "whitelist"; private String ddlAllowedPrefixes = "CREATE TABLE,ALTER TABLE,CREATE INDEX"; private String ddlBlockedPrefixes = "DROP TABLE,DROP SCHEMA,DROP DATABASE,TRUNCATE"; private final Kafka kafka = new Kafka();