Skip to content

Reject contradictory digests in legacy verification reports - #58

Merged
mikecerisano merged 1 commit into
mainfrom
work/legacy-digests-ship-20261019
Oct 20, 2026
Merged

mikecerisano merged 1 commit into
mainfrom
work/legacy-digests-ship-20261019

Conversation

@mikecerisano

Copy link
Copy Markdown
Collaborator

A legacy report could name Standard, Thorough or Paranoid and bypass validation of its supplied digest list. For example, standard with ROT13 could be shown as verified. The reader now rejects unsupported, malformed or contradictory supplied algorithms before classifying the evidence.

Genuine older reports with no algorithm remain readable. Generic checksum and byte-comparison records still avoid claiming a selected transfer mode they never recorded. Current writer outputs retain their existing behavior.

The decisive regression fails on unchanged main, and engine compatibility tests plus Mac report-scanner tests cover the corrected rules. This changes evidence interpretation only; copying, destination readback and the verification defaults are unchanged.

Local gates: engine XCTest 183 tests (20 expected skips), Swift Testing 216 tests across 38 suites; Mac 1,238 passed with 14 expected skips; universal iPhone/iPad simulator build succeeded. No failures in these gates. Independent review found no remaining defect in the delta. CI is not used as a gate because the account's minutes are exhausted.

@mikecerisano
mikecerisano merged commit 4b3da80 into main Oct 20, 2026
4 of 8 checks passed
@mikecerisano
mikecerisano deleted the work/legacy-digests-ship-20261019 branch October 20, 2026 00:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant