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

improve psbt/tx matching and ensure incoming psbt signatures are always verified

Public commit record

What the developer wrote

Authored by Craig Raw

50/100 · Thin
improve psbt/tx matching and ensure incoming psbt signatures are always verified
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
The short version

What changed, and why it matters

This commit changes how Sparrow Wallet matches incoming PSBTs (Partially Signed Bitcoin Transactions) against already-open transaction tabs, and adds verification of signatures before combining them. Previously, the app matched transactions by exact byte-for-byte equality and then merged PSBTs without checking that signatures in the incoming PSBT were valid. Now it matches by transaction ID and witness data, warns when two transactions share the same ID but have different witnesses, verifies signatures before merging, and warns users about silent-payments transactions whose recipient addresses cannot be verified. The change reduces the risk that a malicious or malformed PSBT could silently overwrite or merge with an existing transaction.

Recommended action

Review the updated drongo and lark submodule commits to confirm the implementation of PSBT.matches(), verifyCombinedSignatures(), possibleUnverifiableSilentPaymentsTransaction(), and copyFinalizedFields(). Test that invalid signatures in an incoming PSBT are rejected, that same-txid/different-witness transactions trigger the warning, and that silent-payments unverifiable transactions require explicit user confirmation. Consider whether the warning dialogs are sufficient to prevent social-engineering attacks where users are tricked into clicking through.

Security signals we found

01

PSBT signature verification added before combine() in AppController

02

PSBT signature verification added before combine() in HeadersController

03

Transaction matching changed from byte-level equality to txid/wtxid/PSBT.matches() comparison

04

Warning dialog added for same-txid/different-witness transactions

05

Warning dialog added for unverifiable silent-payments outputs

06

Submodule updates to drongo and lark likely contain PSBT verification and silent-payments helpers

Risk score

Why this scored 58/100

Our methodology →
Potential impact 18/30
Exploitability 12/25
Stealth signal 8/15
Affected reach 10/15
Confidence 7/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.