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
17490Commits captured
17117AI analyses
88High-risk findings · 30d
The watch feed

Changes worth understanding

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

17117 analyses
Highest risk·RSS
Informational 23 AI analysisMessage 45 · Thin
SS SeedSignerSeedSigner BitcoinHardware wallets

Minor bugfix to correct if/else path

This commit fixes a small logic bug in SeedSigner, a hardware-wallet-like signing device. The code was checking whether a seed's fingerprint string was empty, but it should have been checking whether the seed has a passphrase. The bug coul…

Logic bug in seed finalization flowIncorrect fingerprint display conditionPotential user confusion during seed setup
c52577a9by kdmukai+3−21 file
No security note in commit
Low 27 AI analysisMessage 85 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(core/ethereum): handle staking/yielding in `confirm_tx_data()`

This is an internal code cleanup in Trezor's Ethereum transaction signing. It changes how staking and yield-farming transactions hand off their user-confirmation step so the confirmation happens inside the same routine instead of being ret…

Refactor of transaction confirmation orchestration for Ethereum staking/yieldingRemoval of `get_progress_indicator()` usage in staking and yielding pathsReturn type narrowed from tuple to coroutine, centralizing await in `confirm_tx_data()`
6c158b50by Roman Zeyde+1138−11434 files
No security note in commit
Informational 15 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(core): no need to check `LayoutObj.request_complete_repaint` result

This is a tiny code cleanup in the Trezor firmware's user-interface layer. It removes an `assert` statement that checked the return value of a repaint request. There is no security-relevant change: the method still performs the same repain…

8a449f05by Roman Zeyde+1−21 file
No security note in commit
Informational 15 AI analysisMessage 60 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

tests: test bookkeeper correctly accounts for splice in/out

This commit only adds new automated tests for the bookkeeper feature, checking that it correctly records accounting events when Lightning channels are spliced in (adding funds) or spliced out (removing funds). It does not change any produc…

f5965b3aby enaples+239−01 file
No security note in commit
Informational 15 AI analysisMessage 55 · Thin
EP Elements ProjectCore Lightning BitcoinLightning Network

tests: fixing flake8 + fixed fees in spliceout

This commit only updates a single test file (tests/test_bookkeeper.py). It removes an experimental feature flag that is no longer needed, fixes Python style issues flagged by flake8, and replaces a hardcoded 5000-satoshi splice-out fee est…

906663a0by enaples+16−281 file
No security note in commit
Low 44 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(crypto): forbid zero-length IV in AES-GCM

This commit tightens validation in the hardware wallet's AES-GCM encryption code by rejecting initialization vectors (IVs) of length zero. Previously, a zero-length IV was silently accepted, which violates the NIST standard and can lead to…

Violation of NIST SP 800-38D (AES-GCM IV must not be zero length)Missing input validation on cryptographic parameterIgnored return value from security-critical initialization function
e49753d6by Ondřej Vejpustek+9−21 file
No security note in commit
Informational 12 AI analysisMessage 67 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

feat(crypto): test low-order points on curve25519

This commit only adds a new test to the Trezor firmware crypto test suite. It checks that multiplying certain special 'low-order' points on the Curve25519 curve by various secret scalars always produces an all-zero result. There is no chan…

Adds low-order point test vectors for curve25519 scalar multiplicationReferences RFC 7748 section 5 canonical-bit handlingNo production code changes; test-only commit
1320b2b0by Ondřej Vejpustek+66−01 file
No security note in commit
Informational 15 AI analysisMessage 50 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

style: exclude wycheproof submodule from pystyle check

This commit is purely a housekeeping style-tool change. It adds the wycheproof test-data submodule to a list of paths that the project's Python style checker should ignore. There is no change to wallet, cryptographic, or firmware code, and…

df89d627by Ondřej Vejpustek+2−11 file
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

chore(crypto): update wycheproof submodule

This commit only updates the project's cryptographic test suite to match a newer version of the Wycheproof test-vector submodule. It changes test data file names and field names (for example, 'keyDer' to 'publicKeyDer') and adds a safety c…

a56f7418by Ondřej Vejpustek+13−152 files
No security note in commit
Informational 12 AI analysisMessage 72 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

feat(crypto): test AES-GCM, AES-CCM, HMAC and PBKDF2 against wycheproof vectors

This commit only adds and improves test code. It extends an existing test suite to check more cryptographic algorithms (AES-GCM, AES-CCM, HMAC, PBKDF2) using well-known public test vectors from Project Wycheproof. It also fixes a few small…

Adds Wycheproof test vectors for AES-GCM, AES-CCM, HMAC, PBKDF2Improves error handling in test helper wrappersNo changes to firmware or crypto library implementation
6bee661bby Ondřej Vejpustek+421−121 file
No security note in commit
Moderate 60 AI analysisMessage 88 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(stellar): properly bound string length

This commit fixes a length-check bug in Trezor's Stellar cryptocurrency support. The device was measuring string length in characters (Unicode code points) instead of bytes. Because some characters use multiple bytes, a string could pass t…

Incorrect input validation: length check used code-point count instead of byte countProtocol compliance mismatch with RFC 4506 XDR string encodingPotential to generate malformed or oversized Stellar transaction fields
888aa308by Jakub Janků+11−83 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