fix(security): close Strix evidence trust boundaries#607
Conversation
There was a problem hiding this comment.
Pull request overview
Note
Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.
Updates Strix’s repository-path validation to allow additional Git-legal punctuation (comma and parentheses) while preserving existing safety restrictions, and adds a regression test to ensure PR-head scoping still materializes the intended path correctly.
Changes:
- Expand the bounded ASCII allowlist for validated repository-relative paths to include
,()characters. - Add a pull_request_target regression case covering a changed file path containing comma and parentheses.
- Register the new regression in the focused test-case dispatcher.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| scripts/ci/strix_quick_gate.sh | Extends the path validation allowlist to accept comma and parentheses while keeping existing normalization/traversal rejection. |
| scripts/ci/test_strix_quick_gate.sh | Adds and wires a regression test for PR-head materialization where the changed file path includes comma and parentheses. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
OpenCode could not approve from deterministic current-head evidence because GitHub Checks have failed.
Findings
1. HIGH Current-head GitHub Checks - Fix failed required checks before approval
- Problem: Failed same-head checks remain for
bebb38f8dcf59f5957e217301c88a18934e7030b. - Root cause: The model-unavailable evidence fallback is allowed only when peer GitHub Checks are complete and clean.
- Fix: Read and fix the failed check logs below, then rerun the current-head checks.
- Regression test: Keep the model-unavailable fallback gated on an empty failed-check rollup.
Failed checks:
- Strix Security Scan/strix: FAILURE (https://github.com/ContextualWisdomLab/.github/actions/runs/29797851192/job/88532758274)
- Strix Security Scan/strix: failure (https://github.com/ContextualWisdomLab/.github/actions/runs/29797851192/job/88532758274)
Changed-File Evidence Map
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["CI script (2 files)"]
S1 --> I1["review and security gate shell path"]
I1 --> R1["Review risk: CI script (2 files)"]
R1 --> V1["bash -n plus Strix self-test"]
OpenCode Review Overview
Pull request overviewOpenCode could not approve from deterministic current-head evidence because GitHub Checks have failed. Findings1. HIGH Current-head GitHub Checks - Fix failed required checks before approval
Failed checks:
Changed-File Evidence Mapflowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["CI script (2 files)"]
S1 --> I1["review and security gate shell path"]
I1 --> R1["Review risk: CI script (2 files)"]
R1 --> V1["bash -n plus Strix self-test"]
|
목적
합법적인 Git 경로 구두점 허용을 유지하면서, current-head Strix 증거가 실행 파일, 입력 경로, 보고서, 모델 endpoint 신뢰경계를 우회하지 못하도록 fail-closed로 강화합니다.
주요 변경
검증
Closes #606