fix(security): remove CVE-2026-84373 from Vitest lock - #569
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (4)
📝 WalkthroughWalkthroughVitest를 4.1.11로 갱신하고 Rolldown WASI 바인딩을 개발 의존성으로 추가했다. lockfile 변경 정책과 관련 패키지 메타데이터를 갱신했다. 최소 버전과 바인딩 정합성을 검증하는 보안 회귀 테스트를 추가했다. ChangesVitest 보안 업데이트
Estimated code review effort: 3 (Moderate) | ~20 minutes ✨ 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 |
|
Review (read-only, no code pushed): this lane is currently RED by construction. |
Preserve the Vitest 4.1.11 manifest/regression delta while reconverging the reviewer dependency integration from protected main. The root package lock remains intentionally unchanged until the pinned CI regeneration artifact is promoted and revalidated.
|
Fresh repair evidence after protected
These values correct the stale/mismatched artifact receipt previously recorded in the PR body. Do not treat the old receipt as current evidence. The lane remains Draft until the regenerated lock is promoted on the current head and the exact-head CI/reviewer/Security/image gates are freshly GREEN. |
Reality RED → causal security repair
Issue #568 owns CVE-2026-84373 in protected-source
vitest@4.1.9/@vitest/mocker@4.1.9, fixed on the 4.1.11 line. This lane keeps scanning fail-closed and does not add an ignore, native-addon fallback, or gate weakening.The repair retained its reality lineage. Initial exact
5864d0bab8273a1512fed282676598be7a53d617advanced directvitestand@vitest/coverage-v8requirements to^4.1.11and addedtest/vitest-security-lock.test.ts. Hosted CI regenerated the canonical lock with repository-pinned Node 24.19.0/npm 11.17.0. Commitf73968496e2162a00645b813bb6051cf96351ec9promoted that first canonical lock unchanged, after which patch-validator-image exposed a second RED: Rolldown 1.2.7 no longer implicitly supplied@rolldown/binding-wasm32-wasi, while Noema's static validator deliberately requires the WASI binding and rejects native.noderuntime payloads.The minimal repair explicitly pins
@rolldown/binding-wasm32-wasi@1.2.7and binds the root declaration to the resolved Rolldown/WASI versions in the security regression. Hosted regeneration artifact10089198660produced the final 70,045-byte lock, SHA-2560027d45e4e5f5faf03132b8ab8d97a9adc0338b828881a1a821f75018a415049, Git blob33023ebd5ae4f555779016d65548c20483241446. That exact canonical lock is now committed without retyping registry integrity metadata, and.github/lockfile-change-policy.jsonis refreshed against protectedmain@8108bae1128c20b92d79dacaf65c3d9e3d55b758for the final package-object delta.Current exact head is
626be6a917a54c17f7a0c26beb40747a24e73299, based on the current protected main. The committed lock has root@rolldown/binding-wasm32-wasi@1.2.7,vitest@^4.1.11, and@vitest/coverage-v8@^4.1.11; the regression rejects vulnerable Vitest/mocker resolution and requires the static WASI binding to stay version-aligned with Rolldown.Fresh unchanged-exact checks: application CI
34314409205SUCCESS, reviewer-ci34314409224SUCCESS, required Security Scan34314409226SUCCESS. patch-validator-image34314409190/ job102347505772is assigned on GitHub-hostedubuntu-24.04; exact checkout, stale-head refusal, pinned scanner installation, dependency materialization and Buildx setup are SUCCESS and the exact-head image build is in progress. No review threads are currently open.Keep Draft until the same exact head reaches terminal patch-validator-image SUCCESS, including static/no-native runtime verification, realistic no-network/read-only/non-root smoke, SBOM/vulnerability receipts proving CVE-2026-84373 absent, final exact-source/image receipt verification and post-verification stale-head refusal. Then re-read head/base/reviews and only use the normal merge path. No publication or immutable-release authority is inferred.
Dependabot #571 remains open and Draft. It is not yet a verified successor because it does not independently inherit this lane's coverage-v8 requirement, explicit WASI/static-validator contract, security regression, lock-policy evidence or complete RED→repair lineage.
Summary by CodeRabbit
보안 업데이트
테스트
문서