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 10 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(tron): Unfreeze and claiming TRX - core logic - Refactored Unfreeze with freeze. - Simplified some definitions and label use. - Supports UnfreezeBalanceV2Contract and WithdrawExpireUnfreezeContractby PrisionMike · 86a4fc10 · Feb 20, 2026 · 7 filesMessage 85 · StrongLow 29Details
Commit message · PrisionMike

feat(tron): Unfreeze and claiming TRX - core logic
- Refactored Unfreeze with freeze.
- Simplified some definitions and label use.
- Supports UnfreezeBalanceV2Contract and WithdrawExpireUnfreezeContract

[no changelog]

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

This commit adds support for two new TRON transaction types on Trezor hardware wallets: unfreezing staked TRX and withdrawing expired unfrozen balances. It also renames a field in the freeze/unfreeze messages from 'frozen_balance' to 'balance' and removes unused smart-contract function signatures. The changes are a routine feature addition for TRON staking operations and do not, on their own, look like a security fix or vulnerability.

AI review queuedfeat(tron): Unfreeze and claiming TRX - scaffoldingby PrisionMike · 0b399af5 · Feb 20, 2026 · 20 filesMessage 62 · AdequateInformational 15Details
Commit message · PrisionMike

feat(tron): Unfreeze and claiming TRX - scaffolding

- Generated code
[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: unusually broad changesecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit is a routine feature addition for the Trezor hardware wallet: it adds support for two new TRON blockchain operations (unstaking/unfreezing TRX and claiming unfrozen TRX). It updates protocol definitions, generated message bindings, translations, and test fixtures. There is no indication of a security vulnerability or fix in the changes themselves.

AI review queuedrefactor(core): use bitwise-AND for THP sync bit extractionby Roman Zeyde · 7b673111 · Feb 19, 2026 · 1 fileMessage 62 · AdequateLow 28Details
Commit message · Roman Zeyde

refactor(core): use bitwise-AND for THP sync bit extraction

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

This is a one-line code cleanup in the Trezor firmware's transport protocol code. It changes how a single sync bit is read from a byte, switching from a right-shift to a bitwise AND. The old and new code should behave identically when the byte only ever holds 0 or 0x80 in that bit position. The change is labeled a 'refactor' with '[no changelog]', so the project does not present it as a security fix. There is no direct evidence of an exploitable bug, but the change removes a subtle assumption that could matter if other bits in the byte were ever set.

AI review queuedchore(l10n): new translations from crowdin [no changelog]by Michal Kazda · 915b743a · Feb 19, 2026 · 7 filesMessage 77 · AdequateInformational 15Details
Commit message · Michal Kazda

chore(l10n): new translations from crowdin
[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 update of translated user-interface text strings for the Trezor hardware wallet. It changes wording in Czech, German, Spanish, French, and Portuguese translation files, adds a couple of empty placeholder strings for an upcoming Ethereum feature, updates the translation signature file, and refreshes the expected UI test screenshot hashes. There is no code change that affects security, cryptography, or device behavior.

AI review queuedbuild(deps): bump urllib3 in /tools/automatic_battery_testerby dependabot[bot] · 0edb6df4 · Feb 18, 2026 · 1 fileMessage 93 · StrongInformational 15Details
Commit message · dependabot[bot]

build(deps): bump urllib3 in /tools/automatic_battery_tester

Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.5.0 to 2.6.3.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/2.5.0...2.6.3)

---
updated-dependencies:
- dependency-name: urllib3
dependency-version: 2.6.3
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 urllib3 library used inside a non-production battery-testing tool from version 2.5.0 to 2.6.3. There is no indication in the commit that this fixes a security issue, and the changed file is not part of the Trezor firmware that runs on devices or handles cryptocurrency.

AI review queuedchore(deps): bump pillow in /tools/automatic_battery_testerby dependabot[bot] · 56772ed1 · Feb 18, 2026 · 1 fileMessage 93 · StrongInformational 13Details
Commit message · dependabot[bot]

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

Bumps [pillow](https://github.com/python-pillow/Pillow) from 11.3.0 to 12.1.1.
- [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/11.3.0...12.1.1)

---
updated-dependencies:
- dependency-name: pillow
dependency-version: 12.1.1
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 13/100

This is a routine dependency update generated by Dependabot. It upgrades the Python imaging library Pillow from version 11.3.0 to 12.1.1 inside a small internal tool used for battery testing. The change is a single line in a requirements file. There is no direct evidence in the commit that this fixes a specific security vulnerability, and the tool is not part of the Trezor firmware that runs on the hardware wallet itself.

AI review queuedfeat(tron): Adding FreezeBalanceV2 contract logicby PrisionMike · 870f0db1 · Feb 17, 2026 · 7 filesMessage 72 · AdequateLow 32Details
Commit message · PrisionMike

feat(tron): Adding FreezeBalanceV2 contract logic

- Main logic for Staking Tron for energy or bandwidth.
- Scaffolding in preceding commit.

[no changelog]

72/100 · AdequateMessage clarity
✓ 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 32/100

This commit adds support for a new Tron blockchain operation called FreezeBalanceV2, which lets users stake TRX tokens to gain Energy or Bandwidth. The change is a feature addition: it adds the contract type to the list of supported transactions, shows the user a confirmation screen with the staking amount and resource type, and handles a protocol quirk where the default resource value must be omitted when serializing the transaction. There is no direct evidence in the commit of a security vulnerability, but any new signing path deserves careful review.

AI review queuedfeat(tron): adding FreezeBalanceV2 message supportby PrisionMike · 11891384 · Feb 17, 2026 · 19 filesMessage 85 · StrongInformational 15Details
Commit message · PrisionMike

feat(tron): adding FreezeBalanceV2 message support

- Updated message definitions. Introduced new strings.
- Mostly generated code. Main changes in subsequent commit.

[no changelog]

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

This commit adds support for a new Tron blockchain operation called FreezeBalanceV2, which lets users stake TRX tokens to gain Energy or Bandwidth. The change only updates message definitions, generated code, test fixtures, and translation strings. There is no actual signing or user-interface logic in this commit, and nothing in the diff suggests a security vulnerability.

AI review queuedchore(core): add confirmation-related English string entriesby Roman Zeyde · 9b6995a5 · Feb 13, 2026 · 6 filesMessage 62 · AdequateInformational 15Details
Commit message · Roman Zeyde

chore(core): add confirmation-related English string entries

[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 · Informational 15/100

This commit only adds two new English text labels, 'Confirm all' and 'Show next', to the Trezor firmware's translation system. It updates the generated code that maps internal keys to user-visible strings and refreshes the translation signature metadata. There is no change to security logic, user prompts, or how confirmations work.

AI review queuedrefactor(core): use non-async function ETH staking detectionby Roman Zeyde · 40c222e9 · Feb 12, 2026 · 1 fileMessage 62 · AdequateInformational 11Details
Commit message · Roman Zeyde

refactor(core): use non-async function ETH staking detection

[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 · Informational 11/100

This commit is a small internal code cleanup in Trezor's Ethereum transaction signing code. It changes a function that detects and handles Ethereum staking transactions from an 'async' (pause-able) style to a regular function that returns a confirmation task. There is no visible change in behavior, no bug fix, and no security-relevant change described by the vendor.

AI review queuedchore: remove untranslated stringby Ioan Bizău · 40a37ffe · Feb 11, 2026 · 3 filesMessage 47 · ThinInformational 15Details
Commit message · Ioan Bizău

chore: remove untranslated string

[no changelog]

47/100 · ThinMessage clarity
✓ Descriptive subject✓ 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 minor user-interface cleanup. It removes a fallback English string ('Path ...') that was not part of the device's translation system and instead reuses an already-translated derivation-path label. It also stops the wallet from showing the same account information twice on screen when no proper account name is available. There is no security issue here.

AI review queuedfix: testsby Ioan Bizău · 78cb6b18 · Feb 11, 2026 · 1 fileMessage 12 · OpaqueInformational 15Details
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 15/100

This commit only updates test helper code in tests/input_flows.py. It renames a helper method and changes which on-screen text labels the tests look for, matching the tests to updated wording in the device firmware's user interface. There is no change to the actual Trezor firmware or wallet logic, so it has no security relevance for end users.

AI review queuedchore(deps): bump protobuf from 6.32.0 to 6.33.5by dependabot[bot] · cad6d979 · Feb 10, 2026 · 1 fileMessage 88 · StrongInformational 14Details
Commit message · dependabot[bot]

chore(deps): bump protobuf from 6.32.0 to 6.33.5

Bumps [protobuf](https://github.com/protocolbuffers/protobuf) from 6.32.0 to 6.33.5.
- [Release notes](https://github.com/protocolbuffers/protobuf/releases)
- [Commits](https://github.com/protocolbuffers/protobuf/commits)

---
updated-dependencies:
- dependency-name: protobuf
dependency-version: 6.33.5
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 14/100

This is an automated dependency update by Dependabot that bumps the Python protobuf library from version 6.32.0 to 6.33.5 in the project's lock file. It also removes an unused 'ecdsa' dependency entry. There is no indication in the commit itself that this fixes a known security vulnerability, and no security advisory was supplied. Dependency updates can in principle include security fixes, but this change alone does not demonstrate any exploitable flaw.

AI review queuedchore(deps-dev): bump wheel from 0.45.1 to 0.46.2by dependabot[bot] · aea24a58 · Feb 9, 2026 · 1 fileMessage 88 · StrongInformational 15Details
Commit message · dependabot[bot]

chore(deps-dev): bump wheel from 0.45.1 to 0.46.2

Bumps [wheel](https://github.com/pypa/wheel) from 0.45.1 to 0.46.2.
- [Release notes](https://github.com/pypa/wheel/releases)
- [Changelog](https://github.com/pypa/wheel/blob/main/docs/news.rst)
- [Commits](https://github.com/pypa/wheel/compare/0.45.1...0.46.2)

---
updated-dependencies:
- dependency-name: wheel
dependency-version: 0.46.2
dependency-type: direct:development
...

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 update by Dependabot that bumps the Python 'wheel' development dependency from version 0.45.1 to 0.46.2 in the project's lock file. It only changes a package metadata entry and does not alter any device firmware, wallet logic, or runtime code. There is no indication this fixes or introduces a security issue.

AI review queuedchore(python): update `click` dependency versionsby Roman Zeyde · 34d382d4 · Feb 9, 2026 · 2 filesMessage 57 · ThinInformational 15Details
Commit message · Roman Zeyde

chore(python): update `click` dependency versions

[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: broader security terminology
AI analysis · Informational 15/100

This commit simply widens the allowed version range for the Python 'click' command-line library used in Trezor's Python tools. It does not change any device firmware, wallet logic, or security-sensitive code. There is no indication this is a security fix or that it addresses any vulnerability.

AI review queuedfeat(tron): Clear sign some TRC20 transfers.by PrisionMike · adf70c8e · Feb 8, 2026 · 3 filesMessage 57 · ThinLow 28Details
Commit message · PrisionMike

feat(tron): Clear sign some TRC20 transfers.

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

This commit expands the Trezor hardware wallet's ability to clearly display details for more Tron TRC20 token transfers on the device screen. Previously, only one test token was recognized; now a built-in list of popular tokens (like USDT, USDD, BTT, etc.) is shown with their proper names and decimal places when a user signs a transfer. This is a user-experience and safety improvement, not a fix for a known exploit.

AI review queuedrefactor(python): move protocols out of transportby matejcik · 61783a05 · Feb 3, 2026 · 9 filesMessage 57 · ThinInformational 15Details
Commit message · matejcik

refactor(python): move protocols out of transport

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

This commit is a pure code reorganization: it moves the Trezor host-side protocol implementation files from one Python package directory (transport/thp) to another (thp) and adds a new protocol_v1.py module. The actual logic, constants, and behavior appear unchanged. There is no indication this fixes or introduces a security vulnerability.

AI review queuedchore: use separate sc_constants for Tronby Ioan Bizău · 3f38c8e8 · Feb 2, 2026 · 3 filesMessage 57 · ThinInformational 15Details
Commit message · Ioan Bizău

chore: use separate sc_constants for Tron

[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 is a routine code cleanup: it creates a Tron-specific copy of some smart-contract constants that were previously borrowed from the Ethereum app, and updates the Tron signing code to use its own copy. There is no functional change to how transactions are validated or signed, and no security bug is fixed or introduced.

AI review queuedchore(deps): bump cbor2 from 5.6.5 to 5.8.0by dependabot[bot] · 4b47486b · Jan 30, 2026 · 1 fileMessage 88 · StrongInformational 13Details
Commit message · dependabot[bot]

chore(deps): bump cbor2 from 5.6.5 to 5.8.0

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

---
updated-dependencies:
- dependency-name: cbor2
dependency-version: 5.8.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 13/100

This is a routine automated update by Dependabot that bumps the Python library cbor2 from version 5.6.5 to 5.8.0 in the project's lock file. The change only records new package download URLs and cryptographic hashes; no Trezor source code was modified. There is no indication in the commit that this fixes a security issue, and no verified security advisory was supplied. It is best treated as normal dependency maintenance.

AI review queuedchore(deps): bump pyasn1 from 0.6.1 to 0.6.2by dependabot[bot] · 5bfff236 · Jan 30, 2026 · 1 fileMessage 88 · StrongInformational 15Details
Commit message · dependabot[bot]

chore(deps): bump pyasn1 from 0.6.1 to 0.6.2

Bumps [pyasn1](https://github.com/pyasn1/pyasn1) from 0.6.1 to 0.6.2.
- [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.1...v0.6.2)

---
updated-dependencies:
- dependency-name: pyasn1
dependency-version: 0.6.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
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.1 to 0.6.2 in the project's lock file. There is no indication in the commit itself that this fixes a security issue, and no verified security references were provided. On its own, a patch-version bump of a pure-Python ASN.1 parsing library is normally treated as a maintenance change.

AI review queuedchore(deps): bump virtualenv from 20.34.0 to 20.36.1by dependabot[bot] · 5f9d370a · Jan 30, 2026 · 1 fileMessage 93 · StrongInformational 15Details
Commit message · dependabot[bot]

chore(deps): bump virtualenv from 20.34.0 to 20.36.1

Bumps [virtualenv](https://github.com/pypa/virtualenv) from 20.34.0 to 20.36.1.
- [Release notes](https://github.com/pypa/virtualenv/releases)
- [Changelog](https://github.com/pypa/virtualenv/blob/main/docs/changelog.rst)
- [Commits](https://github.com/pypa/virtualenv/compare/20.34.0...20.36.1)

---
updated-dependencies:
- dependency-name: virtualenv
dependency-version: 20.36.1
dependency-type: indirect
...

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. It bumps the Python build tool 'virtualenv' from version 20.34.0 to 20.36.1 in the project's lock file. The change only affects development tooling used to create isolated Python environments, not the Trezor firmware that runs on devices or handles cryptocurrency. There is no indication of a security fix or vulnerability in the commit itself.

AI review queuedchore(deps): bump urllib3 from 2.5.0 to 2.6.3by dependabot[bot] · 6bd6736f · Jan 30, 2026 · 1 fileMessage 88 · StrongInformational 13Details
Commit message · dependabot[bot]

chore(deps): bump urllib3 from 2.5.0 to 2.6.3

Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.5.0 to 2.6.3.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/2.5.0...2.6.3)

---
updated-dependencies:
- dependency-name: urllib3
dependency-version: 2.6.3
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 13/100

This is an automated dependency update by Dependabot that bumps the Python urllib3 library from version 2.5.0 to 2.6.3 in the project's lock file. urllib3 is a widely used HTTP client library, but it is an indirect dependency here, meaning it is pulled in by another package rather than being used directly by Trezor's firmware code. The commit itself only changes version numbers and download hashes; it does not modify Trezor's own code. Without knowing which known urllib3 vulnerabilities exist between these versions or how Trezor's tooling uses it, the direct security risk from this single commit is low.

AI review queuedchore(translations): sync Crowdin translationsby obrusvit · 12e02478 · Jan 27, 2026 · 7 filesMessage 57 · ThinInformational 15Details
Commit message · obrusvit

chore(translations): sync Crowdin translations

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 is a routine synchronization of translated user-interface text strings for the Trezor hardware wallet firmware. It updates Czech, German, Spanish, French, and Portuguese translations, refreshes the cryptographic signature that verifies those translations, and updates the expected screen hashes used in automated UI tests. There is no code that handles secrets, cryptography, network communication, or user authorization, and nothing in the changes suggests a security vulnerability.

AI review queuedfix(core): fix kernel crash when ext app faultby cepetr · e79f97af · Jan 16, 2026 · 1 fileMessage 57 · ThinModerate 57Details
Commit message · cepetr

fix(core): fix kernel crash when ext app fault

[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: broader security terminology
AI analysis · Moderate 57/100

This patch fixes a kernel crash that could occur when an external (untrusted) application running on the Trezor device faults. The crash happened because the kernel tried to read a return address from a memory region it was not allowed to access. The fix temporarily relaxes memory protection just long enough to safely read that address, then restores it. It is a stability/reliability fix in a security-sensitive component, but the commit itself does not claim it is exploitable for theft of funds or secrets.

AI review queuedfeat(core): introduce app_loader/cache moduleby cepetr · c0de3d9e · Jan 16, 2026 · 24 filesMessage 57 · ThinLow 38Details
Commit message · cepetr

feat(core): introduce app_loader/cache module

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

This commit introduces a new application loader and cache subsystem for the Trezor firmware. It adds code that loads external ELF-format applications into memory, manages their execution as isolated applets, and handles memory allocation for them. The change is a feature addition, not a documented security fix. The code includes a prominent warning that the STM32 ELF loader implementation should not be shipped in production devices. There is no evidence in the commit or supplied references that this resolves a known security incident or vulnerability.