RR
← Developer activityStrong match

Rusty Russell

Public commit activity attributed with strong match confidence. This page describes observable work, not personal trustworthiness.

959 commits2 monitored projects73 candidates0 high-risk analyses
Project constellation

Where the commits appear

Amber nodes are monitored by CommitWatch. Gray nodes are sampled from authenticated GitHub public commit search and may not represent complete contribution history.

Monitored External sample
Projects connected to Rusty RussellA visual map of monitored and externally discovered repositories.RRdeveloper958Core Lightning1Eclair
Monitored evidence

CommitWatch projects

External discovery

Other public projects

No external sample loaded yet.

A verified GitHub handle is needed before external discovery.
Analyzed activity

Recent published watches

Message quality and risk characterize commits, never the person.

Informational 15 AI analysisMessage 65 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

global: replace randombytes_buf() with randbytes() wrapper.

This commit only adds a new header include (<common/randbytes.h>) to 24 test files. It does not change any production code, cryptographic operations, or runtime behavior. The change is a test-infrastructure refactor to support deterministi…

72fd8b5cby Rusty Russell+24−024 files
No security note in commit
Informational 15 AI analysisMessage 70 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

autogenerate-rpc-examples.py: disable entropy for generation.

This commit changes Core Lightning's internal test tooling so that automatically generated RPC documentation examples use predictable randomness and a fixed clock time. It only affects test/example generation code, not the production Light…

81443075by Rusty Russell+14−12 files
No security note in commit
Informational 15 AI analysisMessage 65 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

lightning-downgrade: prepare for downgrading to v26.04.

This commit is routine release bookkeeping. It adds a new version marker (v26.04) to the downgrade tool and a comment in the database migration list so that users who later downgrade from v26.04 to an earlier release have the correct metad…

cc8c043fby Rusty Russell+2−02 files
No security note in commit
Low 35 AI analysisMessage 65 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

connectd: rescue constant message size feature by exploiting option 154 (Eclair).

This commit adjusts when Core Lightning pads ping messages to keep packet sizes uniform. It now skips padding when talking to Eclair nodes that advertise feature bit 154, because Eclair had a similar bug where it did not reply to certain p…

Workaround for a known interoperability bug in another implementation (Eclair)Avoids sending 'no reply' pings to peers known to mishandle themReferences a prior bug where uniform writes caused issues with non-replying peers
a65c6975by Rusty Russell+8−11 file
No security note in commit
Low 34 AI analysisMessage 65 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

connectd: rescue constant message size feature by exploiting OPT_ONION_MESSAGES (LND)

This change adjusts when Core Lightning pads its network messages to a constant size. Previously padding was controlled by a developer/testing flag. Now it is enabled only when the connected peer advertises support for 'onion messages' (a …

Privacy feature preservation: uniform packet sizes can reduce traffic-analysis leakage.Interoperability workaround: avoids disconnects with LND peers that do not tolerate padded pings.No direct security bug patched in the diff (no bounds check, auth, crypto, or memory fix).
52b70043by Rusty Russell+5−11 file
No security note in commit
Informational 15 AI analysisMessage 65 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

common: add tal_free_if_taken() helper for common case.

This commit is a straightforward code cleanup: it introduces a small helper function called tal_free_if_taken() and replaces many repeated two-line patterns across the codebase with calls to that helper. The behavior of the program is unch…

9b85a247by Rusty Russell+55−9229 files
No security note in commit
Informational 15 AI analysisMessage 95 · Strong
EP Elements ProjectCore Lightning BitcoinLightning Network

bitcoin: hoist script_with_len out of wallet/ into here.

This commit is a routine code cleanup: it moves a small helper structure and its hash/equality functions from the wallet module to the more general Bitcoin module so other code can reuse them. It also updates many test files to provide a s…

8f8cab0eby Rusty Russell+187−7056 files
No security note in commit
Informational 15 AI analysisMessage 91 · Strong
EP Elements ProjectCore Lightning BitcoinLightning Network

pytest: make global exclusion for "That's weird: Request X took Y msec" under valgrind.

This is a test-only change that stops CI test failures caused by slow valgrind runs. It does not change the actual Core Lightning node software that users run, so it has no direct security impact on real systems.

a9a72adcby Rusty Russell+7−53 files
No security note in commit
Informational 15 AI analysisMessage 75 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

wallet: conduct unit tests with both bip86 and bip32.

This commit only changes test code. It makes the wallet unit tests run twice: once using the older BIP32 key derivation setup and once using the newer BIP86 setup. No production code is modified, so it cannot directly affect real users or …

fe5c3c95by Rusty Russell+32−251 file
No security note in commit
Informational 15 AI analysisMessage 81 · Strong
EP Elements ProjectCore Lightning BitcoinLightning Network

pytest: don't get upset at slow multi-input signing under valgrind.

This is a test-only change. A developer made a test more tolerant of slow performance when the code is run under a debugging/performance-analysis tool called valgrind. It does not change the actual wallet or signing code, so it has no secu…

7971e6aaby Rusty Russell+2−11 file
No security note in commit
Informational 15 AI analysisMessage 65 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

wallet: separate migration table into its own source file.

This commit is a pure code refactoring: it moves the large database migration table and related functions from wallet/db.c into a new pair of files, wallet/migrations.c and wallet/migrations.h. The goal stated in the commit message is to m…

6dcf4e7bby Rusty Russell+1206−119213 files
No security note in commit
Informational 15 AI analysisMessage 65 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

wallet: separate datastore access functions for the lightning-downgrade tool to access.

This commit is a straightforward code reorganization: it moves existing datastore (key-value storage) database access functions out of wallet.c into a new pair of files, datastore.c and datastore.h, so a separate downgrade tool can reuse t…

2a066b92by Rusty Russell+249−1648 files
No security note in commit
Informational 18 AI analysisMessage 73 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

wallet: add optional sql and functions to downgrade db.

This commit adds infrastructure to Core Lightning's database code so that future versions can, in some cases, roll back (downgrade) a database to the previous software version. It is a feature addition, not a fix for an active security bug…

New downgrade/revert capability added to database migration frameworkRevert function refuses downgrade when new schema data has been used (withheld column)No input validation, parsing, or network-facing logic changed
378293d2by Rusty Russell+63−51 file
No security note in commit
Informational 24 AI analysisMessage 73 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

tools/lightning-downgrade: tool to downgrade (offline) v25.12 to v25.09.

This commit adds a new offline command-line tool, lightning-downgrade, that lets a user roll back a Core Lightning node's database from the upcoming v25.12 release to the previous v25.09 release. It is meant as a recovery aid if an upgrade…

New database schema mutation utility with revert SQL/function pathsRefuses to run when lightningd PID file is present, mitigating live-node downgrade riskDeletes gossip_store when target version is marked incompatible
9981e238by Rusty Russell+348−25 files
No security note in commit
Informational 21 AI analysisMessage 73 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

lightningd: save funding PSBT to database if we're to withhold it.

This commit adds plumbing to remember whether a new Lightning channel's funding transaction is being deliberately withheld from broadcast, and to store the unsigned funding PSBT in the database so it can be signed and broadcast later. The …

New database column and persistence path for funding PSBT tied to a withholding flagHard-coded false value with FIXME suggests feature is incomplete and not exposedNo input validation or access-control changes visible in the diff
ff433a17by Rusty Russell+44−1311 files
No security note in commit
Low 41 AI analysisMessage 65 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

lightningd: remove withheld flag when we see sendpsbt.

This change fixes a bookkeeping bug in Core Lightning's wallet code. When a user calls the `sendpsbt` RPC to broadcast a funding transaction, the code now clears an internal 'withheld' flag on the relevant channel. Previously, this flag co…

State-machine inconsistency: a channel flag was not cleared after the corresponding action (sending PSBT) was performedPotential denial-of-service or stuck channel state due to stale flagNo input validation or memory-safety bug visible in the diff
ead680ebby Rusty Russell+6−11 file
No security note in commit
Low 43 AI analysisMessage 70 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

pytest: test for signing a signed PSBT.

This commit adds a test showing that Core Lightning crashes when asked to sign a PSBT (a Bitcoin transaction format) that has already been signed. The test is marked as expected to fail for now. It is a test-only change, not a fix, so the …

Crash on re-signing already-signed PSBT via RPCTest-only commit documenting a known failurePotential denial-of-service vector through `signpsbt` RPC
eaf7ac19by Rusty Russell+17−01 file
No security note in commit
Moderate 60 AI analysisMessage 81 · Strong
EP Elements ProjectCore Lightning BitcoinLightning Network

common: don't abort() if wally_psbt_output_taproot_keypath_add() fails.

This update fixes a crash in Core Lightning's wallet command `signpsbt`. When asked to sign a PSBT (a Bitcoin transaction format) that already contains taproot signatures, the underlying library would fail and the program would call `abort…

Denial-of-service vector: JSON-RPC `signpsbt` on an already-signed taproot PSBT caused node abort()Crash-to-error conversion: fatal abort() replaced with boolean return and graceful failureLibrary bug dependency: failure caused by libwally-core rejecting duplicate taproot keypaths
f284489cby Rusty Russell+58−277 files
Vendor flagged security relevance
Informational 20 AI analysisMessage 73 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

lightningd: save funding_psbt in channel, database.

This commit restores the use of an existing database column called funding_psbt in Core Lightning. It stores the unsigned Bitcoin transaction (PSBT) used to fund a Lightning channel in the channel record and database. The change itself is …

Restores persistence of unsigned funding PSBT in database columnAdds funding_psbt to channel, closed_channel, and funding_channel structsUpdates wallet save/load paths for active and closed channels
5cbab33dby Rusty Russell+61−1411 files
No security note in commit
Low 32 AI analysisMessage 65 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

sendpsbt: update channel psbts if this is a channel PSBT.

This change makes the sendpsbt RPC command smarter: if the transaction being sent matches a PSBT that was promised for a new or spliced Lightning channel, the node now saves the final signed version with that channel so it can re-send it a…

PSBT equivalence comparison ignores signatures and most PSBT fields, comparing only inputs/outputsChannel funding PSBT is overwritten when an equivalent PSBT is sent via sendpsbtSplice signing path now persists updated funding PSBT
ae9ecba3by Rusty Russell+113−24 files
No security note in commit
Wrong identity?Names can collide and public author strings can be misleading.Contact commitwatch@karma-x.io →