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

Enforce that the splice initiator set a non-zero funding contribution

Public commit record

What the developer wrote

Authored by Leo Nash

50/100 · Thin
Enforce that the splice initiator set a non-zero funding contribution
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
The short version

What changed, and why it matters

This commit adds a check in the Lightning Dev Kit's channel code to reject splice attempts where the party initiating the splice contributes zero new funds. Previously, such a zero-contribution splice could be accepted, which may have allowed a peer to trigger invalid or unintended splice state transitions. The fix disconnects the peer with a warning when this happens.

Recommended action

Treat as a low-to-moderate hardening fix. Review the full splice flow for additional missing validation, add regression tests for zero and negative contributions, and complete the noted TODO reserve checks before enabling splicing in production.

Security signals we found

01

Missing input validation on a peer-controlled field (funding_contribution_satoshis) before state transition

02

Peer-triggered error path now disconnects with warning, indicating a protocol-violating condition

03

Splicing is an advanced, less-audited code path in Lightning implementations

04

Patch is partial: adjacent TODO notes additional reserve checks are still unimplemented

Risk score

Why this scored 49/100

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