Git guard is wrapper-blind and fails open #155
Labels
No labels
already-shipped
bug
documentation
duplicate
enhancement
external-review
good first issue
help wanted
in progress
invalid
needs-decision
proposal
question
security
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: crenshawdev/cadence-archived#155
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Source: strict re-review C-06; general scan recommendation 8
Verdict: DISPUTE - by design, closing
Claim as reviewed
The git guard only sees shell segments whose command word is literally
git, sobash -c "git push"is intentionally invisible, and its top-level catch fails open. It cannot be treated as an inviolable push boundary.At HEAD
f354864(v3.3.0)Accurate on every point, and each is stated in the source.
cadence-core/bin/lib/git-segments.mjs:74requires the command word to begit;:58-61enumerates the evasions by name -bash -c "git push",$(git push),sudo git push,xargs git push,env -S "git push".cadence-core/bin/git-guard.mjs:211-try { main(); } catch { /* never block on a guard failure */ }.Note
Detecting wide and gating back down was considered and rejected; failing open is deliberate so a guard bug cannot wedge normal work. The hard guarantee lives at the argument-vector publish seam, not here.
The wording half of this finding is filed and closed separately.