funding: add coverage-guided fuzz harness for the channel-opening state machine#10972
funding: add coverage-guided fuzz harness for the channel-opening state machine#10972MPins wants to merge 1 commit into
Conversation
Add FuzzFundingManagerFSM, a native Go fuzz harness that drives the funding manager's channel-opening state machine. A single shared SUT (Alice) is exercised against a per-flow counterparty manager (Bob), with the corpus byte stream decoded into a sequence of events over one or more concurrent funding flows. The harness treats the SUT as the system under test and imposes all adversarial/inconsistent values from the counterparty side, so the SUT validates and rejects them while, as originator, only ever emitting valid values.
🟢 PR Severity: LOW
🟢 Low (1 file)
AnalysisThis PR consists solely of a new file, Since this is the only file in the diff and it's a test file, it's also excluded from the file-count/line-count bump calculation (0 non-test files, 0 non-test lines changed), so no severity bump applies. No production code in To override, add a |
Overview
This PR adds
FuzzFundingManagerFSM, a native Go coverage-guided fuzz harness that exercises the funding manager's channel-opening state machine end to end. It decodes the corpus byte stream into a sequence ofevents driving one or more concurrent funding flows against the manager.
Design
*Manager; each flow gets its own counterparty (Bob) manager. The SUT is what we're testing, so all adversarial or inconsistent values are imposed by the counterparty and the SUT must validate/reject them — as originator the SUT only ever emits valid values.channel_readymust be parked, not opened.