feat(ltk_sig): add mod signing crate#173
Open
moonshadow565 wants to merge 3 commits into
Open
Conversation
…ide_chunk The single source of truth for how override data appears inside a patched WAD (file-type identification, audio kept uncompressed, everything else Zstd level 3), so statement extraction can record compressed checksums that match the merged WAD byte-for-byte. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- COSE/CWT token layer: unsigned statements (identity = SHA-256 of the bytes), platform-signed attestations (mandatory expiry, optional account binding) and roots, content-addressed statement sets, and the baked platform set with enforced lane policies - set digests are RFC 6962 Merkle tree hashes over the statement hashes (domain-separated leaf/node hashing, verified against the CT known-answer vectors); the canonical encoding still pins the exact file bytes, and the same signed digest anchors RFC 9162 audit paths: the overlay builder extracts one compact InclusionProof per used statement (StatementSet::prove, 32*log2(n) bytes) so a runtime holding only the baked platform set checks root signature -> audit path -> statement hash without ever reading a set file - trust: per-platform root ratchet (baked freshness floor, forward-only) and the attestation rule (direct + membership + inclusion lanes, any-of across platforms); bundled sets are keyed by (name, digest) so same-named sets from different platforms cannot shadow each other - verify: verification context that attests statements once and answers per-file queries from a lookup table; file digests cover the decompressed bytes - base_skin (feature `base-skin`): merged-WAD base-skin diagnostics against the original game WAD, with the resolve walk generalized over chunk sources and a canonical WAD TOC digest derivation - league-sig: ceremony and verification CLI (keygen, pubkey, statement extraction, set building, root signing, overlay build, verify) -- statements are extracted over the virtual merged WAD and sign exactly the mesh references the base-skin check enforces; sign-root derives iat per the supersession rule, max(now, predecessor + 1), with --predecessor guarded against foreign tokens Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Fixes the security-audit CI failure: crossbeam-epoch 0.9.18's fmt::Pointer impl dereferences invalid pointers. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Almost fully vibecoded over previously unpushed handrolled code.