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.

34Projects watched
24903Commits captured
21206AI analyses
53High-risk findings · 30d
Active security advisories
Critical

Core Lightning v26.06.9: urgent loss-of-funds security update

Core Lightning says v26.06.9 fixes a newly reported vulnerability that can lead to loss of funds. The release also contains security fixes in channel reestablishment, splicing, HTLC shutdown handling, onion and on-chain handling, gossip range queries, runes, configuration, and several remote-crash and hardening fixes.

Affected: Every Core Lightning node running v26.06.8 or earlier is affected, according to the vendor. Technical tests for the security fixes are temporarily withheld to slow exploit development while operators upgrade.

Action: Upgrade to Core Lightning v26.06.9 immediately. Download the release from https://github.com/ElementsProject/lightning/releases/tag/v26.06.9, verify the appropriate signed SHA256 manifest and checksums for your architecture, install it, restart lightningd, and confirm the running version.

Read source ↗
Critical

Liquid Network: ~4,000 BTC withdrawn in critical peg incident

Liquid confirms that purported white-hat actors withdrew roughly 4,000 BTC (about $320 million) from its federation wallet through the SideSwap PAK. Liquid says the PAK and other federation keys were not compromised. The actors have not yet returned the funds. Independent public analysis points to a newly introduced range-proof cache-key flaw, but Liquid has not yet published its root-cause report.

Affected: The L-BTC peg and Liquid federation reserves are affected. Bridge nodes are disabled, the sidechain is paused, and exchanges have suspended L-BTC deposits and withdrawals. Liquid says other issued assets, including USDT, DePix, and RWAs, are unaffected; Bitcoin's base layer is not affected.

Action: Do not initiate Liquid peg-ins, peg-outs, swaps, or L-BTC exchange deposits or withdrawals while the network is paused. Follow official Liquid and Blockstream updates, and treat L-BTC peg exposure as impaired until reserves are restored and a verified fix and incident report are published.

Read source ↗
Critical

BTCPay Server: actively exploited LND credential theft

BTCPay confirms that an unauthenticated remote attacker could obtain LND .macaroon credentials, take control of affected LND nodes, and move funds. The vendor reports confirmed exploitation and stolen funds.

Affected: BTCPay Server versions before 2.4.2, including 2.4.2 release candidates, when used with LND. BTCPay says other Lightning implementations are not exposed to this specific credential risk.

Action: Update to BTCPay Server 2.4.2 and LND 0.21.1 immediately, review node activity, and rotate credentials. If you cannot update now, take the affected server offline.

Read source ↗
The watch feed

Changes worth understanding

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

21206 analyses
Highest risk·RSS
Moderate 63 AI analysisMessage 100 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#34931: validation: abort on DB unreadable coins instead of treating them as missing

This change fixes a bug where Bitcoin Core could silently treat a corrupted UTXO database entry as if the coin did not exist. Under the old behavior, if a coin on disk could not be deserialized, the node would act like the coin was spent, …

Consensus-critical silent failure: corrupted UTXO read treated as missing coinPotential permanent chain divergence via BLOCK_FAILED_VALIDFix adds explicit error propagation and clean shutdown on DB deserialization failure
59fd053dby merge-script+320−116 files
Vendor flagged security relevance
Low 31 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

feat(legacy): support definitions v2

This commit updates the Trezor One (legacy firmware) to use version 2 of the external Ethereum token/network definition format. The key change is that legacy firmware now requires only one valid signature instead of two, and explicitly rej…

Change in signature threshold from 2 to 1 for legacy firmwareFormat version bump from v1 to v2 for legacy accepted definitionsNew test ensuring v1 definitions are rejected on legacy
804371fdby obrusvit+28−66 files
No security note in commit
Informational 15 AI analysisMessage 91 · Strong
LD LedgerLedger Bitcoin app BitcoinHardware wallets

unit-tests: drive the BIP-322 tests from the BIP's pinned test vectors

This commit is a routine improvement to the project's automated tests. It replaces two hand-copied BIP-322 test cases with a larger set of official, pinned test vectors (including a new UTF-8 message case) and adds a code generator plus CI…

2e1d265cby Ruben Waterman+874−897 files
No security note in commit
Informational 12 AI analysisMessage 100 · Strong
LD LedgerLedger Bitcoin app BitcoinHardware wallets

bip322: label as v2.0.0 and test proof-of-funds without message_challenge

This commit is a documentation and test update for the Ledger Bitcoin app. It updates references to BIP-322 from an unspecified version to v2.0.0, clarifies that a proof-of-funds message signature must still include the virtual first input…

Regression test added for missing message_challenge in BIP-322 proof-of-fundsDocumentation updated to cite BIP-322 v2.0.0 requirement that first input is not optionalError-code comment clarified to mention missing message_challenge case
056fad95by Ruben Waterman+73−317 files
No security note in commit
Informational 19 AI analysisMessage 91 · Strong
LDK Lightning Dev Kitrust-lightning BitcoinCryptographic librariesLightning Network

Expose the dummy-hop tail constructor publicly

This commit makes a previously internal helper function public so that outside developers can build dummy-hop tails for blinded payment paths without recreating the logic themselves. It is an API usability change, not a fix for a known sec…

No security-relevant behavior change in the diffAPI visibility broadened from crate-public to publicCLTV expiry overflow check already present and unchanged
c5443353by auto-pr-bot+14−71 file
No security note in commit
Low 34 AI analysisMessage 73 · Adequate
LL Lightning LabsLND BitcoinLightning Network

Merge pull request #11061 from bitromortac/2604-bolt12-1f

This commit adds the missing cryptographic signature layer for BOLT 12 offers in LND. It builds a Merkle tree from the message fields, signs that tree with a BIP-340 Schnorr signature, and now rejects invoice requests and invoices whose si…

Adds BIP-340 Schnorr signature verification for BOLT 12 invoice_request and invoice messagesMerkle tree commits to canonical re-encoded TLV records; non-minimal feature/amount encodings now rejected to preserve byte-exactnessSignature TLV type 240 and reserved range 240-1000 excluded from the signed Merkle root
1049d301by Yong+2076−7815 files
Vendor flagged security relevance
Moderate 57 AI analysisMessage 50 · Thin
EL ElectrumElectrum BitcoinSoftware wallets

adb: add missing cache invalidation sites for transitions to/from unverified

This commit fixes missing cache invalidation in Electrum's wallet history code. When a transaction's status changed—such as when a confirmed transaction returned to the mempool after a blockchain reorganization—the wallet's internal caches…

Stale cache after transaction state transitionIncorrect UTXO height/short_id after reorg or mempool evictionBalance display inconsistency due to missing cache invalidation
b5a54166by Sander van Grieken+87−02 files
No security note in commit
Informational 18 AI analysisMessage 50 · Thin
BB BitBoxBitBox02 firmware BitcoinHardware wallets

Merge remote-tracking branch 'agent/benma-agent/factorysetup-trim-unused'

This commit trims the BitBox02 factory-setup firmware image by switching stored root attestation public keys from 65-byte uncompressed to 33-byte compressed secp256k1 keys, and by using a smaller static secp256k1 verification context inste…

Change in trusted public-key table format and derivation logicSwitch to static/no-precomp secp256k1 verification contextAddition of secp256k1 self-test at boot
554a0558by Marko Bencun+457−5647 files
No security note in commit
Low 35 AI analysisMessage 85 · Strong
EL ElectrumElectrum BitcoinSoftware wallets

wallet: keep height and txpos in sync in wallet.add_input_info()

This commit fixes a bookkeeping bug in the Electrum Bitcoin wallet. When a transaction's status changes due to a blockchain reorganization (for example, a confirmed transaction temporarily returns to the unconfirmed mempool), the wallet wa…

State inconsistency between block_height and block_txpos after reorg or status transitionUI/model code relied on duplicated, weaker short_id validity checkFix aligns add_input_info() behavior with adb.get_transaction()
4d66088bby Sander van Grieken+34−65 files
No security note in commit
Informational 13 AI analysisMessage 100 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(core/sec): make the boot header portable and lift it out of stm32

This commit is a code cleanup that moves a small piece of boot-header parsing code out of an STM32-specific folder so it can also be used in emulator and test builds. It changes function arguments from raw flash addresses (uint32_t numbers…

Refactor only: commit message explicitly states 'Pure refactor -- no functional change on any device'Pointer API change removes uint32_t-to-pointer casts, which is a defensive portability improvementAdded code_size upper-bound validation against NONBOARDLOADER_MAXSIZE - hdr->header_size
edf70f4bby tychovrahe+27−194 files
No security note in commit
Critical 85 AI analysisMessage 85 · Strong
EP Elements ProjectCore Lightning BitcoinLightning Network

clnrest: bound YAML deserialization to prevent alias-expansion OOM

This update fixes a memory exhaustion flaw in Core Lightning's REST plugin. An attacker could send a small, specially crafted YAML request to the clnrest endpoint that explodes internally into gigabytes of data, crashing the plugin. The pa…

Unauthenticated memory-exhaustion vector in clnrest YAML parserYAML anchor/alias expansion (Billion Laughs / large scalar amplification)Parsing occurs before rune authentication
b355315eby daywalker90+241−13 files
Vendor flagged security relevance
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 →