TZ
← All projectsTrezor

Trezor firmware

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

BitcoinHardware walletsNormal
Repository coverage

3249 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
276commits · 30 days
707commits · 60 days
1660commits · 180 days
2691commits · 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
1039Thin · 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
obrusvit25896236364
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 44 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
Informational 15 AI analysisMessage 77 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(core): render translated strings verbatim in layouts

This is a cosmetic code cleanup. It moves punctuation and capitalization out of the Python code and into the translation files so translated strings are shown exactly as written. There is no security-relevant change.

162ed3a2by Michal Kazda+12−125 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 queuedfix(cardano): stop trimming long messagesby Ioan Bizău · 88af9542 · Aug 25, 2025 · 2 filesMessage 57 · ThinLow 34Details
Commit message · Ioan Bizău

fix(cardano): stop trimming long messages

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

This commit fixes a display issue in Trezor's Cardano message signing feature. Previously, very long messages were visually trimmed on the device screen, so the user could not see the full content before approving a signature. The patch removes the trimming limit and adds a test case for a long payload. The risk is that a user might unknowingly sign a message whose full content they did not review, but the signature itself is still produced over the complete message (not a truncated one).

AI review queuedfeat(cardano): reject probable hashesby Peter Jaško · dde4ec8a · Aug 25, 2025 · 3 filesMessage 57 · ThinLow 36Details
Commit message · Peter Jaško

feat(cardano): reject probable hashes

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

This update makes Trezor's Cardano message-signing feature refuse to sign 28-byte payloads that look like cryptographic hashes. The goal is to prevent users from accidentally signing a hash of an unknown message, which could let an attacker trick them into authorizing something they did not read. The change is a simple heuristic: if the payload is exactly 28 bytes and is not made of ordinary printable text, the device now rejects it with an error.

AI review queuedchore(cardano): changes after rebaseby Peter Jaško · 2427d232 · Aug 25, 2025 · 5 filesMessage 57 · ThinInformational 16Details
Commit message · Peter Jaško

chore(cardano): changes after rebase

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 is a routine cleanup after merging (rebasing) other Cardano code changes. It updates the Cardano message-signing flow to use newer internal APIs (sessions instead of raw clients, and a separate SLIP-21 keychain argument) and refreshes automated test snapshots. There is no indication it fixes or introduces a security vulnerability.

AI review queuedfix(cardano): Return pubkeyby Peter Jaško · 389e1eba · Aug 25, 2025 · 7 filesMessage 62 · AdequateInformational 20Details
Commit message · Peter Jaško

fix(cardano): Return pubkey

This ends up being useful for software wallets.

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

This commit adds the public key to the Cardano message-signing response. It is a feature enhancement for software wallets, not a fix for a vulnerability. There is no security defect in the change itself.

AI review queuedchore(cardano): add missing translationsby David Misiak · 7fcd3ec8 · Aug 25, 2025 · 8 filesMessage 57 · ThinInformational 15Details
Commit message · David Misiak

chore(cardano): add missing 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 only adds or updates translated text strings for the Cardano cryptocurrency feature. It replaces hard-coded English labels like 'Confirm message' and 'Message text' with references to the device's translation system, and updates the translation files, generated code, and a test marker. There is no change to security logic, cryptography, or how user approvals work.

AI review queuedrefactor(python): refactor THP-related exception typesby Roman Zeyde · c693963a · Aug 25, 2025 · 6 filesMessage 62 · AdequateInformational 15Details
Commit message · Roman Zeyde

refactor(python): refactor THP-related exception types

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

This commit is a routine code cleanup that renames and reorganizes error/exception types used in Trezor's Python library, particularly for the new THP (Trezor Host Protocol) transport. It does not change security behavior; it only makes error handling more specific and easier to maintain. For example, a generic 'device locked' exception is renamed and moved under a new THP error family, and THP error codes now raise distinct exception classes instead of generic strings.

AI review queuedbuild(core): fix dependency versions in trezor-core-toolsby matejcik · b14e3432 · Aug 21, 2025 · 3 filesMessage 97 · StrongInformational 15Details
Commit message · matejcik

build(core): fix dependency versions in trezor-core-tools

otherwise it's not possible to `poetry lock` when one of trezor or
trezor-core-tools is touched, because their version specs clash

97/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Explains rationale or failure mode
Why it was queued
second-pass: broader security terminology
AI analysis · Informational 15/100

This commit is a routine build/dependency housekeeping change. It updates Python version constraints and the internal 'trezor' package version requirement so that the project's Poetry lock file can be regenerated without conflicts. There is no indication this fixes a security vulnerability or changes runtime behavior of the Trezor firmware or wallet software.

AI review queuedrefactor(python): inline `ProtocolV2Channel.prepare_channel_without_pairing()`by Roman Zeyde · 3406932f · Aug 21, 2025 · 1 fileMessage 62 · AdequateInformational 15Details
Commit message · Roman Zeyde

refactor(python): inline `ProtocolV2Channel.prepare_channel_without_pairing()`

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

This commit is a simple code cleanup: it removes a small helper method and places its contents directly into the function that called it. No behavior changes, no security fixes, and no new risks are visible.

AI review queuedrefactor(python): don't return SEQ bit for irrelevant THP messagesby Roman Zeyde · a303f9c9 · Aug 21, 2025 · 2 filesMessage 62 · AdequateInformational 17Details
Commit message · Roman Zeyde

refactor(python): don't return SEQ bit for irrelevant THP messages

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

This is a small code cleanup in Trezor's Python library for a newer transport protocol (THP). It changes a helper function so it returns 'no sequence bit' for message types that don't carry one, and adds an assertion to catch any unexpected case. The change is labeled a refactor with no changelog and appears defensive rather than a fix for an active security bug.

AI review queuedfeat(python): ignore retransmitted THP payloadsby Roman Zeyde · 8b19697a · Aug 21, 2025 · 1 fileMessage 57 · ThinLow 35Details
Commit message · Roman Zeyde

feat(python): ignore retransmitted THP payloads

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

This commit changes the Trezor Python library's handling of messages sent over the new THP (Trezor Host Protocol) transport. Previously, if a message had a bad checksum, the code would read a new message but did not track whether the newly received message was a fresh one or an old retransmission. The new code loops until it receives a message that passes the checksum and also has the expected sequence/sync bit, ignoring stale or out-of-order retransmissions. This is a hardening change: it makes the host-side protocol implementation more robust against duplicate or replayed packets, which could otherwise confuse state machines or cause commands to be processed twice.

AI review queuedfeat(core): add THP transport-level PING/PONG messagesby Roman Zeyde · 56f9490c · Aug 19, 2025 · 6 filesMessage 62 · AdequateInformational 20Details
Commit message · Roman Zeyde

feat(core): add THP transport-level PING/PONG messages

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

This commit adds a new low-level keep-alive/ping feature to the Trezor hardware wallet's experimental THP (Trezor Host Protocol) transport. It lets the host send a PING and the device reply with a PONG, echoing back a random 8-byte nonce. The change also updates test tooling to use this new transport-level ping instead of a higher-level application ping. There is no indication this fixes a security vulnerability; it appears to be a feature/refactoring change.

AI review queuedrefactor(python): define `MAX_RETRANSMISSION_COUNT` in `protocol_v2`by Roman Zeyde · 6fb28ff6 · Aug 19, 2025 · 1 fileMessage 62 · AdequateInformational 15Details
Commit message · Roman Zeyde

refactor(python): define `MAX_RETRANSMISSION_COUNT` in `protocol_v2`

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

This commit is a simple code cleanup: it replaces a hardcoded number (50) with a named constant (`MAX_RETRANSMISSION_COUNT`) in the Python Trezor library. There is no functional change, no bug fix, and no security relevance visible in the diff.

AI review queuedfeat(core): SLIP-24 payment requests for Solanaby Ioan Bizău · 5b279888 · Aug 13, 2025 · 12 filesMessage 57 · ThinLow 28Details
Commit message · Ioan Bizău

feat(core): SLIP-24 payment requests for Solana

[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 adds support for SLIP-24 payment requests when signing Solana transactions on Trezor devices. It is a feature implementation, not a security fix. The code introduces verification of payment request data against the transaction details and rejects cases with multiple token transfers when a payment request is present. There is no direct evidence in the commit of a vulnerability or security incident.

AI review queuedfeat(core): SLIP-24 payment requests for Cardanoby Ioan Bizău · 218805d2 · Aug 13, 2025 · 13 filesMessage 57 · ThinLow 35Details
Commit message · Ioan Bizău

feat(core): SLIP-24 payment requests for Cardano

[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 adds a new feature to Trezor hardware wallets: SLIP-24 payment requests for Cardano transactions. It lets a merchant or service provider attach a signed payment request to a Cardano transaction, which the device then displays to the user for confirmation. The change is a feature addition, not a documented security fix. It includes a restriction that payment requests can only be used with single-output transactions, and it reuses an existing payment-request verification framework already present in the firmware.

AI review queuedchore(core): regen foreign charsby obrusvit · b7fb51a7 · Aug 12, 2025 · 11 filesMessage 57 · ThinInformational 15Details
Commit message · obrusvit

chore(core): regen foreign chars

[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 translation and font maintenance update. It regenerates Spanish and Portuguese font glyph data for the 'º' character, updates translation string files, refreshes the translation signature, and updates UI test fixture hashes. There is no code that handles secrets, cryptography, network data, or user authorization, and nothing in the commit suggests a security fix or vulnerability.

AI review queuedchore(core): remove logging from `alternating_bit_protocol`by Roman Zeyde · 4b9deb7b · Aug 12, 2025 · 1 fileMessage 62 · AdequateInformational 15Details
Commit message · Roman Zeyde

chore(core): remove logging from `alternating_bit_protocol`

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

This commit simply removes debug-only logging statements from a low-level Trezor firmware communication helper. There is no change to actual device behavior, no security fix, and no vulnerability introduced.

AI review queuedfix(core): reset primask in emergency rescueby tychovrahe · 4aa64d88 · Aug 11, 2025 · 1 fileMessage 80 · StrongLow 41Details
Commit message · tychovrahe

fix(core): reset primask in emergency rescue

This allows RSOD to work properly in case the crash occurs in critical sections with interrupts disabled via primask

[no changelog]

80/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
Why it was queued
second-pass: broader security terminology
AI analysis · Low 41/100

This commit fixes a low-level crash-recovery bug in Trezor hardware wallets. If the device crashed while interrupts were temporarily disabled (a common protective state during sensitive operations), the emergency rescue code could fail to re-enable normal interrupts before showing the Red Screen of Death (RSOD). The fix adds one line to re-enable interrupts so the recovery screen works reliably. There is no direct evidence this is exploitable as an attack; it is primarily a reliability/resilience fix.

AI review queuedchore(translations): normalize strings to NFC not NFKCby matejcik · 41f60722 · Aug 8, 2025 · 56 filesMessage 62 · AdequateInformational 19Details
Commit message · matejcik

chore(translations): normalize strings to NFC not NFKC

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

This commit changes how special characters in translated text are normalized (converted to a standard form) from a stricter method (NFKC) to a less strict one (NFC). It also adds the masculine ordinal indicator (º) to Spanish and Portuguese font glyph sets and updates many translation strings and test snapshots. The change is a routine internationalization/translation tooling fix. There is no direct evidence in the commit that this fixes an active security vulnerability.

AI review queuedfeat(core): SLIP-24 UI for Rippleby Ioan Bizău · 04adf71f · Aug 8, 2025 · 5 filesMessage 57 · ThinInformational 20Details
Commit message · Ioan Bizău

feat(core): SLIP-24 UI for Ripple

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

This commit adds a new on-screen confirmation flow for Ripple payment requests on newer Trezor hardware wallets. It replaces a placeholder TODO with a proper user-interface that shows the recipient, memos, refund details, and trade details before signing. There is no obvious security bug in the change; it is a feature implementation that improves transparency for users.

AI review queuedfeat(core): use new SLIP-24 UI for Bitcoinby Ioan Bizău · c27dba5a · Aug 7, 2025 · 5 filesMessage 57 · ThinInformational 15Details
Commit message · Ioan Bizău

feat(core): use new SLIP-24 UI for Bitcoin

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 updates the on-screen user interface shown when approving Bitcoin payment requests on a Trezor device. It replaces an older screen that merely asked whether to show details with a new screen that actually displays the payment request details (recipient, address, memos, refunds, trades, account path). There is no indication of a security bug or vulnerability fix in the change itself or the commit message.

AI review queuedfeat(tests): SLIP-24 tests for Bitcoinby Ioan Bizău · 8805f9ca · Aug 7, 2025 · 2 filesMessage 90 · StrongInformational 15Details
Commit message · Ioan Bizău

feat(tests): SLIP-24 tests for Bitcoin

* replace Dash and GRS with some coins that we still support
* drop unnecessary input flow (since we will now visit all menus by
default)
* add a test for the most basic use case: Swap with refund address and
extra message
* run tests on all current models

90/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit only changes test files for Trezor hardware wallet firmware. It updates which cryptocurrencies are used in automated tests, adds a new test case for a basic swap scenario, removes an outdated manual input-flow test, and adjusts which device models certain tests run on. There are no changes to the actual wallet firmware code that users rely on, so this cannot directly affect device security.

AI review queuedfix(core): allow text details memos in Bitcoinby Ioan Bizău · e3e2b8cf · Aug 7, 2025 · 1 fileMessage 57 · ThinLow 38Details
Commit message · Ioan Bizău

fix(core): allow text details memos in Bitcoin

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

This commit fixes a validation check in the Trezor hardware wallet's Bitcoin signing code. The device accepts 'payment request memos' that can contain different memo types, and it should reject requests where more than one type is set at once. A newly added memo type ('text details memo') was accidentally left out of the 'pick exactly one' check, so a malicious or buggy host could potentially include both a text memo and a text-details memo in the same payment request, confusing what the user sees or breaking an invariant the firmware relies on.

AI review queuedfix(core): skip unexpected THP packet during channel allocationby Roman Zeyde · 191631fb · Aug 6, 2025 · 1 fileMessage 62 · AdequateLow 28Details
Commit message · Roman Zeyde

fix(core): skip unexpected THP packet during channel allocation

[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 commit changes the Trezor host-side Python library so that when it tries to open a new communication channel with a Trezor device, it can ignore up to 50 unexpected packets before giving up. Previously, a single stray or delayed packet would cause the channel setup to fail. The change makes the connection process more tolerant of leftover traffic, which could happen during retransmissions or after a previous session.

AI review queuedchore(core): use non-breakable space between value and unitby Lukas Bielesch · 6e2d44d7 · Aug 6, 2025 · 28 filesMessage 62 · AdequateInformational 15Details
Commit message · Lukas Bielesch

chore(core): use non-breakable space between value and unit

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 cosmetic user-interface change. It replaces ordinary spaces with non-breaking spaces between numbers and their units (for example, showing '1.23 BTC' with a special space that prevents the number and 'BTC' from being split across two lines on the Trezor screen). There is no security-relevant behavior change.