🛡️ Sentinel: [MEDIUM] Add missing control character validation in Pydantic schemas - #1077
🛡️ Sentinel: [MEDIUM] Add missing control character validation in Pydantic schemas#1077seonghobae wants to merge 1 commit into
Conversation
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
|
Warning Review limit reachedNext included review available in 8 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (1)
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. Comment |
Supersession / rejection record
Closed only after re-reading the exact patch and the current canonical repair #1067.
This PR mixes two distinct domain contracts under one blanket
^[^\x00-\x1F\x7F]+$rule:DiagramViewCreateIn.nameandApiKeyCreateIn.key_nameare product labels. Rejecting ASCII C0/DEL for these labels is a valid hygiene delta and is already preserved in security/schema: separate UI-label control hygiene from PostgreSQL table identity #1067.TableAnnotationUpsertIn.schema_nameandrelation_nameare PostgreSQL relation identity, not generic log labels. Applying the same C0/DEL blanket rule to them rejects valid quoted PostgreSQL identifiers containing LF/TAB and other non-NUL control characters. security/schema: separate UI-label control hygiene from PostgreSQL table identity #1067 repaired this boundary test-first: its database identity fields reject only NUL (^[^\x00]+$) while retaining explicit LF/TAB positive regressions and the product-label C0/DEL policy.Canonical Draft #1067 exact head
6806ab1bc226134a856f1973b83013bb4786d2aatherefore fully inherits this PR's valid product-label delta and explicitly rejects its database-identity regression. #1067 also carries the missing regression fixtures and code-current gap baseline with the PostgreSQL lexical-identifier primary reference.This PR has no independent test, fixture, contract or documentation delta beyond the four schema-field edits. Its generic Log Injection / Null Byte / terminal-injection rationale does not identify a concrete logging sink that would justify narrowing PostgreSQL identity at the domain boundary. Any real sink defect must be repaired at that sink without corrupting relation identity.
Result: valid delta is fully inherited by #1067; invalid database-identity restriction is not inherited. No force update, gate weakening, or PR-count-only closure.