Skip to content

feat: close same-class security holes on dbt + table-level paths (follow-ups) - #70

Merged
mingjerli merged 2 commits into
mainfrom
feat/wire-security-followups
Jul 22, 2026
Merged

feat: close same-class security holes on dbt + table-level paths (follow-ups)#70
mingjerli merged 2 commits into
mainfrom
feat/wire-security-followups

Conversation

@mingjerli

Copy link
Copy Markdown
Owner

Stacked on Item 10 (#69). Closes the two same-class holes the Items 7/10 whole-branch review found on entry points the original plan didn't name — completing the security surface before the stack merges.

  • Item 7 follow-upPipeline.from_dbt_models / wrap_dbt_models now validate model-file paths (symlink/traversal rejection, TOCTOU-safe reads via _safe_read_sql_file, confined to models/), mirroring from_sql_files. Adds allow_symlinks=False.
  • Item 10 follow-upTableNode.generate_description now delimits + sanitizes content and validates output (→ rule-based fallback), mirroring the column-description path.

Tests exercise public entry points and are pinned to fail if the wiring is reverted. Full suite: 1561 passed / 70 skipped / 2 xfailed.

@mingjerli
mingjerli force-pushed the feat/wire-prompt-sanitization branch from a610938 to 0c3d97f Compare July 22, 2026 12:45
@mingjerli
mingjerli force-pushed the feat/wire-security-followups branch from 8838e73 to 8825e05 Compare July 22, 2026 14:41
@mingjerli
mingjerli changed the base branch from feat/wire-prompt-sanitization to main July 22, 2026 14:41
@mingjerli
mingjerli merged commit 696b6c0 into main Jul 22, 2026
9 checks passed
@mingjerli
mingjerli deleted the feat/wire-security-followups branch July 22, 2026 15:21
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