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
18007Commits captured
17352AI analyses
102High-risk findings · 30d
The watch feed

Changes worth understanding

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

17352 analyses
Highest risk·RSS
Informational 15 AI analysisMessage 80 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

refactor: rename async coin compaction

This commit is a simple rename of an internal function from CompactFull() to CompactFullAsync(). It does not change what the code does, only its name, to make it clearer that the operation runs in the background rather than blocking. There…

0868c85fby Lőrinc+4−44 files
No security note in commit
Informational 15 AI analysisMessage 90 · Strong
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

test: add p2pkh transparent-output decode test

This commit only adds a new automated test for Zcash transparent output parsing. It builds a sample pay-to-public-key-hash (p2pkh) output at runtime and checks that the parser correctly extracts the recipient address, value, and 'not chang…

612a4a94by Adam Tucker+37−01 file
No security note in commit
Informational 15 AI analysisMessage 35 · Opaque
BS BlockstreamBlockstream Jade BitcoinHardware wallets

docker: update jade_builder

This commit simply updates the SHA256 digest of the 'blockstream/jade_builder' Docker image used for building and testing Jade in four configuration files. There is no code change, no disclosed security fix, and no evidence in the commit o…

00e7a397by Jon Griffiths+5−54 files
No security note in commit
Moderate 59 AI analysisMessage 65 · Adequate
BS BlockstreamBlockstream Jade BitcoinHardware wallets

gui/camera: stop the gui task from possibly trying to render an image from a camera task stack that no longer exists

This commit fixes a race condition in the Blockstream Jade hardware wallet's camera and screen rendering code. When the camera task finished, its stack memory could be freed while the GUI task was still trying to draw the last camera image…

Use-after-free / dangling pointer in concurrent GUI/camera task interactionMissing synchronization when camera task memory is freed while GUI may still render itStack-allocated Picture object lifetime exceeds owning task lifetime
c51f7fb9by Daniel Newton+16−03 files
No security note in commit
Low 40 AI analysisMessage 78 · Adequate
BS BlockstreamBlockstream Jade BitcoinHardware wallets

libjade: add camera/input/nvs support, refactor

This commit is a large feature/refactor patch for Blockstream Jade's libjade (a desktop emulator of the Jade hardware wallet). It adds RPC endpoints that let a host application read the emulated device's screen, push fake button presses, r…

New RPC endpoints allow external read/write of emulated NVS storageNew RPC endpoints allow external screen capture and synthetic input injectionNew RPC endpoints allow external camera frame injection
f7184945by Daniel Newton+1806−75832 files
Vendor flagged security relevance
Informational 15 AI analysisMessage 45 · Thin
BS BlockstreamBlockstream Jade BitcoinHardware wallets

Fix M5StickC Plus 2 PIN navigation

This commit fixes a user-interface navigation quirk on the M5StickC Plus 2 hardware for Blockstream Jade. When entering a PIN, the up/down button directions were not inverted to match the rest of the device's menus, making number entry con…

9de1409eby roderico+3−21 file
No security note in commit
Low 26 AI analysisMessage 50 · Thin
BS BlockstreamBlockstream Jade BitcoinHardware wallets

jadepy: add builtin file method impls for newer cbor2 versions

This commit adds three simple file-like method declarations (readable, writable, seekable) to a Python class that communicates with a Blockstream Jade hardware wallet. The change appears to be a compatibility fix so the Jade interface obje…

Commit message thanks an external reporter, which can indicate a reported bug or issueNo explicit security language in commit title or messageDiff is purely additive compatibility methods with no input handling, parsing, or trust-boundary changes
9857bed9by Jon Griffiths+9−01 file
No security note in commit
Informational 20 AI analysisMessage 68 · Adequate
BS BlockstreamBlockstream Jade BitcoinHardware wallets

jadepy: support new/old versions of cbor2

This is a small compatibility fix for the Python Jade library so it works with both older and newer versions of the cbor2 serialization library. Newer cbor2 changed which exception it raises when data runs out, so the code now detects the …

Exception-handling compatibility fix for dependency API driftPotential for missed error conditions if wrong exception class is caughtNo direct memory corruption, cryptographic, or authentication issue visible in diff
91cc2edbby Jon Griffiths+4−21 file
No security note in commit
Informational 15 AI analysisMessage 45 · Thin
BS BlockstreamBlockstream Jade BitcoinHardware wallets

deps: update cbor2 to 6.1.2

This commit simply updates the version of a Python library called cbor2 from 5.9.0 to 6.1.2 in the project's dependency list. There is no information in the commit itself saying this fixes a security problem. It is a routine dependency bum…

2c602b52by Jon Griffiths+50−451 file
No security note in commit
Low 35 AI analysisMessage 45 · Thin
BS BlockstreamBlockstream Jade BitcoinHardware wallets

wire: explicitly set nonblocking default to false

This commit fixes a small but real bug in Blockstream Jade's USB/serial message handling. A variable that decides whether a version-info message should get an immediate reply was not given a safe starting value. In C, that means it could a…

Use of uninitialized local variable (CWE-457)Potential logic bypass in immediate-message handlingDefensive initialization hardening
3d28dccbby Jon Griffiths+1−11 file
No security note in commit
Informational 12 AI analysisMessage 50 · Thin
BS BlockstreamBlockstream Jade BitcoinHardware wallets

libjade: use existing frame buffer rectangle drawing

This commit removes a custom bitmap-drawing function used only in the libjade build and makes that build use the same drawing path as other configurations. It is a code cleanup with no visible security relevance.

ff0789f0by Jon Griffiths+0−253 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