Continuous public-repository analysis

Open source.
Not open secrets.

We watch what security-critical projects change—then translate the code into clear, independent intelligence anyone can understand.

24Projects watched
17782Commits captured
17251AI analyses
98High-risk findings · 30d
The watch feed

Changes worth understanding

AI analysis is published as generated. Community notes appear after human validation.

17251 analyses
Highest risk·RSS
Low 29 AI analysisMessage 95 · Strong
KX KruxKrux BitcoinHardware wallets

fix: return None when decrypting an unknown or non-dict mnemonic id

This commit fixes a small bug in how Krux loads saved encrypted seed data. Previously, if the saved file was valid JSON but shaped like a list instead of a dictionary, or if the requested seed ID was missing, the code could crash with an A…

Fixes exception-handling bug that could crash decrypt() on missing or malformed storage entriesAdds input validation for JSON shape (dict vs list/other) when loading mnemonic storageAdds unit tests covering malformed/non-dict JSON and unknown mnemonic IDs
a2882082by kkdao+101−102 files
No security note in commit
Low 35 AI analysisMessage 85 · Strong
KX KruxKrux BitcoinHardware wallets

refactor: drop non-dict JSON coercion in encryption storage

This commit changes how Krux loads its encrypted seed storage file. Previously, if the file contained valid JSON but in the wrong shape (for example, a list instead of a dictionary), the app would silently treat it as empty and overwrite i…

Behavior change in persistence layer: malformed-shape but valid JSON is no longer silently normalized to empty dictPotential data-loss vector removed: previous code would overwrite a non-dict seeds.json on next storeCrash-prevention guard retained in decrypt() for non-dict storage
2d195ad3by kkdao+3−622 files
No security note in commit
Moderate 54 AI analysisMessage 85 · Strong
KX KruxKrux BitcoinHardware wallets

fix: preserve corrupt seeds.json instead of overwriting on store

This commit fixes a bug in Krux, a Bitcoin hardware-wallet tool, where saving a new encrypted seed could silently overwrite a damaged seeds.json file. The patch makes the app detect corrupt or misshapen seed storage and stop the save, pres…

Data-loss prevention: stops silent overwrite of recoverable seed storageDefensive input validation: rejects non-dict JSON shape before writeException-based guard added to storage write path
e44d4324by odudex+167−254 files
No security note in commit
Low 32 AI analysisMessage 73 · Adequate
LDK Lightning Dev Kitrust-lightning BitcoinCryptographic librariesLightning Network

Always emit SpliceNegotiationFailed when contributing

This patch fixes a bug in Lightning Dev Kit's splicing feature where a channel participant (the 'acceptor') could fail to receive a notification when a splice negotiation they contributed to fell through. Without that notification, the use…

API guarantee violation: missing failure event for one partyPotential wallet-level fund unavailability / UX degradationNo cryptographic flaw or remote code execution vector
367c657aby Wilmer Paulino+15−502 files
No security note in commit
Informational 19 AI analysisMessage 73 · Adequate
LDK Lightning Dev Kitrust-lightning BitcoinCryptographic librariesLightning Network

Only emit Event::SpliceNegotiated when contributing

This commit changes when users of the Lightning Dev Kit library are notified about a 'splice'—a way to resize a Lightning channel's on-chain funding. Previously both sides got an event when a splice was negotiated. Now only the side that a…

Behavioral change in event emission only; no cryptographic or consensus logic modifiedNo change to transaction validation, signature checks, or fund handlingCommit message explicitly describes change as reducing noise, not fixing a vulnerability
2334a200by Wilmer Paulino+113−915 files
No security note in commit
Low 33 AI analysisMessage 73 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

channeld: reject `closing_complete` and `closing_sig` with a clear error

This change makes a Lightning node respond with a clear warning error if a peer sends certain closing-related messages at the wrong time, instead of silently following the default 'unknown message' path. It is a hardening fix that prevents…

Explicit rejection of protocol messages that should not occur in this daemon statePrevents silent handling of closing_complete/closing_sig inside channeldUses peer_failed_warn to disconnect with a descriptive error
e081eb3eby Níckolas Goline+7−21 file
No security note in commit
Low 35 AI analysisMessage 73 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

closingd: add `lightning_simpleclosed` for `option_simple_close`

This commit adds a new sub-program (lightning_simpleclosed) to Core Lightning that implements a new, simpler way for two Lightning nodes to agree on closing a payment channel together. It is a feature addition, not a documented security fi…

New subdaemon handling channel-close funds and signaturesSignature validation on closing_complete / closing_sig via check_tx_sigFee sanity checks against local/remote balances
9f2f4350by Níckolas Goline+841−65 files
No security note in commit
Low 37 AI analysisMessage 83 · Strong
EP Elements ProjectCore Lightning BitcoinLightning Network

lightningd: wire up `option_simple_close` master-side handling

This commit turns on a new experimental Lightning feature called 'simple close' (BOLT2 option_simple_close). It adds the master-side code that starts a new subdaemon, validates mutual-close transactions, stores them, and broadcasts them in…

New subdaemon introduced with HSM signing permission for closing transactionsValidation added for mutual close transaction inputs and output scriptsRemote signature verification before storing close transaction
ce119cd2by Níckolas Goline+332−57 files
No security note in commit
Informational 15 AI analysisMessage 72 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

test: add run-close_tx to validate simple-close transaction functionality

This commit only adds a new unit test file and updates the build Makefile to compile it. It does not change any production code, so it cannot introduce a runtime security vulnerability by itself. The test exercises the existing create_simp…

281ad119by Níckolas Goline+297−02 files
No security note in commit
Low 35 AI analysisMessage 83 · Strong
EP Elements ProjectCore Lightning BitcoinLightning Network

simpleclosed.c: add heuristic to delay our tx broadcast if our amount is less AND our fee is less than our peer's amount and fee in case of a reboot the tx will be broadcast as usual.

This commit adds a one-hour delay before Core Lightning broadcasts a mutual channel-close transaction when the local node has the smaller payout and proposed a lower fee than its peer. The goal is to let the peer's higher-fee transaction w…

Race-condition mitigation in mutual-close broadcast after reconnect/rebootHeuristic delay to avoid redundant competing close transactionsNew wire message field delay_broadcast
da67bf84by Níckolas Goline+110−64 files
No security note in commit
Informational 15 AI analysisMessage 83 · Strong
EP Elements ProjectCore Lightning BitcoinLightning Network

common: add `OPT_SIMPLE_CLOSE` feature bit (60/61)

This commit adds a new experimental Lightning protocol feature called 'simple close' (feature bits 60/61). It is purely a feature flag and configuration plumbing change: it reserves the feature bit, registers a command-line option, and upd…

ff9e556cby Níckolas Goline+748−61414 files
No security note in commit
01
Why commit watching?

Security should leave a paper trail.

A quiet fix may be responsible caution—or it may leave users unaware that their assets were ever at risk. CommitWatch preserves the evidence, adds context, and tracks whether vendors disclose, acknowledge, and learn.

Why we built this