Repository navigation
fix(release): trust downloaded Dev MSIX certificates machine-wide - #1607
Conversation
|
🦞👀 Pull request received. I will update this pull request when review starts. ClawSweeper review completeClawSweeper finished reviewing this revision. The review result is being finalized. |
|
Codex review: needs maintainer review before merge. Reviewed October 2, 2026, 10:12 AM ET / 14:12 UTC. ClawSweeper reviewWhat this changesThe PR imports downloaded development-signed Windows package certificates into machine-wide trust, cleans them up from the same store, and adds workflow regression assertions. Merge readiness✅ Ready for maintainer review This remains a useful, narrow release fix: current main still imports the certificates into the mismatched user trust store. No introduced correctness or security defect was found. Priority: P2 Review scores
Verification
How this fits togetherThe release workflow downloads signed Windows packages from its build jobs, validates their provenance and signatures, and publishes release ZIPs. Temporary certificate trust enables Windows to validate the self-signed development packages. flowchart LR
A[Tagged release] --> B[Signed package build jobs]
B --> C[Download packages and certificates]
C --> D[Temporary machine trust]
D --> E[Validate provenance and signatures]
E --> F[Publish release ZIPs]
E --> G[Remove imported certificates]
Before mergeNone. Agent review detailsSecurityNone. Review metricsNone. Technical reviewBest possible solution: Keep release validation aligned with the existing machine-trust contract while preserving exact signer checks and selective cleanup. Do we have a high-confidence way to reproduce the issue? Yes: main's release job uses a different trust scope from the successful build path, and the linked Actions run confirms staging failure. The reviewer did not execute Windows signature validation. Is this the best way to solve the issue? Yes: changing both trust and cleanup to the existing machine-wide store is the narrowest repair and leaves publication checks intact. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against bb4ac510c6e4. LabelsLabel changes:
Label justifications:
EvidenceWhat I checked:
Likely related people:
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
|
Summary
LocalMachine\\TrustedPeople, matching the proven build/export path and documented install pathCurrentUser\\TrustedPeopleFollow-up to #1600. The first tagged releases exercising its new publication path,
v2026.9.5-alpha.88and.89, reached final staging and failed becauseGet-AuthenticodeSignaturereported the downloaded self-signed package as untrusted. The package's embedded signer thumbprint exactly matches the published certificate; the release job imported that certificate into a different trust scope from the build path.Required proof pools
none: release-workflow trust validation only; no product runtime or UI behavior changesValidation
git diff --check: passedReal behavior proof
Alpha release run 37013791671 reproduced the failure twice at
Stage signed Dev MSIX release assets. Independent inspection confirmed the x64 package's embedded signer SHA-1 thumbprint and the publishedOpenClaw-Dev.certhumbprint are both6F6D57C5A3205FC1D9A09375A055B57D797F15F5, isolating the failure to trust-store scope rather than artifact substitution.Current-head tagged release proof will be attached after merge because the publication job runs only for release tags.