Skip to content

fix: fix deep sensitive redaction#43

Open
ccharly wants to merge 1 commit into
mainfrom
cc/fix/fix-deep-sensitive
Open

fix: fix deep sensitive redaction#43
ccharly wants to merge 1 commit into
mainfrom
cc/fix/fix-deep-sensitive

Conversation

@ccharly

@ccharly ccharly commented Jul 15, 2026

Copy link
Copy Markdown

Ancestor branches were still able to keep a reference to the original data that was not redacted, resulting in potentially leaking the sensitive data using custom failure reporting.


Note

Medium Risk
Touches sensitive-data redaction in validation error branches; incorrect ancestor patching could still leak secrets or over-redact, but scope is limited to withRedactedBranch and covered by new tests.

Overview
Fixes a leak in withRedactedBranch where sibling-field validation failures only redacted the immediate parent in failure.branch, while ancestor branch entries still held the original nested object references (so secrets could appear via e.g. branch[0].account.secret).

The redaction logic now finds the parent in the branch, shallow-redacts sensitive keys on that entry, then walks upward through each ancestor—matching the child by reference (===) and swapping in the already-sanitized child—so every branch level reflects redacted nested data.

Adds validation fixtures for one- and three-level nesting to assert fully redacted branches on sibling literal failures.

Reviewed by Cursor Bugbot for commit 94370f0. Bugbot is set up for automated code reviews on this repo. Configure here.

@ccharly ccharly requested a review from a team as a code owner July 15, 2026 20:07
@ccharly ccharly force-pushed the cc/fix/fix-deep-sensitive branch from d780b98 to 8d3c281 Compare July 15, 2026 20:08
@ccharly ccharly force-pushed the cc/fix/fix-deep-sensitive branch from 8d3c281 to 94370f0 Compare July 15, 2026 20:08
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