Repository navigation
fix(security): fail closed on unavailable dependency review - #897
Merged
seonghobae merged 44 commits intoAug 29, 2026
Merged
Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
Replace the stale, conflicted #799 integration path with a bounded current-main repair for #810. Preserve #799 as historical evidence only; do not import its divergent removal of later Strix work.
Root cause
The central required
Security Scancould conclude success when the exact dependency-review comparison returned HTTP 403 or 404. The support probe emittedsupported=false, exited zero, and skipped the pinned Dependency Review action. A hard supply-chain evidence boundary had therefore been modeled as an optional capability optimization.Remedy and TDD identity
6eb06cdd08c79a06f7b390069d4ffa49e2eb7dba;b06bb25c1af99b784730209dceb299cd493734f7reverses the stale fail-open queue contract;71947d24828cfb42806f5ef0a8abf83f9279d0afaccepts only HTTP 200, preserves curl transport status separately, bounds connect/total time, discards the response body, checks out the explicit PR-head repository/SHA, and emits exact-identity failure evidence;b527192d7b758fc2f8a95545f25545cec7747c99proves a partial transfer that prints200but exits non-zero cannot pass;59d702f30fa419a016e24c18e87e05c76fbee4a3; exact current head is recorded below;Scope correction
Unrelated scheduler-secret and Python-lock-materializer source/test changes that had accumulated on this branch were removed. Flattening an include-bearing requirements lock under a generated filename does not preserve relative include targets and requires a separately designed, test-first path-preservation contract.
The final scope changes only the Dependency Review control plane and its durable architecture, operator, release-note, and workflow-contract evidence. The existing executable mode of
scripts/ci/materialize_base_python_requirements.pyis preserved; the final mode-only correction introduces no source-content change.Fresh exact-head evidence (2026-08-29 KST)
74eb5d1753cba1a48e47e9bc05940373181d7b23;main@e1b03eebc6dc5c85aed393e5928927c96376cf46;33184295133checked out and attested the exact head in both Trivy job98893169360and Dependency Review job98893169268; Dependency Review recordedvisibility=public, exact base/head, HTTP200, and curl exit0before executing the pinned action;33184294749produced no vulnerability report: the protected-mainorchestrator/freesidecar passed the local request-envelope boundary but returned gateway HTTP500on all three bounded attempts, and the workflow emitted typed non-passingSTRIX_PROVIDER_UNAVAILABLErather than source findings or false success;CHANGES_REQUESTEDin review5052719430, bound to74eb5d1753cba1a48e47e9bc05940373181d7b23; qualifying independent approval: absent.This head is not merge-ready. Provider failure, neutral/skipped checks, and missing exact-head approval remain non-passing and do not invalidate the source-level exact-head Security repair.
Acceptance contract
Merge only after:
After merge, require a protected-main public-repository consumer run proving a non-200 or failed-transfer comparison cannot produce a green Dependency Review gate before closing #810.
Summary by CodeRabbit
보안 강화
문서
테스트