[GH-ISSUE #2330] fix(artifacts): correct ZIP non-entry coverage description #769

Closed
opened 2026-10-15 18:28:11 +00:00 by bsakaguchi · 1 comment
Owner

Originally created by @matbrgz on GitHub (Oct 12, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/2330

ZIP_NON_ENTRY_TAIL_LIMITATION says bytes after the central directory include an APK Signing Block. The APK v2 signing block actually precedes the central directory. The inventory omits non-entry data on either side, so the current explanation can mislead an analyst about examined coverage.

The canonical limitation is shared by inventory and artifact comparison; its wording must be corrected at its owner rather than patched downstream.

Primary reference: https://source.android.com/docs/security/features/apksigning/v2#apk-signing-block

Acceptance:

  • Describe omitted data regardless of its position relative to the central directory.
  • Keep the existing public constant name and comparison behavior compatible.
  • Verify through real archive inventory that ZIP comments do not become occurrences, while whole-file hashes distinguish otherwise equal archives.
  • Run focused boundary tests and static checks.

Plan: docs/specs/001-zip-inventory-coverage/. This changes reporting only; no execution, mutation, extraction or signature verification capability is added.

Originally created by @matbrgz on GitHub (Oct 12, 2026). Original GitHub issue: https://github.com/morluto/rea/issues/2330 `ZIP_NON_ENTRY_TAIL_LIMITATION` says bytes after the central directory include an APK Signing Block. The APK v2 signing block actually precedes the central directory. The inventory omits non-entry data on either side, so the current explanation can mislead an analyst about examined coverage. The canonical limitation is shared by inventory and artifact comparison; its wording must be corrected at its owner rather than patched downstream. Primary reference: https://source.android.com/docs/security/features/apksigning/v2#apk-signing-block Acceptance: - [ ] Describe omitted data regardless of its position relative to the central directory. - [ ] Keep the existing public constant name and comparison behavior compatible. - [ ] Verify through real archive inventory that ZIP comments do not become occurrences, while whole-file hashes distinguish otherwise equal archives. - [ ] Run focused boundary tests and static checks. Plan: `docs/specs/001-zip-inventory-coverage/`. This changes reporting only; no execution, mutation, extraction or signature verification capability is added.
bsakaguchi 2026-10-15 18:28:11 +00:00
Author
Owner

@morluto commented on GitHub (Oct 14, 2026):

Addressed on main in 3cb9d61ec.

ZIP comparison describes non-entry/signing-block coverage accurately.

Validation: Eleven artifact comparison boundary tests passed, including non-entry archive byte coverage; static gate passed.

Verification scope: None identified in source audit; exact workload not separately run.

<!-- gh-comment-id:6158650802 --> @morluto commented on GitHub (Oct 14, 2026): Addressed on main in [3cb9d61ec](https://github.com/morluto/rea/commit/3cb9d61ec). ZIP comparison describes non-entry/signing-block coverage accurately. Validation: Eleven artifact comparison boundary tests passed, including non-entry archive byte coverage; static gate passed. Verification scope: None identified in source audit; exact workload not separately run.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#769
No description provided.