AI-generated analysisPublished automatically and not human-verified. Validated context appears in community notes below.
← Watch feed
Low 42 Bitcoin

BIP-322 msg verification

Public commit record

What the developer wrote

Authored by scgbckbone

38/100 · Opaque
BIP-322 msg verification
✓ Subject identifies a change✓ Mentions testing or verification! No meaningful explanatory body! Opaque security-relevant change
The short version

What changed, and why it matters

This commit adds a new user-facing verification step for BIP-322 'Proof of Reserves' messages on the COLDCARD hardware wallet. Before signing a proof-of-reserves transaction, the device now asks the user to import or type the original human-readable message, checks that it matches the cryptographic hash embedded in the transaction, and shows it on screen for approval. This is a security-hardening feature: it closes a gap where the user might otherwise sign a proof without seeing what message they are actually attesting to. The commit itself is defensive and does not appear to introduce an obvious vulnerability, but it is a partial implementation (marked with TODOs) and the change is large enough that bugs in the new input paths could affect signing safety.

Recommended action

Review the new `por322_msg_verify()` function for robust input validation and safe failure handling, especially around the assert-based checks and exception paths. Complete the TODOs (move the BIP-322 tag hash to a constants module and adopt the newer `libngu` sha256t API). Ensure the NFC/QR/SD/vdisk import paths sanitize or length-limit messages appropriately and that malformed input cannot crash or confuse the signing flow. Run the expanded test suite, including the new `test_bip322_msg_import` parametrized cases, on real hardware.

Security signals we found

01

Adds user-verifiable message display before BIP-322 proof-of-reserves signing

02

Adds hash-equality check between supplied message and PSBT embedded message hash

03

Introduces new untrusted input paths: NFC, QR/BBQR, SD card, virtual disk, and on-device keyboard for BIP-322 messages

04

Contains TODO comments indicating the implementation is incomplete

05

Hard-codes BIP-322 tag hash as a raw byte literal with a TODO to move it elsewhere

06

Uses assert for error handling on user-supplied data (msg_hash comparison)

07

No explicit vendor security disclosure or CVE references present in commit or supplied materials

Risk score

Why this scored 42/100

Our methodology →
Potential impact 12/30
Exploitability 8/25
Stealth signal 6/15
Affected reach 7/15
Confidence 6/10
Evidence quality 3/5
Human-validated context

Community notes

Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.

No validated notes yet.

The AI analysis stands alone for now. Submit a note if you can add evidence or important context.