fix(release): sign all first-party payload binaries - #1182
Conversation
Expand the release policy and verifier to all eight OpenClaw-owned PE files, reject unknown OpenClaw binaries, preserve third-party exclusions, and require the exact OpenClaw Foundation signer subject. Co-authored-by: clawsweeper <280513762+clawsweeper@users.noreply.github.com> Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ea6ca262-e24c-4a46-99c1-1a7b59b24943
|
🦞👀 Pull request received. I will update this pull request when review starts. |
|
Codex review: needs maintainer review before merge. Reviewed August 19, 2026, 9:04 PM ET / August 20, 2026, 01:04 UTC. ClawSweeper reviewWhat this changesThis PR expands Windows release signing and verification from the tray executable to eight first-party executable and DLL payload binaries. Regression provenancePossible regression — probable (reproduction; failure trace). No predecessor PR is attributed. Merge readinessThe prior workflow blocker is fixed on the current PR head: both architectures now stage and sign the eight required first-party binaries. Keep this collaborator-owned security repair open for protected release-candidate proof. Priority: P1 Review scores
Verification
Live VerificationCommand: Result: FAIL (failed) — execution before step 1 Assertions:
How this fits togetherThe Windows release workflow publishes self-contained tray payloads, stages selected files for Azure Artifact Signing, then verifies payload signatures before creating portable ZIPs and installers. This change protects the boundary between OpenClaw-owned assemblies and bundled third-party/runtime binaries. flowchart LR
A[Published tray payload] --> B[First-party binary list]
B --> C[Signing staging folders]
C --> D[Azure Artifact Signing]
D --> E[Payload signature verifier]
E --> F[ZIP and installer releases]
Before merge
Agent review detailsSecurityNone. Review metrics
Root-cause clusterRelationship: Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Merge-risk optionsMaintainer options:
Technical reviewBest possible solution: Run a protected signed release candidate from this head and retain its redacted signature-verifier output for x64 and ARM64 before publishing the next release. Do we have a high-confidence way to reproduce the issue? Yes. Current main source stages only the tray EXE and filters signing to Is this the best way to solve the issue? Yes. Updating the staging list, Azure filter, verifier, documentation, and contract test together is the narrowest maintainable repair for the release trust boundary. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against a76c85218c7d. LabelsLabel changes:
Label justifications:
EvidenceWhat I checked:
Likely related people:
Rank-up movesOptional improvements that raise the rating; they are not merge blockers.
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
HistoryReview history (1 earlier review cycle)
|
fix(release): sign all first-party payload binaries
Fixes #1153.
Summary
.exeand.dllRequired website edit before ready
The current OAuth token is not allowed to push
.github/workflows/ci.yml. Before marking this PR ready, edit that workflow on this branch in GitHub:OpenClaw.Tray.WinUI.exeOpenClaw.Tray.WinUI.dllOpenClaw.Chat.dllOpenClaw.Connection.dllOpenClaw.SetupEngine.UI.dllOpenClaw.SetupEngine.dllOpenClaw.Shared.dllOpenClawTray.FunctionalUI.dllexetoexe,dll.The Azure action's v2 contract explicitly defines
files-folder-filteras a comma-separated extension list and givesdll,exe,msixas its example.Validation
./build.ps1: passed Shared, CLI, WinNodeCli, SetupEngine, and WinUIReleaseSigningWorkflowTests: 4 passedexe,dllfilter syntax verified against the action definitiongit diff --check: passedReal behavior proof
Actual production signing requires the protected
release-signingenvironment and Azure Artifact Signing identity, so it cannot be performed locally. After the workflow edit lands, require a signed release candidate proving all eight first-party PE files have valid OpenClaw Foundation signatures on x64 and ARM64, third-party/runtime files do not carry the OpenClaw signer, and Smart App Control accepts the installed application.