fix(control): make anchor ACL verification locale-independent - #88
Conversation
Decision 062 Amendment B (PR #85 F3): replace the localized icacls DACL read with a single build-provenanced native OWNER + DACL security-descriptor snapshot emitted as canonical SIDs only, so control-anchor authorization is identical on any Windows locale. SYSTEM is recognized solely as S-1-5-18 and the operator by exact canonical SID; a display name can never enter the decision. F1 owner-only mode and its provenance/hash gate are preserved; F2 is untouched. The deferred P3 (operator effective-rights type/mask semantics) is intentionally out of scope and not repaired here. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KE5bkGWp2jPzaJaLvFhPPu
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (5)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe control-anchor security gate now uses a canonical OWNER and DACL snapshot from one build-provenanced native helper. TypeScript parses and evaluates SIDs, verifies the snapshot, and removes the localized ChangesControl-anchor snapshot gate
Estimated code review effort: 4 (Complex) | ~60 minutes Merge Risk: ⚪ Minimal · up to The native snapshot contract, policy evaluation, provenance checks, and runtime wiring are consistently covered, with no actionable merge-blocking issue remaining. Sequence Diagram(s)sequenceDiagram
participant verifyControlAnchor
participant whoami
participant verifyAnchorSnapshot
participant SnapshotHelper
verifyControlAnchor->>whoami: Read operator SID
verifyControlAnchor->>verifyAnchorSnapshot: Verify anchor path and operator SID
verifyAnchorSnapshot->>SnapshotHelper: Run --acl anchor path
SnapshotHelper-->>verifyAnchorSnapshot: Return OWNER and DACL snapshot
verifyAnchorSnapshot->>verifyAnchorSnapshot: Parse and evaluate canonical SIDs
verifyAnchorSnapshot-->>verifyControlAnchor: Return success or rejection reason
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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 |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
@coderabbitai review |
✅ Action performedReview finished.
|
aaa7ddc
into
repair/pr84-f1-control-anchor-owner
Isolated D062 Amendment-B repair for PR #85 F3.
Finding:
Adopted architecture amendment:
Repair:
Exact identity:
72340b3
b3e221a
2d54971fe38b52e52151b61fbed3407e9413d16fc4c0d67d5589e16e203c1f29
77769
Validation:
Deferred non-blocking carry obligation:
Scope:
🤖 Generated with Claude Code
https://claude.ai/code/session_01KE5bkGWp2jPzaJaLvFhPPu
Summary by CodeRabbit
New Features
Bug Fixes