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 40 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(ethereum): slicing inside iterable parametersby Ioan Bizău · 2c5d8b09 · Mar 24, 2026 · 1 fileMessage 62 · AdequateLow 28Details
Commit message · Ioan Bizău

feat(ethereum): slicing inside iterable parameters

[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
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 28/100

This commit updates the Trezor Ethereum app's 'clear signing' feature so it can handle data formats that slice inside arrays or structs (for example, taking only a portion of a list). It is a small feature addition, not a fix for a known security bug. There is no evidence in the commit or supplied references that this resolves an active vulnerability.

AI review queuedrefactor(ethereum): multiple tokens can be unknownby Ioan Bizău · 7e66cf2b · Mar 24, 2026 · 1 fileMessage 62 · AdequateLow 27Details
Commit message · Ioan Bizău

refactor(ethereum): multiple tokens can be unknown

[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
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 27/100

This commit refactors how Trezor firmware handles unknown Ethereum tokens when showing transaction details on screen. Previously, if a transaction involved an unknown token, the device showed one generic warning. After this change, the code can detect and warn about multiple unknown tokens within a single transaction's data. It is a defensive code improvement rather than a fix for a known exploit.

AI review queuedfeat(ethereum): parsing dynamic values in calldataby Ioan Bizău · e666d62b · Mar 24, 2026 · 9 filesMessage 77 · AdequateLow 38Details
Commit message · Ioan Bizău

feat(ethereum): parsing dynamic values in calldata

* extend calldata parsing to support strings, structs, arrays and more

[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 · Low 38/100

This commit is a feature expansion for Trezor's Ethereum 'clear signing' system, which decodes smart-contract call data so users see human-readable details instead of raw hex. It adds support for dynamic Solidity types such as strings, byte arrays, structs, and arrays. The change is large and refactors how transaction data is parsed and presented. It does not appear to be a disclosed security fix, but because it handles untrusted transaction data, any parsing bugs could in principle let a malformed transaction bypass warnings or crash the device. The diff itself shows explicit bounds checks and validation, which is a positive sign, but the new code paths are complex and have not been externally audited in the provided materials.

AI review queuedfeat(ethereum): token amount native currencyby Ioan Bizău · d1760fc8 · Mar 24, 2026 · 1 fileMessage 57 · ThinInformational 16Details
Commit message · Ioan Bizău

feat(ethereum): token amount native currency

[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 16/100

This commit changes how the Trezor hardware wallet formats token amounts shown on screen during Ethereum transactions. It adds support for treating certain addresses as the network's native currency (like ETH on Ethereum mainnet) rather than as ERC-20 tokens when displaying amounts. There is no indication in the commit that this fixes a security vulnerability; it appears to be a user-interface correctness feature.

AI review queuedchore: process up to 4kb of calldataby Ioan Bizău · d4609489 · Mar 24, 2026 · 1 fileMessage 57 · ThinLow 35Details
Commit message · Ioan Bizău

chore: process up to 4kb of calldata

[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 firmware handles Ethereum transaction data (calldata). Previously, the code only tried to 'clear sign' transactions where the entire calldata fit in the first chunk. Now it stores and processes up to 4 KB of calldata across multiple chunks, and gives up gracefully if the data is too large. The change appears to be a hardening/capacity improvement rather than a fix for an active exploit, but it removes a risky assumption that all data is present in the initial chunk.

AI review queuedchore(translations): updated fixtures [no changelog]by Michal Kazda · 800147fb · Mar 24, 2026 · 3 filesMessage 77 · AdequateInformational 15Details
Commit message · Michal Kazda

chore(translations): updated fixtures
[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 updates German translation text and the corresponding test snapshots (expected screen hashes). It removes a few old variant translations for the term 'hidden wallet' and standardizes it to 'Passphrase-Wallet'. There is no code change and no security relevance.

AI review queuedchore(translations): sync Crowdin translations [no changelog]by Michal Kazda · 0065caa1 · Mar 24, 2026 · 6 filesMessage 77 · AdequateInformational 15Details
Commit message · Michal Kazda

chore(translations): sync Crowdin translations
[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 pathtranslation-only discountsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit only updates translated text strings in the Trezor firmware. It adds new translations (for example, phrases like 'Confirm contract' and 'Intent' in several languages), fixes existing wording, and refreshes the translation signature file. There are no code changes that affect security, cryptography, or device behavior.

AI review queuedchore(translations): updated fixtures [no changelog]by Michal Kazda · 32ff27b3 · Mar 24, 2026 · 3 filesMessage 77 · AdequateInformational 15Details
Commit message · Michal Kazda

chore(translations): updated fixtures
[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 is a routine maintenance update for translation files and test snapshots. It changes one French translation string, updates a cryptographic signature record for the translation set, and refreshes many expected visual test hashes. There is no code change that affects security functionality, and nothing in the commit suggests it fixes or introduces a vulnerability.

AI review queuedfeat(solana): SLIP-24 for native SOLby Ioan Bizău · e5af2a91 · Mar 23, 2026 · 6 filesMessage 57 · ThinLow 30Details
Commit message · Ioan Bizău

feat(solana): SLIP-24 for native SOL

[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 adds support for native Solana (SOL) payment requests using the SLIP-24 standard on Trezor hardware wallets. It extends existing token payment-request logic to also cover plain SOL transfers, and updates tests and UI fixtures accordingly. There is no direct evidence in the commit of a security vulnerability, but any change to payment verification and confirmation flows carries a low level of implementation risk.

AI review queuedfeat(core): introduce explicit manufacturing mode exitby tychovrahe · 29431ce7 · Mar 20, 2026 · 40 filesMessage 62 · AdequateLow 30Details
Commit message · tychovrahe

feat(core): introduce explicit manufacturing mode exit

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: unusually broad change
AI analysis · Low 30/100

This commit adds a new factory/production tool command that permanently exits 'manufacturing mode' by writing and locking a special one-time-programmable memory block. It also reorganizes how each Trezor model defines its OTP memory layout and unit properties. The change is a feature addition for the production-test firmware, not a fix for a known exploitable bug in user-facing firmware. It does not appear to introduce an obvious vulnerability, but it changes security-relevant manufacturing state logic.

AI review queuedchore(deps): bump pyasn1 from 0.6.2 to 0.6.3by dependabot[bot] · 127a5ab8 · Mar 19, 2026 · 1 fileMessage 88 · StrongInformational 15Details
Commit message · dependabot[bot]

chore(deps): bump pyasn1 from 0.6.2 to 0.6.3

Bumps [pyasn1](https://github.com/pyasn1/pyasn1) from 0.6.2 to 0.6.3.
- [Release notes](https://github.com/pyasn1/pyasn1/releases)
- [Changelog](https://github.com/pyasn1/pyasn1/blob/main/CHANGES.rst)
- [Commits](https://github.com/pyasn1/pyasn1/compare/v0.6.2...v0.6.3)

---
updated-dependencies:
- dependency-name: pyasn1
dependency-version: 0.6.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 automated dependency update by Dependabot that bumps the Python library pyasn1 from version 0.6.2 to 0.6.3 in the project's lock file. The commit itself only changes package metadata (download URLs and cryptographic hashes) and contains no code changes, bug fixes, or security claims. There is no evidence in the commit or supplied references that this update addresses a security issue.

AI review queuedchore(core): sign translationsby Roman Zeyde · e64457a0 · Mar 19, 2026 · 1 fileMessage 62 · AdequateInformational 15Details
Commit message · Roman Zeyde

chore(core): sign translations

[no changelog]

(cherry picked from commit 3d00dda8027a945857f1c3869601c035e96deaee)

62/100 · AdequateMessage clarity
✓ Descriptive subject✓ Uses a recognizable type or scope✓ Provides an explanatory body
Why it was queued
signing or wallet pathtranslation-only discountsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit simply adds a new cryptographic signature entry to a JSON file that records approved translation bundles for the Trezor hardware wallet. There is no code change, no bug fix, and no visible security issue in the diff itself.

AI review queuedfix(core): confirm Ethereum data during its hashingby Roman Zeyde · 70c9b0c0 · Mar 19, 2026 · 7 filesMessage 77 · AdequateHigh 72Details
Commit message · Roman Zeyde

fix(core): confirm Ethereum data during its hashing

(cherry picked from commit 09ab831c4eaced4e1702dd74cc6713e0b0f5975d)

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 · High 72/100

This update changes how Trezor hardware wallets confirm Ethereum transaction data. Previously, the device asked the user to approve the entire data payload before it began hashing the transaction. Now, it confirms data piece by piece while the transaction is being hashed, and only shows the final transaction summary right before signing. The change is marked as a security fix in the project's changelog, suggesting the old behavior could let a user approve data that does not match what is actually signed.

AI review queuedrefactor: stellar confirmationsby Ioan Bizău · 663569c4 · Mar 19, 2026 · 4 filesMessage 62 · AdequateLow 32Details
Commit message · Ioan Bizău

refactor: stellar confirmations

[no changelog]

(cherry picked from commit a7f5e7200f49b390c65940638900f071258207b4)

62/100 · AdequateMessage clarity
✓ Descriptive subject✓ Uses a recognizable type or scope✓ Provides an explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 32/100

This commit refactors how Trezor handles Stellar cryptocurrency transaction confirmations when a 'payment request' is used. Previously, the device might skip confirming individual operations during payment requests. The change ensures that only simple payment operations are allowed in payment requests, rejects invalid operation types, and still requires user confirmation. It also adds a test case for an invalid operation in a payment request. The commit appears to be a defensive hardening change rather than a fix for an active exploit.

AI review queuedchore(translations): updated fixtures [no changelog]by Michal Kazda · 98f526da · Mar 17, 2026 · 3 filesMessage 77 · AdequateInformational 15Details
Commit message · Michal Kazda

chore(translations): updated fixtures
[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 is a routine maintenance update for translation files and test snapshots. It changes one Spanish tutorial sentence to be clearer, updates the cryptographic signature metadata for the translation files, and refreshes many expected visual-test hashes. There is no code that runs on the device or handles secrets, and nothing in the commit suggests a security fix or vulnerability.

AI review queuedfix(python): use `node.fingerprint` to support older FWby Roman Zeyde · 0c12c0f4 · Mar 13, 2026 · 3 filesMessage 85 · StrongInformational 19Details
Commit message · Roman Zeyde

fix(python): use `node.fingerprint` to support older FW

`PublicKey.root_fingerprint` support was added in:
```
* 5728f54b78 Pavol Rusnak: core: return root_fingerprint in PublicKey (5 years ago)
* 4d45a68fd0 Pavol Rusnak: legacy: return root_fingerprint in PublicKey (5 years ago)
```

85/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
Why it was queued
parser or protocol pathsecond-pass: security-sensitive path
AI analysis · Informational 19/100

This is a small compatibility fix in the Trezor Python library. Older Trezor firmware versions did not return the wallet's 'root fingerprint' in one specific place, so the library was failing or warning users. The change makes the library read the same fingerprint from an older, always-available field instead. It is a bug fix for backward compatibility, not a security vulnerability patch.

AI review queuedfeat(tron): Add support for `VoteWitnessContract` - scaffoldingby PrisionMike · 713a3454 · Mar 10, 2026 · 20 filesMessage 62 · AdequateInformational 15Details
Commit message · PrisionMike

feat(tron): Add support for `VoteWitnessContract` - scaffolding

Tron Voting. Gen code.

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
signing or wallet pathsecond-pass: unusually broad changesecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit adds the initial protocol and code-generation scaffolding for a new Tron blockchain feature: voting for Super Representatives (called VoteWitnessContract). It defines the new message types in protobuf, regenerates the corresponding Python and Rust message bindings, adds translation strings, and includes test fixtures. It does not contain the actual firmware logic that would parse, validate, display, or sign these votes, so there is no directly exploitable security issue in this patch alone.

AI review queuedchore(deps): bump static-alloc from 0.2.4 to 0.2.6 in /core/embed/rustby dependabot[bot] · cdee99da · Mar 2, 2026 · 2 filesMessage 93 · StrongInformational 15Details
Commit message · dependabot[bot]

chore(deps): bump static-alloc from 0.2.4 to 0.2.6 in /core/embed/rust

Bumps [static-alloc](https://github.com/197g/static-alloc) from 0.2.4 to 0.2.6.
- [Changelog](https://github.com/197g/static-alloc/blob/master/release_checks)
- [Commits](https://github.com/197g/static-alloc/commits)

---
updated-dependencies:
- dependency-name: static-alloc
dependency-version: 0.2.6
dependency-type: direct:production
...

[no changelog]

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 15/100

This is a routine automated dependency update by Dependabot, bumping the Rust crate 'static-alloc' from version 0.2.4 to 0.2.6. Only two metadata files (Cargo.lock and Cargo.toml) were changed, with no code modifications. There is no indication in the commit of any security fix or vulnerability.

AI review queuedci: auto-assign PR to its authorby M1nd3r · 6b63f387 · Mar 2, 2026 · 1 fileMessage 57 · ThinInformational 15Details
Commit message · M1nd3r

ci: auto-assign PR to its author

[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 pathdocumentation-only discountsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit adds a GitHub Actions workflow that automatically assigns a newly opened pull request to the person who created it. It is a repository-management convenience bot with no connection to product security, cryptography, wallet operations, or firmware behavior.

AI review queuedtest(core/tron): add `yield` for cancellation input flowby Roman Zeyde · a26c0d3e · Feb 26, 2026 · 1 fileMessage 72 · AdequateInformational 15Details
Commit message · Roman Zeyde

test(core/tron): add `yield` for cancellation input flow

[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 changes a test file for the Tron cryptocurrency signing feature. It adds 'yield' statements to the test's simulated button-pressing sequence so the test properly waits between simulated user actions. There is no change to the actual Trezor firmware code that users run, and no security fix or vulnerability is present in the diff.

AI review queuedchore(translations): sync Crowdin translations [no changelog]by Michal Kazda · 8ff1930d · Feb 23, 2026 · 6 filesMessage 77 · AdequateInformational 15Details
Commit message · Michal Kazda

chore(translations): sync Crowdin translations
[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 pathtranslation-only discountsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit is a routine synchronization of translated user-interface text strings for the Trezor hardware wallet firmware. It updates Czech, German, Spanish, French, and Portuguese translation files, plus their signature file, with wording changes, additions, and removals. There is no code logic change, no security fix, and no indication of a vulnerability.

AI review queuedfix(core): ignore unexpected messages in backup flowby Roman Zeyde · 46cee0ae · Feb 23, 2026 · 7 filesMessage 77 · AdequateLow 48Details
Commit message · Roman Zeyde

fix(core): ignore unexpected messages in backup flow

I/O errors and timeouts are not handled.

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
parser or protocol pathsecond-pass: security-sensitive path
AI analysis · Low 48/100

This update changes how the Trezor hardware wallet handles unexpected messages while creating a seed backup. Previously, stray or hostile messages (such as a 'Cancel' command) could interrupt the backup process and leave the wallet in an unclear or partially-backed-up state. The fix wraps the backup flow in a new 'continue on errors' mode that ignores unexpected traffic and tells the host the device is busy, so the backup runs to completion. The change is defensive and improves reliability, but it also means a user can no longer cancel a backup from the host side once it has started.

AI review queuedfix: enforce Tron address padding in runtimeby obrusvit · d98c67b8 · Feb 20, 2026 · 1 fileMessage 57 · ThinModerate 61Details
Commit message · obrusvit

fix: enforce Tron address padding in runtime

[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 · Moderate 61/100

This commit changes how Trezor handles Tron cryptocurrency smart-contract payments. Previously, the device used a programming assertion to assume that certain address-padding bytes were zero. Now it checks those bytes at runtime and rejects the transaction if the padding is wrong. The change likely prevents a malformed Tron token-transfer request from being misinterpreted or from causing the device to behave unexpectedly. It is a defensive hardening fix rather than a clear-cut remote exploit patch.

AI review queuedrefactor(core): extract `ButtonRequest` handler into a separate methodby Roman Zeyde · 05292d3b · Feb 20, 2026 · 6 filesMessage 77 · AdequateInformational 19Details
Commit message · Roman Zeyde

refactor(core): extract `ButtonRequest` handler into a separate method

Also, add a `Context.read()` overload for unexpected messages.

[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
parser or protocol pathsecond-pass: security-sensitive path
AI analysis · Informational 19/100

This commit is a code cleanup that moves the handling of on-screen button prompts into a separate helper function and adds a way to tell the message-reading code to reject any unexpected message. The change itself does not appear to fix a specific security bug, but it touches the code that decides which messages the device accepts while a user is confirming an action. There is no vendor statement that this is a security fix, and no independent researcher is credited.

AI review queuedfix: testsby Ioan Bizău · e9f2c644 · Feb 20, 2026 · 2 filesMessage 12 · OpaqueInformational 13Details
Commit message · Ioan Bizău

fix: tests

[no changelog]

12/100 · OpaqueMessage clarity
✓ Uses a recognizable type or scope✓ Mentions testing or verification! Very short subject! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 13/100

This commit only changes automated test helper code for Trezor hardware wallets. It adds a way for test scripts to run small callback steps while the test framework clicks through on-screen menus, and updates a few Ethereum transaction test flows to use that mechanism. There is no change to the actual wallet firmware, cryptography, user-facing behavior, or security boundaries.