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

Add PSBT with empty fingerprint support

Public commit record

What the developer wrote

Authored by alvroble

68/100 · Adequate
Add PSBT with empty fingerprint support

* Added `fill_zero_fingerprints` and `_fill_zero_fingerprint_scope` to fill
zero fingerprints each time before parsing a PSBT.
* Modified `has_matching_input_fingerprint` to match also on zero fingerprint
PSBTs and remove the (?) sign for matching seeds.
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
The short version

What changed, and why it matters

This commit changes how SeedSigner handles Bitcoin transaction files (PSBTs) that contain placeholder '00000000' fingerprints. Normally, a fingerprint identifies which wallet seed a transaction belongs to. Some wallet software exports incomplete data (xpub only, no derivation path), leaving zeros in the fingerprint field. Previously, SeedSigner could not recognize these transactions as belonging to the user's seed, showing a '?' and potentially refusing to sign. The new code tries to reconstruct the correct fingerprint by deriving public keys from the seed and comparing them. This is a usability fix, not a vulnerability patch, but it touches security-critical matching logic.

Recommended action

Review the fallback logic carefully during normal QA. Ensure that `self.root` is always the correct seed root before `fill_zero_fingerprints()` runs, because the function trusts `self.root` to rewrite fingerprints. Consider whether an attacker can craft a PSBT with a zero fingerprint and a derivation path that accidentally matches a different seed's derived key; the comparison is against `pub.sec()`, so this would only succeed if the public key genuinely belongs to the seed, which is the intended behavior. No urgent security patch is indicated.

Security signals we found

01

Change to fingerprint matching logic for PSBT ownership verification

02

New fallback derivation-and-public-key comparison when fingerprint is zero

03

Mutation of PSBT derivation metadata before parsing/signing

04

Taproot and legacy BIP32 derivation paths both affected

05

No input sanitization changes or network/serialization hardening

Risk score

Why this scored 32/100

Our methodology →
Potential impact 8/30
Exploitability 4/25
Stealth signal 3/15
Affected reach 6/15
Confidence 7/10
Evidence quality 4/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.