TZ
← All projectsTrezor

Trezor firmware

Firmware monorepo for Trezor One, Model T, and Safe devices.

BitcoinHardware walletsNormal
Repository coverage

3248 commits in the local evidence base

Every captured commit receives deterministic security triage and a separate communication-quality score. Security candidates and broader second-pass signals receive full-patch Ollama analysis.

1132security candidates374second-pass queue2934AI analyses
287commits · 30 days
708commits · 60 days
1659commits · 180 days
2692commits · 365 days
Backfill bands
Aug 5 → Feb 61298 seen115 candidatesComplete
Feb 6 → Jun 6775 seen58 candidatesComplete
Jun 6 → Jul 6217 seen13 candidatesComplete
Jul 6 → Aug 5360 seen54 candidatesComplete
Commit communication

Does the history explain itself?

Message quality measures whether a commit identifies its scope, purpose, rationale, testing, and supporting references. It does not change the security-severity score.

67/100 average clarity
648Strong · 80–100
1555Adequate · 60–79
1038Thin · 40–59
7Opaque · 0–39
1security candidate with opaque commit messaging
Read the scoring rubric →
Developer activity

Who is changing the project?

Public Git author strings; identities are not independently verified.

DeveloperCommitsCandidatesAnalyzedHigh riskMessage avg.
tychovrahe343134322564
Roman Zeyde679216622372
obrusvit25796236364
PrisionMike10866106272
Andrew Kozlik833481268
Petr Susil1048287
Jakub Janků591838180
Martin Pastyřík26823173
cepetr264106222059
M1nd3r24689227071
Ioan Bizău23076230059
Lukas Bielesch856784067
Analysis record

Published AI watches

Last scanned 0 minutes ago

Informational 15 AI analysisMessage 85 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

build(crypto): update `crypto/Makefile` to use `-std=gnu11`

This commit simply changes the C language standard version used to compile the crypto library from GNU C99 to GNU C11. It is a routine build-system update with no security-relevant code change and no functional impact on its own.

fafc7d72by Roman Zeyde+1−11 file
No security note in commit
Low 46 AI analysisMessage 93 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

chore(crypto): ensure `secp256k1_context` alignment

This commit fixes how a memory buffer used by the secp256k1 cryptographic library is aligned in memory. The library requires the buffer to be aligned for any data type, but the previous code used a plain byte array, which could be misalign…

Memory alignment hardening for cryptographic context bufferUndefined behavior mitigation in secp256k1-zkp preallocated context creationPotential platform-dependent misalignment risk removed
93860f05by Roman Zeyde+7−11 file
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

chore(core): improvements to English copy

This commit is a routine text cleanup for the Trezor hardware wallet's on-screen English messages. It fixes punctuation, removes unnecessary line breaks, and makes small wording tweaks (for example, changing 'PIN will be required' to 'A PI…

1dbc2c3cby Michal Kazda+22−422 files
No security note in commit
Moderate 59 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

feat(core): app root packet downgrade protection

This commit adds downgrade protection for a new 'app root packet' system in Trezor firmware. Previously, the code had a TODO note saying downgrade protection needed to be considered. The change makes the device remember the timestamps of p…

Replaces a TODO comment ('!@# TODO: Consider downgrade protection') with concrete timestamp-based anti-downgrade checksAdds per-ring timestamp state to prevent rollback of root-of-trust packetsAdds chain_timestamp field and 90-day drift bound to root packet format
4a9cf168by cepetr+335−3112 files
No security note in commit
Moderate 67 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(core/rust): discard low-order keys in THP handshake

This commit fixes a cryptographic edge case in Trezor's THP (Trezor Host Protocol) handshake. It now rejects Curve25519 public keys that are all zeros or that produce an all-zero shared secret. A zero public key can cause the Diffie-Hellma…

Curve25519 zero/low-order public key rejection added to DHZero shared-secret output rejected after scalar multiplicationHandshake state machine now transitions to Failed on initiation-response error
429a283dby M1nd3r+45−74 files
No security note in commit
Informational 11 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

feat(core): enable `ward` with `miniscript`

This commit changes one line in a build configuration file for the Trezor hardware wallet firmware. It adds the 'ward' feature to the existing 'miniscript' feature set. There is no direct evidence in the commit that this is a security fix;…

Single-line Cargo.toml feature flag changeNo code logic modificationNo changelog or security note in commit message
d434a636by Jakub Janků+1−11 file
No security note in commit
Informational 15 AI analysisMessage 80 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

feat(core): add `ward` feature flag

This commit adds a new disabled-by-default feature flag called 'ward' to the Trezor firmware build system. It does not change any production firmware behavior; it only wires up a placeholder MicroPython module and build options so that fut…

New feature flag is disabled by default and gated behind optional Cargo featuresCommit message explicitly states intent to exclude WARD from production firmware buildsNew MicroPython module is a stub with no exported functions beyond __name__
7b58e75aby Jakub Janků+55−018 files
No security note in commit
Low 27 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

feat(core): enable -Wsign-compare

This commit turns on a compiler warning (-Wsign-compare) that catches places where signed and unsigned numbers are compared, and fixes the resulting warnings across the Trezor firmware. Most changes are clean-up casts and loop-index type c…

Compiler warning -Wsign-compare enabled, indicating prior signed/unsigned comparison issuesI/O return-value checks hardened against negative ssize_t values being treated as successPython binding offset/length validation tightened in Monero crypto module
1cc940a4by cepetr+162−15247 files
No security note in commit
Informational 15 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(core): merge passphrase__access_hidden_wallet into passphrase__access_wallet

This commit is a simple user-interface cleanup. It removes one duplicate translation label ('Access hidden wallet') and makes the device use a single, consistent label ('Access wallet') when asking the user to confirm opening a passphrase-…

65402aecby Michal Kazda+2−103 files
No security note in commit
Informational 15 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(core): merge passphrase__hidden_wallet into passphrase__wallet

This commit is a simple user-interface cleanup. It merges two translation labels that both meant 'Passphrase wallet' into a single label, and updates the screens that used the old duplicate label. There is no security-relevant behavior cha…

7ce6887fby Michal Kazda+5−184 files
No security note in commit
Informational 11 AI analysisMessage 72 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

chore(core): update UI fixtures

This commit only updates the expected screenshots (UI fixtures) used in automated tests. The change reflects that multisig account names are now shown on screen during signing for Bitcoin, Bitcoin Cash and Zcash. There is no code change, n…

247390cbby Petr Susil+1873−5891 file
No security note in commit
Low 45 AI analysisMessage 85 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(core/bootloader): keep the full block length for block-0 retries

This commit fixes a bug in the Trezor bootloader's firmware-update code. When updating firmware, the first block of data is fetched in two pieces: a small initial 'header prefetch,' then the rest. If a communication error happened and the …

Firmware update reliability bug in bootloaderBlock-0 retry path truncated data before hash verificationHash mismatch caused by buffer offset/size mismatch, not by attacker
dc937ba2by tychovrahe+81−711 file
No security note in commit
Informational 12 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(core/bootloader): separate image upload and image checks

This commit is a code cleanup in the Trezor bootloader. It moves the generic, image-type-agnostic parts of firmware upload (chunk receiving, retry logic, flash erasing/writing, timeouts) into a new reusable module called wf_image_upload.c,…

Refactor only: logic moved, not changed in security-relevant waysSame signature/version/model/downgrade checks remain in firmware-specific handlerSame flash erase/write sequence preserved in generic engine
caab7d9eby tychovrahe+772−4834 files
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

chore(core): remove unused trezor_lib/ui feature

This commit removes an unused Rust Cargo feature flag called 'ui' from the Trezor firmware build configuration. It is a cleanup change: the feature was always enabled in practice, so the code now compiles unconditionally. There is no secur…

1436fbc6by cepetr+2−158 files
No security note in commit
Low 27 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(core/caesar): change confirm middle button

This commit changes how users confirm an Ethereum authorization screen on Trezor's 'Caesar' layout. Previously, the user had to hold down a button to approve; now a simple tap is enough. The change only affects the user-interface interacti…

UI confirmation gesture changed from hold-to-confirm to tap-to-confirmOnly affects EIP-7702 authorization flow on Caesar (T3B1) layoutTest fixture hashes updated for all supported languages
e231cc94by obrusvit+50−502 files
No security note in commit
Informational 15 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(core): merge firmware and unix cargo packages

This commit is a routine internal cleanup that merges two separate build packages (one for real hardware firmware and one for the desktop emulator) into a single package. It moves source files into subdirectories and updates build scripts …

6be32440by cepetr+48−32025 files
No security note in commit
Informational 15 AI analysisMessage 67 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

chore(core): test aes gcm only if enabled

This commit is a minor build/test maintenance change. It adds a feature flag (USE_AES_GCM) so that AES-GCM tests are only run when the feature is actually enabled in a particular firmware build. There is no security fix or vulnerability be…

890aca93by cepetr+13−14 files
No security note in commit
Informational 15 AI analysisMessage 95 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

chore(python, tests): add and update GNU licence headers

This commit only adds or updates copyright and GNU license header comments in Python test and tooling files. It makes no changes to executable code, so it cannot introduce a security vulnerability or fix one.

6dc781c2by M1nd3r+1202−203250 files
No security note in commit
Informational 15 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(core): move the multisig XPUB title into a translation template

This commit is a straightforward code cleanup: it moves the on-screen title for multisig XPUB screens from hard-coded English text into the device's translation system. The visible text remains essentially the same, and there is no securit…

6d69df16by Michal Kazda+20279−2023911 files
No security note in commit
Repository ledger

Explore captured commits

Expand any commit for its author, full message, clarity score, changed files, triage signals, analysis, and source link.

AI review queuedfeat(core): add backup-related stringsby Roman Zeyde · afaf30fe · Apr 16, 2026 · 6 filesMessage 57 · ThinInformational 15Details
Commit message · Roman Zeyde

feat(core): add backup-related strings

[no changelog]

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit only adds new user-visible text labels for two backup types ('N4W1 backup' and 'Wordlist backup') to the Trezor firmware's translation system. It does not change any security logic, cryptographic code, or user-flow behavior. The strings are empty on most device layouts and only populated for the 'Eckhart' layout. The translation signature metadata was also updated as part of the normal build process.

AI review queuedchore(core): remove personal todo markersby cepetr · dd5c5e58 · Apr 16, 2026 · 6 filesMessage 37 · OpaqueInformational 15Details
Commit message · cepetr

chore(core): remove personal todo markers

[no changelog]

37/100 · OpaqueMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body! Contains work-in-progress language
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100

This commit is a routine cleanup that removes informal developer notes ('!@# TODO' markers) from six source files and makes one tiny code improvement (using an unsigned integer conversion function). There is no security-relevant change and no indication of a vulnerability being fixed.

AI review queuedchore(deps): bump pytest from 8.4.1 to 9.0.3by dependabot[bot] · e0cf8fc7 · Apr 14, 2026 · 2 filesMessage 88 · StrongInformational 15Details
Commit message · dependabot[bot]

chore(deps): bump pytest from 8.4.1 to 9.0.3

Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.4.1 to 9.0.3.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.4.1...9.0.3)

---
updated-dependencies:
- dependency-name: pytest
dependency-version: 9.0.3
dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

88/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
Why it was queued
automated dependency-update discountsecond-pass: broader security terminology
AI analysis · Informational 15/100

This is a routine dependency update by an automated bot, bumping the Python testing library pytest from version 8.4.1 to 9.0.3. It only changes version numbers and download hashes in project configuration files. There is no indication of a security fix or vulnerability in the commit itself.

AI review queuedchore(deps): bump pillow in /tools/automatic_battery_testerby dependabot[bot] · 7c599d0d · Apr 14, 2026 · 1 fileMessage 93 · StrongInformational 12Details
Commit message · dependabot[bot]

chore(deps): bump pillow in /tools/automatic_battery_tester

Bumps [pillow](https://github.com/python-pillow/Pillow) from 12.1.1 to 12.2.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/12.1.1...12.2.0)

---
updated-dependencies:
- dependency-name: pillow
dependency-version: 12.2.0
dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

93/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
Why it was queued
documentation-only discountautomated dependency-update discountsecond-pass: broader security terminology
AI analysis · Informational 12/100

This is a routine dependency update by Dependabot that upgrades the Python imaging library Pillow from version 12.1.1 to 12.2.0 inside an internal battery-testing tool. The change is a single line in a requirements file. There is no indication in the commit that this fixes a known security issue, and the tool is not part of the Trezor firmware that runs on user devices.

AI review queuedchore(deps): bump cryptography from 46.0.6 to 46.0.7by dependabot[bot] · e073774b · Apr 9, 2026 · 1 fileMessage 93 · StrongInformational 16Details
Commit message · dependabot[bot]

chore(deps): bump cryptography from 46.0.6 to 46.0.7

Bumps [cryptography](https://github.com/pyca/cryptography) from 46.0.6 to 46.0.7.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.6...46.0.7)

---
updated-dependencies:
- dependency-name: cryptography
dependency-version: 46.0.7
dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

93/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
Why it was queued
automated dependency-update discountsecond-pass: broader security terminology
AI analysis · Informational 16/100

This is an automated dependency update by Dependabot that bumps the Python 'cryptography' library from version 46.0.6 to 46.0.7 in the project's lock file. The change only updates recorded download URLs and cryptographic hashes for the new version. There is no indication in the commit itself that this fixes a known security vulnerability, and no security advisory was supplied. It is best treated as a routine maintenance patch.

AI review queuedchore(tests,ethereum): add test fixtures for vault deposits.by PrisionMike · 625e6bad · Apr 8, 2026 · 3 filesMessage 72 · AdequateInformational 15Details
Commit message · PrisionMike

chore(tests,ethereum): add test fixtures for vault deposits.

[no changelog]

72/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit only adds new test cases for Ethereum vault deposits. It does not change any production firmware code, so it cannot introduce a security vulnerability in the device itself. The new tests check both valid deposits and cases that should be rejected, such as sending native ETH along with a deposit or a malformed transaction.

AI review queuedchore(core): prefix constants with `_`by Roman Zeyde · db8dc485 · Apr 7, 2026 · 1 fileMessage 88 · StrongInformational 15Details
Commit message · Roman Zeyde

chore(core): prefix constants with `_`

It allows MicroPython to inline the constants and avoid allocations[^1].

[^1]: https://docs.micropython.org/en/latest/reference/speed_python.html#the-const-declaration

[no changelog]

88/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This is a routine code cleanup change in the Trezor firmware's Ethereum transaction signing module. It renames several internal constants to start with an underscore and wraps them with MicroPython's `const()` helper so the interpreter can optimize them. The numeric values and program logic are unchanged. There is no security fix or vulnerability here.

AI review queuedfix(python): avoid crash when scanning BLE multiple timesby Martin Milata · ca7efea8 · Apr 5, 2026 · 1 fileMessage 62 · AdequateInformational 20Details
Commit message · Martin Milata

fix(python): avoid crash when scanning BLE multiple times

[no changelog]

62/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
second-pass: broader security terminology
AI analysis · Informational 20/100

This commit fixes several small bugs in Trezor's Python library for Bluetooth (BLE) communication. The main fix prevents a crash when scanning for BLE devices multiple times, caused by a typo that iterated over dictionary values instead of items. Other changes add safety checks before reading or writing to a BLE device and improve error messages. There is no clear security vulnerability being patched; it looks like ordinary bug fixing and hardening.

AI review queuedchore(deps): bump pygments from 2.19.2 to 2.20.0by dependabot[bot] · f0039f68 · Apr 2, 2026 · 1 fileMessage 88 · StrongInformational 15Details
Commit message · dependabot[bot]

chore(deps): bump pygments from 2.19.2 to 2.20.0

Bumps [pygments](https://github.com/pygments/pygments) from 2.19.2 to 2.20.0.
- [Release notes](https://github.com/pygments/pygments/releases)
- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES)
- [Commits](https://github.com/pygments/pygments/compare/2.19.2...2.20.0)

---
updated-dependencies:
- dependency-name: pygments
dependency-version: 2.20.0
dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

88/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
Why it was queued
automated dependency-update discountsecond-pass: broader security terminology
AI analysis · Informational 15/100

This is an automated dependency update by Dependabot that bumps the Python syntax-highlighting library Pygments from version 2.19.2 to 2.20.0 in the project's lock file. There is no indication in the commit that this fixes a security issue, and Pygments is an indirect development-only dependency used for documentation or code display, not for handling secrets, cryptography, or user input in the hardware wallet firmware itself. On its own, this change does not present a security concern.

AI review queuedchore: extract constantsby Ioan Bizău · b5991262 · Apr 2, 2026 · 4 filesMessage 40 · ThinInformational 15Details
Commit message · Ioan Bizău

chore: extract constants

[no changelog]

40/100 · ThinMessage clarity
✓ Subject identifies a change✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit is a simple code cleanup: it moves a small list of known Ethereum contract addresses and their human-readable names from one file to a new dedicated file. The actual addresses and names remain exactly the same, and no security behavior changes.

AI review queuedfeat(ethereum): clear sign first 4kbby Ioan Bizău · 6c78de76 · Apr 2, 2026 · 4 filesMessage 57 · ThinLow 35Details
Commit message · Ioan Bizău

feat(ethereum): clear sign first 4kb

[no changelog]

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 35/100

This commit changes how Trezor handles Ethereum transaction data (calldata). Previously, clear signing only worked if the entire calldata fit in the first chunk sent by the host. Now the device actively requests and stores up to 4 KB of calldata so it can try clear signing on larger transactions. If clear signing succeeds, the user sees a human-readable confirmation instead of raw hex data. The change refactors the code to collect initial data before deciding whether to clear sign or fall back to blind signing. There is no direct evidence in the commit of a security vulnerability being fixed; it reads as a feature improvement.

AI review queuedchore(deps): bump requests in /tools/automatic_battery_testerby dependabot[bot] · 383e50ec · Apr 1, 2026 · 1 fileMessage 93 · StrongInformational 15Details
Commit message · dependabot[bot]

chore(deps): bump requests in /tools/automatic_battery_tester

Bumps [requests](https://github.com/psf/requests) from 2.32.4 to 2.33.0.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.32.4...v2.33.0)

---
updated-dependencies:
- dependency-name: requests
dependency-version: 2.33.0
dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

93/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
Why it was queued
documentation-only discountautomated dependency-update discountsecond-pass: broader security terminology
AI analysis · Informational 15/100

This is a routine automated dependency update by Dependabot. It bumps the Python 'requests' library used in an internal battery-testing tool from version 2.32.4 to 2.33.0. There is no indication in the commit or supplied references that this fixes a security issue, and the affected tool is not part of the Trezor firmware that runs on user devices.

AI review queuedchore(deps): bump ecdsa from 0.16.1 to 0.19.2by dependabot[bot] · 6b7e39da · Mar 31, 2026 · 2 filesMessage 88 · StrongLow 25Details
Commit message · dependabot[bot]

chore(deps): bump ecdsa from 0.16.1 to 0.19.2

Bumps [ecdsa](https://github.com/tlsfuzzer/python-ecdsa) from 0.16.1 to 0.19.2.
- [Release notes](https://github.com/tlsfuzzer/python-ecdsa/releases)
- [Changelog](https://github.com/tlsfuzzer/python-ecdsa/blob/master/NEWS)
- [Commits](https://github.com/tlsfuzzer/python-ecdsa/compare/python-ecdsa-0.16.1...python-ecdsa-0.19.2)

---
updated-dependencies:
- dependency-name: ecdsa
dependency-version: 0.19.2
dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

88/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
Why it was queued
fuzzing or regression evidenceautomated dependency-update discountsecond-pass: broader security terminology
AI analysis · Low 25/100

This is a routine dependency update by an automated bot, bumping the Python 'ecdsa' library from version 0.16.1 to 0.19.2 in Trezor's firmware build tooling. The commit itself only changes version numbers and download hashes; it does not show any actual code fix or vulnerability. Dependency updates can sometimes include security fixes, but this commit does not say that is the reason, and no verified security references were provided.

AI review queuedchore(deps): bump cryptography from 46.0.5 to 46.0.6by dependabot[bot] · c098d5a4 · Mar 31, 2026 · 1 fileMessage 93 · StrongLow 25Details
Commit message · dependabot[bot]

chore(deps): bump cryptography from 46.0.5 to 46.0.6

Bumps [cryptography](https://github.com/pyca/cryptography) from 46.0.5 to 46.0.6.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.5...46.0.6)

---
updated-dependencies:
- dependency-name: cryptography
dependency-version: 46.0.6
dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

93/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
Why it was queued
automated dependency-update discountsecond-pass: broader security terminology
AI analysis · Low 25/100

This is an automated dependency update by Dependabot that bumps the Python 'cryptography' library from version 46.0.5 to 46.0.6 in the project's lock file. The commit itself only changes package hashes and download URLs; it does not modify Trezor's own code. The 'cryptography' library is widely used for encryption and secure communications, so keeping it up to date is generally good security hygiene. However, the commit message does not say this update fixes any specific security problem, and no verified references were provided. Therefore, while dependency updates can address vulnerabilities, we cannot confirm from this commit alone that a particular security issue is being fixed.

AI review queuedfix: styleby M1nd3r · 0d8332e7 · Mar 31, 2026 · 1 fileMessage 2 · OpaqueInformational 15Details
Commit message · M1nd3r

fix: style

[no changelog]

2/100 · OpaqueMessage clarity
✓ Uses a recognizable type or scope! Very short subject! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: opaque commit messagesecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit is a pure code-style cleanup in the Ethereum 'clear signing' module. It removes unnecessary extra parentheses around tuple unpacking assignments. There is no functional change, no security fix, and no behavior change to the hardware wallet's transaction handling.

AI review queuedfeat(ethereum): add erc-4626 vault flow strings [no changelog]by PrisionMike · aa2b95fe · Mar 30, 2026 · 12 filesMessage 77 · AdequateInformational 15Details
Commit message · PrisionMike

feat(ethereum): add erc-4626 vault flow strings
[no changelog]

77/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit only adds new user-facing text strings (labels like 'Deposit amount', 'Withdraw', 'Your address') for an upcoming Ethereum ERC-4626 vault feature. It also moves one existing word ('Deposit') from a Cardano-only string to a shared word list. There are no code logic changes, no security fixes, and no behavior changes in how the device handles transactions or private keys.

AI review queuedchore(deps): bump cbor2 from 5.8.0 to 5.9.0by dependabot[bot] · 4cde1547 · Mar 30, 2026 · 1 fileMessage 88 · StrongInformational 14Details
Commit message · dependabot[bot]

chore(deps): bump cbor2 from 5.8.0 to 5.9.0

Bumps [cbor2](https://github.com/agronholm/cbor2) from 5.8.0 to 5.9.0.
- [Release notes](https://github.com/agronholm/cbor2/releases)
- [Commits](https://github.com/agronholm/cbor2/compare/5.8.0...5.9.0)

---
updated-dependencies:
- dependency-name: cbor2
dependency-version: 5.9.0
dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

88/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
Why it was queued
automated dependency-update discountsecond-pass: broader security terminology
AI analysis · Informational 14/100

This is a routine automated update by Dependabot that bumps the Python library cbor2 from version 5.8.0 to 5.9.0 in the project's lock file (uv.lock). Only hashes and download URLs for the package changed. There is no indication in the commit itself that this fixes or introduces a security problem. Without checking the upstream cbor2 release notes, we cannot say whether the new version addresses any vulnerabilities.

AI review queuedchore(deps): bump requests from 2.32.5 to 2.33.0by dependabot[bot] · 8f41003e · Mar 30, 2026 · 1 fileMessage 88 · StrongInformational 15Details
Commit message · dependabot[bot]

chore(deps): bump requests from 2.32.5 to 2.33.0

Bumps [requests](https://github.com/psf/requests) from 2.32.5 to 2.33.0.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.32.5...v2.33.0)

---
updated-dependencies:
- dependency-name: requests
dependency-version: 2.33.0
dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

88/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
Why it was queued
automated dependency-update discountsecond-pass: broader security terminology
AI analysis · Informational 15/100

This is a routine automated dependency update by Dependabot. It changes the pinned version of the Python 'requests' library from 2.32.5 to 2.33.0 in the project's lock file only. There is no indication in the commit that this fixes a security issue, and the change itself is just a version/hash update with no code modifications.

AI review queuedfix(python): skip unrelated responses when probing transportby Roman Zeyde · d7539ca0 · Mar 28, 2026 · 2 filesMessage 85 · StrongLow 38Details
Commit message · Roman Zeyde

fix(python): skip unrelated responses when probing transport

Also, simplify a bit protocol v1 magic handling flow.

Fixes https://github.com/trezor/trezor-firmware/issues/6588.

85/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body✓ Links an issue, advisory, or supporting reference
Why it was queued
parser or protocol pathsecond-pass: security-sensitive path
AI analysis · Low 38/100

This commit fixes a bug in the Python Trezor client library that could cause it to crash or fail to connect when probing a Trezor device. The problem happened when leftover or unrelated data packets were still sitting in the communication channel. Previously, the library would see an unexpected packet, treat it as a protocol error, and give up. Now it skips those unrelated packets and waits for the real response. This is a reliability and minor security improvement for the host-side software, not the hardware wallet firmware itself.

AI review queuedchore(core): add N4W1 backup-related translationsby Roman Zeyde · c318d637 · Mar 26, 2026 · 6 filesMessage 57 · ThinInformational 15Details
Commit message · Roman Zeyde

chore(core): add N4W1 backup-related translations

[no changelog]

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit only adds new on-screen text strings for a future backup feature called N4W1. It does not change any security logic, cryptographic code, or user-accessible behavior. There is no indication of a vulnerability or security fix.

AI review queuedfeat(core): Update RFAL library to version 4.0.2by kopecdav · 151ff869 · Mar 25, 2026 · 55 filesMessage 57 · ThinModerate 59Details
Commit message · kopecdav

feat(core): Update RFAL library to version 4.0.2

[no changelog]

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
second-pass: unusually broad change
AI analysis · Moderate 59/100

This commit updates the third-party STMicroelectronics RFAL NFC library inside Trezor firmware from version 3.0.1 to 4.0.2. The vendor's release notes for version 4.0.2 explicitly mention fixing a 'vulnerability during EMD handling on fast systems' that was introduced in version 4.0.0. EMD (Electro-Magnetic Disturbance) handling is part of the NFC radio stack, so the flaw is likely a low-level radio/communication issue rather than something that directly exposes cryptocurrency private keys. Because the commit is a large library drop (almost 8,000 lines changed across 55 files) and the actual code diff is not shown, we cannot independently verify the exact nature or severity of the vulnerability from this commit alone.

AI review queuedchore: enable SLIP-24 for ERC-20 `transfer`by Ioan Bizău · 795d5d6d · Mar 24, 2026 · 2 filesMessage 57 · ThinLow 30Details
Commit message · Ioan Bizău

chore: enable SLIP-24 for ERC-20 `transfer`

[no changelog]

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 30/100

This commit enables Trezor hardware wallets to use SLIP-24 payment requests when signing ERC-20 token transfers. Previously, payment requests were rejected for any contract interaction, including ERC-20 transfers. The change adds a new code path that verifies the token transfer amount and recipient against a signed payment request before showing the confirmation screen. It is a feature-enablement change rather than a fix for an active vulnerability, but it touches security-critical signing flow code.

AI review queuedchore(ethereum): clear sign only first data chunkby Ioan Bizău · 73eaef8c · Mar 24, 2026 · 3 filesMessage 57 · ThinLow 40Details
Commit message · Ioan Bizău

chore(ethereum): clear sign only first data chunk

[no changelog]

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 40/100

This commit changes how Trezor hardware wallets display and confirm Ethereum transactions that use 'clear signing' (human-readable descriptions of smart-contract calls). Previously, clear signing could be attempted for transactions whose data is split across multiple chunks. Now, clear signing is used only when the entire transaction data fits in the first chunk. If the clear-signing parser fails on that first chunk, the device falls back to the standard raw-data confirmation. The change is described as a feature limitation, not a security fix, but it removes a code path where multi-chunk data might be parsed before all chunks are available or confirmed.

AI review queuedchore: drop 1inch definitions for nowby Ioan Bizău · dc1f3a1b · Mar 24, 2026 · 3 filesMessage 57 · ThinInformational 17Details
Commit message · Ioan Bizău

chore: drop 1inch definitions for now

[no changelog]

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 17/100

This commit removes built-in 'clear signing' support for the 1inch decentralized exchange from Trezor Ethereum firmware. Clear signing makes complex crypto transactions easier to read and verify on the device screen. Removing it does not create a new security hole, but users interacting with 1inch will now see less human-readable transaction details, which can make it harder to spot malicious or mistaken transactions. It is a feature rollback, not a vulnerability fix.

AI review queuedchore(tests): test ETH calldata parsingby Ioan Bizău · e3253010 · Mar 24, 2026 · 1 fileMessage 67 · AdequateInformational 12Details
Commit message · Ioan Bizău

chore(tests): test ETH calldata parsing

[no changelog]

67/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 12/100

This commit only adds new automated tests for Ethereum transaction data parsing. It does not change any production code, so it cannot introduce a security vulnerability by itself. The tests verify that the device correctly rejects malformed Ethereum addresses and oversized numeric values.