Skip to content

fix(security): close Strix evidence trust boundaries#607

Open
seonghobae wants to merge 4 commits into
mainfrom
fix/strix-legal-git-paths
Open

fix(security): close Strix evidence trust boundaries#607
seonghobae wants to merge 4 commits into
mainfrom
fix/strix-legal-git-paths

Conversation

@seonghobae

@seonghobae seonghobae commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

목적

합법적인 Git 경로 구두점 허용을 유지하면서, current-head Strix 증거가 실행 파일, 입력 경로, 보고서, 모델 endpoint 신뢰경계를 우회하지 못하도록 fail-closed로 강화합니다.

주요 변경

  • comma와 parentheses를 허용하되 절대 경로, parent traversal, control 문자, bidi, pathspec, symlink 및 canonical root 이탈은 거부합니다.
  • STRIX_SOURCE_DIRS와 입력 파일이 허용된 root 내부의 실제 디렉터리와 파일인지 검증합니다.
  • Strix 실행 파일은 허용 root와 SHA-256 digest를 모든 호출에서 필수 검증하고, child PATH를 고정합니다.
  • report-selected 경로가 baseline을 위조하지 못하도록 baseline provenance가 불명확하면 차단합니다.
  • Vertex NotFound와 고심각도 로그 및 artifact findings를 함께 반영하여 infra 오류와 실제 취약점을 구분하되 fail-closed로 처리합니다.
  • GitHub Models 자격 증명은 정확히 허용된 endpoint에만 전달하고 임의 HTTPS LLM_API_BASE로 전달하지 않습니다.
  • 모델 불일치와 fallback 진단을 명확히 하고 관련 회귀 사례를 focused dispatcher에 추가합니다.

검증

  • bash scripts/ci/test_strix_quick_gate.sh — PASS
  • bash -n scripts/ci/strix_quick_gate.sh — passed
  • bash -n scripts/ci/test_strix_quick_gate.sh — passed
  • shellcheck -x -S warning scripts/ci/strix_quick_gate.sh scripts/ci/test_strix_quick_gate.sh — passed
  • git diff --check — passed
  • CodeGraph sync 및 관련 신뢰경계 탐색 — passed

Closes #606

Copilot AI review requested due to automatic review settings July 21, 2026 03:11
@seonghobae seonghobae moved this from Todo to In Progress in naruon Platform Roadmap Jul 21, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@opencode-agent opencode-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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:

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"]
Loading

@opencode-agent

Copy link
Copy Markdown
Contributor

OpenCode Review Overview

  • Head SHA: bebb38f8dcf59f5957e217301c88a18934e7030b
  • Workflow run: 29799779752
  • Workflow attempt: 1
  • Gate result: REQUEST_CHANGES (approval step)

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:

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"]
Loading

Copilot AI review requested due to automatic review settings July 21, 2026 09:29
@seonghobae seonghobae changed the title fix(strix): accept legal Git path punctuation fix(security): close Strix evidence trust boundaries Jul 21, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

Comment thread scripts/ci/strix_quick_gate.sh
Copilot AI review requested due to automatic review settings July 21, 2026 09:53

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

Comment thread scripts/ci/strix_quick_gate.sh
Copilot AI review requested due to automatic review settings July 21, 2026 10:24

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

fix(strix): accept legal Git path punctuation

2 participants