Prevent metadata leaks in cask ZIPs - #39
Conversation
Why: - Default ditto packaging can serialize signed-app metadata as AppleDouble entries while filtered inspection misses the unsafe payload. Changed: - Package with explicit metadata-suppression flags, validate a hidden app-only candidate through Python zipfile, and publish normalized ZIP/checksum outputs only after validation. - Add deterministic portable and macOS regressions plus manifest and specification contracts for the defense. Verification: - npm test - npm run agent:verify -- --profile implementation - npm run agent:verify -- --profile spec-only - npm run verify:public-surface - Independent cask regression, public-source, and exact-diff reviews Affected: - Cask ZIP packaging and final-candidate validation - Documentation regressions, verification routing, and packaging specifications Refs: - RR23 cask ZIP metadata regression Session: - task-sessions/rr23-cask-zip-metadata-20260901
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Autopilot needs your choice — AD-20260901-001 Review finding (External review): Concrete operator choices:
Implementation identity (paths and blob SHAs): Guarded hits:
Autopilot's assessment: Concrete operator choices:
Implementation identity (paths and blob SHAs): Guarded hits:
Autopilot recommends: Choose what Autopilot should do next:
Reply with exactly one: Local artifact: job 20260901-010608-6e11e1f3-d022-4ee0-ac91-b5bed57b1437/report.md |
|
Autopilot recorded decision AD-20260901-001: selected Operator: @VladimirBrejcha |
|
Reviewed top-level PR feedback and left the current code unchanged. These items were posted as PR review bodies or conversation comments rather than unresolved review threads, so this acknowledgement is recorded on the PR timeline.
|
Why
Default macOS archive behavior can serialize resource and extended-attribute metadata as AppleDouble entries. Filtered archive listings can then hide the unsafe payload.
Changed
Verification
Residual risk
The standard-library central inventory does not prove absence of orphan local records. This remains bounded by the trusted system archive producer and is documented without adding a second ZIP parser.