ReviewOS

also looking at this

craft-native/craft

fix(release): prevent the standalone macOS CLI sandbox crash

#291
Merged glennmichael123 wants to merge codex/macos-cli-signing into main
5 files +120 -31
9 days ago

The standalone macOS release binary is signed with App Sandbox enabled but has no bundle identifier. macOS traps in _libsecinit_appsandbox before main, so even craft --version fails. The distribution entitlement file now applies to the raw Pantry CLI: hardened runtime and library validation remain enabled, without an application-container sandbox. Packaged applications keep their separate SDK entitlement policy.

The release workflow explicitly requests a signing timestamp, verifies the host binary can launch before notarization, and downloads both final macOS archives onto native macOS 15 arm64/x64 runners to verify signatures, entitlement policy, and reported version. Release signing always uses the distribution plist; the prior development-entitlement override is removed.

Validation:

  • The exact v0.0.92 binaries pass strict signature verification outside the local tool sandbox. The earlier signature-error report was an environment artifact.
  • Matched ad-hoc re-signing controls on the v0.0.92 arm64 executable: original App Sandbox entitlements exit 133; corrected entitlements launch and report 0.0.92.
  • A signed minimal CLI regression fixture fails before the entitlement change and passes afterward; the new verifier rejects the original release before execution and accepts the corrected copy.
  • Pickier and diff whitespace checks pass. CI executes the signing fixture on macOS.

Fixes the source defect in #282. Final Developer ID-signed release downloads still need to be verified by the new release gate when a corrected version is published.

5 changed files on the files tab, with 0 review threads.

Sign in to comment on this pull request.