Skip to content

fix(cdc): keep invalid replica configuration out of diagnostics - #211

Closed
seonghobae wants to merge 6 commits into
developfrom
fix/cdc-validation-diagnostic-confidentiality-622e5e6
Closed

fix(cdc): keep invalid replica configuration out of diagnostics#211
seonghobae wants to merge 6 commits into
developfrom
fix/cdc-validation-diagnostic-confidentiality-622e5e6

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

Superseded by #301

Closed as superseded after revalidating unique-work preservation against #301 exact current head 9eef90b09bb14a72ac63478dacaacae8222f2b51.

The successor preserves this PR's complete four-file product boundary:

  • ValidationUtils keeps the same fail-closed host/port/identifier diagnostics and the same no-cause overflow handling, with public Javadocs.
  • ReplicaJdbcTemplateConfig keeps invalid Hikari timeout values and parser causes out of diagnostics, with public Javadocs.
  • ValidationUtilsTest.invalidConfigurationDiagnosticsDoNotRepublishRejectedValues is preserved, including the all-digit oversized-port path, null cause, credential-like input, and explicit CR/LF/log-forging assertions that CodeRabbit required on this PR.
  • ReplicaJdbcTemplateConfigTest in test(cdc): replay replica diagnostic confidentiality on live develop #301 now strengthens the timeout contract further: rejected values and authorization-like content are omitted, CR and LF are independently excluded, and direct failure cause is asserted null.

No CI, security, review, approval, or synthetic-merge evidence from this stale branch transfers. #301 must satisfy all gates independently on its unchanged current head before merge.

Issue #210 remains the product owner for the capability until a successor is merged.

@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 028ca0b8-6725-4d50-802a-476aea55efd2

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

CDC 설정 및 검증 오류 메시지에서 원본 입력값과 원인 예외 노출을 제거했습니다. 관련 Javadoc과 민감한 값 및 제어 문자의 재출력을 검증하는 테스트를 추가했습니다.

Changes

진단 정보 비노출 강화

Layer / File(s) Summary
검증 오류 진단 정리
cdc-service/src/main/java/com/xtrmetl/cdc/util/ValidationUtils.java, cdc-service/src/test/java/com/xtrmetl/cdc/util/ValidationUtilsTest.java
포트, 호스트, 식별자 검증 오류에서 원본 입력값과 숫자 변환 원인을 제거했습니다. Javadoc과 민감한 값 및 개행 문자 비출력 테스트를 추가했습니다.
Replica 설정 오류 진단 정리
cdc-service/src/main/java/com/xtrmetl/cdc/config/ReplicaJdbcTemplateConfig.java, cdc-service/src/test/java/com/xtrmetl/cdc/config/ReplicaJdbcTemplateConfigTest.java
초기화 타임아웃 파싱 오류에서 입력값과 NumberFormatException 원인을 제거했습니다. Replica 설정 Javadoc과 전체 원인 체인 검증 테스트를 추가했습니다.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related issues

  • #210: ValidationUtilsReplicaJdbcTemplateConfig의 진단 정보 비노출 변경 및 기밀성 테스트가 이슈의 해결 범위와 직접 일치합니다.
  • #190: CDC 로그와 검증 오류에서 원본 입력값 및 런타임 예외를 제거한다는 목표가 일치합니다.
  • #238: 설정 경계에서 호출자 또는 환경변수 입력값의 노출을 방지한다는 목표가 일치합니다.
  • #173: CDC 관련 로그와 오류 메시지에서 민감한 입력값 및 예외 진단을 제거한다는 목표가 일치합니다.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 제목은 잘못된 replica 설정값을 진단 정보에서 제외하는 주요 변경 사항을 정확하고 간결하게 설명합니다.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/cdc-validation-diagnostic-confidentiality-622e5e6

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copy link
Copy Markdown
Collaborator Author

Current security evidence update for exact source 754bc6395744f20421f3fc64bb65b74bfe145eff:

Therefore the aggregate green is not accepted as complete mightyETL vulnerability evidence under #196: source identity and dependency-graph completeness are independently non-passing. The PR remains Draft. CI, Dependency Review, SBOM and SAST are terminal-success compatibility evidence; protected JaCoCo also remains non-vacuous only after #162/#164/#205 or equivalent accepted integration.

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@cdc-service/src/test/java/com/xtrmetl/cdc/util/ValidationUtilsTest.java`:
- Around line 59-96: Extend
invalidConfigurationDiagnosticsDoNotRepublishRejectedValues with a port input
that passes the port-format validation but causes Integer.parseInt to throw,
then assert the resulting IllegalStateException has a null cause to cover
ValidationUtils port NumberFormatException handling. Update assertSafeDiagnostic
to explicitly assert that the diagnostic message contains neither
carriage-return nor newline characters, while retaining the existing key and
sensitive-fragment checks.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 0b57a3e1-b003-4a92-b0fe-99a51ddc1c94

📥 Commits

Reviewing files that changed from the base of the PR and between 622e5e6 and 754bc63.

📒 Files selected for processing (4)
  • cdc-service/src/main/java/com/xtrmetl/cdc/config/ReplicaJdbcTemplateConfig.java
  • cdc-service/src/main/java/com/xtrmetl/cdc/util/ValidationUtils.java
  • cdc-service/src/test/java/com/xtrmetl/cdc/config/ReplicaJdbcTemplateConfigTest.java
  • cdc-service/src/test/java/com/xtrmetl/cdc/util/ValidationUtilsTest.java

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant