test(taproot): require physical signing confirmations - #208
Merged
BitHighlander merged 1 commit intoAug 3, 2026
Merged
Conversation
BitHighlander
marked this pull request as ready for review
August 3, 2026 22:28
BitHighlander
merged commit Aug 3, 2026
7826459
into
keepkey:reconcile/upstream-sync
2 checks passed
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.
Problem
Physical testing of the exact v7.15.0-rc23 full firmware artifact returned a valid 64-byte P2TR Schnorr signature without showing either transaction confirmation on the KeepKey. A P2WPKH control transaction on the same device and transport did require physical approval.
The deterministic P2TR vector checked only the signature bytes, so it could pass without asserting the security-critical button policy.
Change
Pin the complete expected response sequence for the real P2TR-input vector. The device must emit
ButtonRequest_ConfirmOutputand thenButtonRequest_SignTxbefore phase-2 input/output requests and Schnorr signing.This is a test-only change; it does not alter the wire schema or device protocol.
Verification
python3 -m py_compile tests/test_msg_signtx_taproot.pygit diff --checkHardware evidence
92b292eb460c462df9084131a67a78f24fd4061b6d11822401dddd47c07c967fThis PR is intentionally draft until the paired firmware fail-closed guard and exact-head integration run are green.