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.

23Projects watched
16864Commits captured
13261AI analyses
77High-risk findings · 30d
The watch feed

Changes worth understanding

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

13261 analyses
Highest risk·RSS
Moderate 60 AI analysisMessage 78 · Adequate
LL Lightning LabsLND BitcoinLightning Network

lnwire: cap decoded short channel IDs

This commit tightens a safety limit in LND's Lightning wire protocol parser. Previously, a compressed network message could decompress into an unbounded number of short channel IDs, potentially consuming far more memory than the wire messa…

Resource-limit bypass: compressed-input bound did not bound decoded outputMemory-exhaustion risk from zlib decompression of peer-supplied dataTruncated/corrupt zlib streams previously accepted as valid partial results
d1622919by Olaoluwa Osuntokun+271−502 files
No security note in commit
Informational 15 AI analysisMessage 81 · Strong
RB Rust Bitcoinrust-bitcoin BitcoinCryptographic libraries

units: Implement serde traits for relative lock times

This commit adds standard data serialization/deserialization support (serde traits) for two relative lock time types in the rust-bitcoin library. It is a routine API completeness change with no security relevance visible in the code or com…

f6d22308by Tobin C. Harding+45−01 file
No security note in commit
Informational 15 AI analysisMessage 45 · Thin
RB Rust Bitcoinrust-bitcoin BitcoinCryptographic libraries

Update the API text files

This commit only updates a generated text file that lists the public API surface of the Rust Bitcoin library. It records that several locktime-related types now implement standard serde serialization and deserialization traits. There is no…

e0e246e2by Tobin C. Harding+40−01 file
No security note in commit
Informational 18 AI analysisMessage 81 · Strong
RB Rust Bitcoinrust-bitcoin BitcoinCryptographic libraries

Implement serde traits for absolute locktime types

This commit adds standard data serialization/deserialization support (serde) for two Bitcoin locktime types: block height and median-time-past. It is an API completeness change, not a security fix or vulnerability. The new code validates v…

No security-relevant signals in commit message or diffNew deserialization path uses existing validated constructorsNo unsafe code, no cryptographic operations, no network/parsing surface expansion beyond serde feature
0252bea5by Tobin C. Harding+46−01 file
No security note in commit
Informational 20 AI analysisMessage 68 · Adequate
RB Rust Bitcoinrust-bitcoin BitcoinCryptographic libraries

units: make Sequence inner field private

This commit makes a single internal number field private in a Rust Bitcoin library type called Sequence. It is an API-cleanup change to follow Rust naming conventions (C-STRUCT-PRIVATE). It does not fix a memory corruption bug, a cryptogra…

No security signal: this is an API-encapsulation refactorNo validation or serialization logic changedNo unsafe code, no cryptographic operations modified
30f280daby satsfy (Renato Britto)+9−96 files
No security note in commit
Informational 19 AI analysisMessage 78 · Adequate
RB Rust Bitcoinrust-bitcoin BitcoinCryptographic libraries

units: remove Default from Sequence

This commit removes the automatic default value for the Bitcoin transaction `Sequence` type in the rust-bitcoin library. Previously, code that asked for a default sequence number would silently get the maximum value (0xffffffff), which dis…

Removal of Default impl for a consensus-relevant type (Sequence)Default previously returned Sequence::MAX, which disables BIP-68/BIP-112 relative timelocksNo advisory, CVE, or vendor security disclosure linked to the change
944f7f21by satsfy (Renato Britto)+1−237 files
No security note in commit
Informational 15 AI analysisMessage 80 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

chore(python): check OPTIONS.rst freshness

This commit adds a build-time check to ensure that a documentation file (OPTIONS.rst) for the trezorctl command-line tool is up to date. It does not change any security-sensitive code, cryptography, device firmware, or user-facing behavior…

e6859ec8by M1nd3r+38−113 files
No security note in commit
Informational 11 AI analysisMessage 65 · Adequate
EL ElectrumElectrum BitcoinSoftware wallets

lnrouter: LiquidityHints: add note about thread-safety

This commit adds a code comment warning that a performance-sensitive part of Electrum's Lightning payment routing reads shared data without a lock. It also makes a tiny code change to store a reference to an object before reading it, which…

Race condition acknowledged in new comment: concurrent update could happen while reading hints without lockNo actual synchronization introducedChange reduces but does not eliminate TOCTOU window in property getters
a3bb67b7by SomberNight+13−51 file
No security note in commit
Informational 11 AI analysisMessage 50 · Thin
EL ElectrumElectrum BitcoinSoftware wallets

lnrouter: add note about can_pay() false positives for concurrent MPP routes

This commit only adds a code comment explaining a known limitation in Electrum's Lightning payment routing. It does not change any behavior. The note warns that when sending a payment split across multiple routes (multi-path payments, or M…

Comment-only changeAcknowledges a race condition / false positive in MPP route feasibility checksNo functional patch or mitigation present
82b6602aby SomberNight+3−01 file
No security note in commit
Moderate 51 AI analysisMessage 85 · Strong
EL ElectrumElectrum BitcoinSoftware wallets

lnrouter: use separate timestamp per liquidity hint value

This commit fixes a bug in Electrum's Lightning payment routing that could cause the wallet to avoid using a channel for large payments longer than it should. After a small payment succeeded, an old record of a failed large payment could i…

Logic bug in routing state expiration could cause denial of service for large Lightning paymentsShared timestamp allowed stale failure hints to be reactivated by unrelated success updatesSetter comparisons against raw internal values instead of getter-validated values allowed expired hints to block new data
03c2b412by f321x+75−332 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