TZ
← All projectsTrezor

Trezor firmware

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

BitcoinHardware walletsNormal
Repository coverage

3255 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.

1137security candidates374second-pass queue2939AI analyses
278commits · 30 days
710commits · 60 days
1666commits · 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
650Strong · 80–100
1558Adequate · 60–79
1040Thin · 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
PrisionMike11169109272
Andrew Kozlik833481268
Petr Susil1048287
Jakub Janků591838180
Martin Pastyřík26823173
cepetr264106222059
M1nd3r24689227071
Ioan Bizău23076230059
Lukas Bielesch856784067
Analysis record

Published AI watches

Last scanned 9 minutes ago

Informational 15 AI analysisMessage 77 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(core): add new line on Eckhart address mismatch screen

This commit is a cosmetic UI fix for the Trezor hardware wallet's Eckhart layout. It adds a line break so that a support URL appears on its own line when the device shows an address mismatch warning. There is no security-relevant change to…

99cb0ffdby Michal Kazda+1−01 file
No security note in commit
Informational 18 AI analysisMessage 85 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(core): use buttons__cancel in Delizia menu to cancel PIN setup

This is a tiny user-interface wording fix in the Trezor hardware wallet firmware. It changes the label on one menu button from a long translated phrase ('cancel setup') to a shorter generic word ('Cancel') so that translations fit on scree…

UI wording change onlyNo logic or cryptographic changeNo changelog entry (suggests minor fix)
7a1b8121by Michal Kazda+1−11 file
No security note in commit
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
Repository ledger

Explore captured commits

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

Security candidatefix(core/bolt): wider Continue buttonby Martin Milata · 493d9789 · Jul 28, 2026 · 2 filesMessage 57 · ThinInformational 15Details
Commit message · Martin Milata

fix(core/bolt): wider Continue button

[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
boot or update path
AI analysis · Informational 15/100

This commit is a user-interface layout tweak for the Trezor hardware wallet's Bolt design. It widens the 'Continue' button and replaces some text buttons with icons in certain confirmation dialogs. There is no security-relevant change visible in the code diff.

Lower-prioritychore(core): update fixturesby Martin Milata · 32bfd360 · Jul 28, 2026 · 1 fileMessage 47 · ThinInformational 15Details
Commit message · Martin Milata

chore(core): update fixtures

[no changelog]

47/100 · ThinMessage clarity
✓ Descriptive subject✓ Uses a recognizable type or scope! No meaningful explanatory body
AI analysis · Informational 15/100

This commit only updates the expected hash values (called 'fixtures') used by the project's automated user-interface tests. No actual product code was changed, so there is no direct security risk in this commit itself. The updated hashes likely reflect normal changes in screen layouts, text, or rendering from earlier development work.

AI review queuedchore(translations): update Continue for csby Martin Milata · e1251b09 · Jul 28, 2026 · 2 filesMessage 57 · ThinInformational 15Details
Commit message · Martin Milata

chore(translations): update Continue for cs

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

This commit changes one Czech translation string for the word 'Continue' from 'Pokračujte' to 'Pokračovat', and updates the corresponding translation signature metadata. There is no security relevance.

Security candidateci: fix sync with trezor-common repositoryby Martin Milata · 28b9f13e · Jul 28, 2026 · 1 fileMessage 80 · StrongInformational 16Details
Commit message · Martin Milata

ci: fix sync with trezor-common repository

- do not persist conflicting token from actions/checkout
- remove failing git command that is no longer needed
- explicitly specify required permissions

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
credential or privilege statedocumentation-only discount
AI analysis · Informational 16/100

This commit adjusts a GitHub Actions workflow that synchronizes code between two Trezor repositories. The changes remove a leftover default authentication token, explicitly request only the write permission needed for contents, and drop an unnecessary git command. These are hardening improvements rather than a fix for an active vulnerability.

AI review queuedchore(core/ethereum): reject invalid initial chunkby Roman Zeyde · b5e27a2d · Jul 28, 2026 · 2 filesMessage 62 · AdequateLow 47Details
Commit message · Roman Zeyde

chore(core/ethereum): reject invalid initial chunk

[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
defensive validationsigning or wallet pathsecond-pass: near security thresholdsecond-pass: security-sensitive path
AI analysis · Low 47/100

This commit fixes a validation bug in Trezor's Ethereum transaction signing. Previously, the device only checked whether the initial data chunk was too large when the transaction also contained non-zero data length. Now it always rejects an oversized initial chunk, even when the declared data length is zero. The change is defensive and closes a path where malformed input could slip past validation.

Lower-prioritydocs(core): add a changelog entry for #7388by Roman Zeyde · d483d11f · Jul 28, 2026 · 1 fileMessage 80 · StrongInformational 15Details
Commit message · Roman Zeyde

docs(core): add a changelog entry for #7388

It has been introduced in #7175, and fixed in #6676 (THP 🦀).

80/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body✓ Links an issue, advisory, or supporting reference
AI analysis · Informational 15/100

This commit only adds a one-line changelog note saying a host-disconnection handling bug was fixed for the T3W1 device. There is no actual code change in the commit, so it cannot by itself introduce or fix a security issue. It merely documents a fix that happened in an earlier pull request (#6676).

Security candidatechore(tools): verify secmon-wrapped prodtest images in `verify_signed_firmware`by M1nd3r · c4b11050 · Jul 28, 2026 · 1 fileMessage 100 · StrongInformational 17Details
Commit message · M1nd3r

chore(tools): verify secmon-wrapped prodtest images in `verify_signed_firmware`

Changes:
- In the "signed <-> unsigned comparison", the tool now zeroes-out the signatures and sigmask in the inner secmon image and recomputes the hashes in the outer firmware header.
- In the "signature verification" phase, the signatures of the inner secmon are verified too. The signature verification code was separated into a helper function `_check_signatures`.

Assisted-by: Claude, Opus 5

[no changelog]

100/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Mentions testing or verification✓ Names security-relevant behavior explicitly
Why it was queued
signing boundarydefensive validationsigning or wallet pathboot or update path
AI analysis · Informational 17/100

This is a developer tooling change for Trezor hardware wallets. It improves an internal Python script that checks whether signed firmware images are correctly built. The script now also validates a special 'secmon-wrapped' production-test image used on at least one Trezor model. There is no change to device firmware, no runtime security fix, and no evidence of a vulnerability being patched.

Lower-prioritychore(vendor): update `ts-tvl` to version 2.5by M1nd3r · f867d6ff · Jul 28, 2026 · 2 filesMessage 57 · ThinInformational 4Details
Commit message · M1nd3r

chore(vendor): update `ts-tvl` to version 2.5

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
AI analysis · Informational 4/100

This commit is a routine vendor dependency update, bumping the internal ts-tvl package from version 2.4 to 2.5. The diff only changes one version number in a lock file. There is no visible security fix, vulnerability description, or code change in the supplied materials.

Lower-prioritytests(prodtest): remove unsafe YAML parserby M1nd3r · 3c35604b · Jul 28, 2026 · 1 fileMessage 70 · AdequateLow 33Details
Commit message · M1nd3r

tests(prodtest): remove unsafe YAML parser

- It is not needed when using `ts-tvl` v2.5.
[no changelog]

70/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body✓ Mentions testing or verification
AI analysis · Low 33/100

This commit removes a custom YAML loader that was used only in production-test helper code. The custom loader accepted special Python object tags so it could read model config files. It is being replaced with the standard safe YAML loader because an upstream dependency now writes files in a simpler format. The change reduces the risk of accidentally reintroducing unsafe YAML parsing in test tooling, but it is in test code rather than the wallet firmware itself.

Security candidatechore(crypto): replace `int` by `size_t` for nonnegative parametersby M1nd3r · 78f83c9a · Jul 28, 2026 · 25 filesMessage 77 · AdequateLow 34Details
Commit message · M1nd3r

chore(crypto): replace `int` by `size_t` for nonnegative parameters

Assisted-by: Claude, Opus 5

[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
cryptography-sensitive pathboot or update path
AI analysis · Low 34/100

This commit is a code-quality cleanup that changes many function parameters from signed integers (`int`) to unsigned size types (`size_t`) where only non-negative lengths or sizes make sense. It also removes some now-unnecessary negative-value checks and adjusts callers/tests accordingly. The change is defensive: using `size_t` prevents accidental negative lengths from being interpreted as huge positive values, which can cause memory corruption or information leaks. The commit itself does not claim to fix a specific vulnerability, and no external security advisory is supplied.

Security candidatefeat(core): compose Stellar authorization entry labels as root label + path.by Jun Luo · ad830fa9 · Jul 28, 2026 · 1 fileMessage 98 · StrongInformational 15Details
Commit message · Jun Luo

feat(core): compose Stellar authorization entry labels as root label + path.

The same auth entry now renders with the same sub-invocation paths
regardless of where it appears: "Authorization #2" for the entry itself
and "Authorization #2.1", "Authorization #2.1.1", ... for its
(nested) sub-invocations.

[no changelog]

98/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✓ Names security-relevant behavior explicitly
Why it was queued
access control
AI analysis · Informational 15/100

This commit only changes the on-screen text labels shown when a Trezor device asks the user to confirm a Stellar blockchain authorization. It renames labels from formats like 'Authorization 2' and '1-2-1' to 'Authorization #2' and '#2.1.1'. There is no security vulnerability or fix here; it is a user-interface clarity improvement.

Security candidatefeat(common,core,python,tests): support signing Stellar Soroban authorization entries.by Jun Luo · 6008cc25 · Jul 28, 2026 · 25 filesMessage 100 · StrongLow 36Details
Commit message · Jun Luo

feat(common,core,python,tests): support signing Stellar Soroban authorization entries.

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

100/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body✓ Mentions testing or verification✓ Links an issue, advisory, or supporting reference✓ Names security-relevant behavior explicitly
Why it was queued
signing boundaryaccess controlsigning or wallet pathboot or update pathauthentication path
AI analysis · Low 36/100

This commit adds a new Trezor feature that lets users sign Stellar Soroban smart-contract authorization entries. The device now supports a new message type where it derives the user's Stellar address, shows confirmation screens, and produces an Ed25519 signature over a protocol-defined authorization payload. The change is a feature addition rather than a bug fix, and the signing flow includes user confirmation steps.

Security candidatetest(stellar): add Soroban authorization signing tests.by Jun Luo · 72511927 · Jul 28, 2026 · 4 filesMessage 77 · AdequateInformational 15Details
Commit message · Jun Luo

test(stellar): add Soroban authorization signing tests.

[no changelog]

77/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Mentions testing or verification✓ Names security-relevant behavior explicitly! No meaningful explanatory body
Why it was queued
signing boundaryaccess controlsigning or wallet pathauthentication path
AI analysis · Informational 15/100

This commit only adds new automated tests for signing Stellar Soroban authorizations. It does not change any production firmware, wallet logic, or cryptographic code. There is no security vulnerability here.

AI review queuedchore(core/stellar): make gen and fixturesby obrusvit · 94d39e3c · Jul 28, 2026 · 6 filesMessage 57 · ThinInformational 15Details
Commit message · obrusvit

chore(core/stellar): make gen and fixtures

[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 maintenance update for the Stellar feature in Trezor firmware. It adds three new user-facing text strings (for device screen prompts), updates translation signatures, refreshes expected test screenshot hashes, and adjusts dependency version-locking rules for the Stellar SDK. There is no indication of a security fix or vulnerability in the changes themselves.

Security candidaterefactor(core/stellar): move generic Soroban writers to writers.py.by Jun Luo · 5f24e157 · Jul 28, 2026 · 5 filesMessage 90 · StrongInformational 15Details
Commit message · Jun Luo

refactor(core/stellar): move generic Soroban writers to writers.py.

SCVal, SCAddress and authorized-invocation writers are used by both the
transaction flow and the standalone authorization signing flow, so they
are no longer operation-specific.

[no changelog]

90/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Names security-relevant behavior explicitly
Why it was queued
signing boundaryaccess controlsigning or wallet pathauthentication path
AI analysis · Informational 15/100

This commit is a straightforward code cleanup: it moves several Stellar Soroban serialization helper functions from an operation-specific file into a shared writers module so both transaction signing and standalone authorization signing can use the same code. No behavior changes, bug fixes, or security fixes are visible in the diff.

Security candidaterefactor(core/stellar): move generic Soroban layout helpers to layout.py.by Jun Luo · 9ce451bd · Jul 28, 2026 · 4 filesMessage 90 · StrongInformational 15Details
Commit message · Jun Luo

refactor(core/stellar): move generic Soroban layout helpers to layout.py.

SCVal formatting and invocation confirmation helpers are used by both
the transaction flow and the standalone authorization signing flow, so
they are no longer operation-specific.

[no changelog]

90/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Names security-relevant behavior explicitly
Why it was queued
signing boundaryaccess controlsigning or wallet pathauthentication path
AI analysis · Informational 15/100

This commit is a straightforward code cleanup: it moves helper functions for formatting Stellar Soroban smart-contract values and showing confirmation screens from one file to another shared file. No security behavior changes are visible in the diff. The only functional tweak is narrowing an exception handler from a broad 'except Exception' to 'except OverflowError' when formatting timestamps, which is a minor hardening improvement, not a vulnerability.

Security candidatefeat(common,core,python,tests): migrate Soroban authorization to SOROBAN_CREDENTIALS_ADDRESS_V2.by Jun Luo · 0d2cc2ac · Jul 28, 2026 · 13 filesMessage 77 · AdequateLow 29Details
Commit message · Jun Luo

feat(common,core,python,tests): migrate Soroban authorization to SOROBAN_CREDENTIALS_ADDRESS_V2.

[no changelog]

77/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Mentions testing or verification✓ Names security-relevant behavior explicitly! No meaningful explanatory body
Why it was queued
access controlcredential or privilege statesigning or wallet path
AI analysis · Low 29/100

This commit updates Trezor's Stellar/Soroban smart-contract support to match a newer Stellar protocol version (Protocol 27). It renames the credential type from the older SOROBAN_CREDENTIALS_ADDRESS to SOROBAN_CREDENTIALS_ADDRESS_V2 and updates the related field name from address to address_v2 across the firmware, Python library, Rust client, and tests. The older credential type is intentionally no longer supported. There is no direct evidence in the commit of a security vulnerability being fixed; it reads as a routine protocol compatibility update.

Lower-priorityci(core): improve binaries' size formattingby Roman Zeyde · 7fccc2c2 · Jul 28, 2026 · 1 fileMessage 57 · ThinInformational 15Details
Commit message · Roman Zeyde

ci(core): improve binaries' size formatting

[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
documentation-only discount
AI analysis · Informational 15/100

This is a purely cosmetic change to how firmware binary file sizes are displayed in GitHub CI build summaries. It swaps the order of columns (size first, filename second) and adjusts alignment/sorting so the output is easier to read. There is no change to firmware code, build artifacts, or security behavior.

Lower-priorityfeat(core): impl maybe_with_colonby obrusvit · 9eddd93d · Jul 28, 2026 · 2 filesMessage 70 · AdequateInformational 18Details
Commit message · obrusvit

feat(core): impl maybe_with_colon

- a function calling `with_colon` based on the UI layout
- currently, only Bolt and Caesar should show colons in properties

[no changelog]

70/100 · AdequateMessage clarity
✓ Descriptive subject✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
AI analysis · Informational 18/100

This commit is a user-interface polish change for the Trezor hardware wallet. It introduces a helper that adds colons to on-screen labels only for certain visual themes (Bolt and Caesar), and updates Solana transaction confirmation screens to use it. There is no security-relevant behavior change.

Security candidatefix(core): chance fstrings to with_colon in Bolt Caesar [no changelog]by Michal Kazda · 22c18909 · Jul 28, 2026 · 2 filesMessage 77 · AdequateInformational 15Details
Commit message · Michal Kazda

fix(core): chance fstrings to with_colon in Bolt Caesar
[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
cryptography-sensitive path
AI analysis · Informational 15/100

This commit is a code cleanup in the Trezor hardware wallet's user interface. It replaces hard-coded colon punctuation (like 'Amount:') with a helper function called with_colon that adds the colon in a translation-friendly way. There is no security issue here.

Lower-priorityfix(core): remove extra maybe_with_colon from Solana [no changelog]by Michal Kazda · e64eb557 · Jul 28, 2026 · 1 fileMessage 77 · AdequateInformational 20Details
Commit message · Michal Kazda

fix(core): remove extra maybe_with_colon from Solana
[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
AI analysis · Informational 20/100

This commit removes an extra colon that was being added to Solana transaction confirmation screens on Trezor devices. The change is cosmetic: it stops showing a duplicate colon in front of property names (like 'Fee payer:' becoming 'Fee payer'). There is no direct evidence in the commit that this fixes a security vulnerability, but user-interface clarity on a hardware wallet can indirectly affect security if a misleading label makes a user approve something they misunderstand.

Lower-priorityfix(core): fixing extra colons [no changelog]by Michal Kazda · c48ca7b8 · Jul 28, 2026 · 2 filesMessage 72 · AdequateInformational 15Details
Commit message · Michal Kazda

fix(core): fixing extra colons
[no changelog]

72/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body
AI analysis · Informational 15/100

This commit removes duplicate colons from on-screen text labels in the Trezor hardware wallet's Solana app and Bolt UI layout. It is a cosmetic/user-interface cleanup with no security relevance.

Lower-priorityfix(core): fixed coderabbit issues [no changelog]by Michal Kazda · ed82b4a7 · Jul 28, 2026 · 2 filesMessage 72 · AdequateInformational 12Details
Commit message · Michal Kazda

fix(core): fixed coderabbit issues
[no changelog]

72/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body
AI analysis · Informational 12/100

This commit makes two tiny UI code cleanups: it removes an unnecessary colon from a transaction summary label and adjusts a Python type-hint return type. There is no indication these changes fix a security issue or affect how funds or secrets are handled.

Lower-priorityfix(core): update fixtures [no changelog]by Michal Kazda · cbc5e828 · Jul 28, 2026 · 1 fileMessage 72 · AdequateInformational 15Details
Commit message · Michal Kazda

fix(core): update fixtures
[no changelog]

72/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body
AI analysis · Informational 15/100

This commit only updates the expected visual test snapshots (hashes of screen images) in a test data file. It does not change any firmware, application, or cryptographic code. There is no direct security relevance visible in the commit itself.

Lower-priorityfix(core): Pylance issues [no changelog]by Michal Kazda · 56b18b0e · Jul 28, 2026 · 1 fileMessage 72 · AdequateInformational 15Details
Commit message · Michal Kazda

fix(core): Pylance issues
[no changelog]

72/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body
AI analysis · Informational 15/100

This commit is a minor code cleanup that changes type annotations in a Solana-related layout file. It removes an unused import and switches three variable type hints from a broader type (PropertyType) to a narrower one (StrPropertyType). There is no functional code change, no behavior change, and no security fix.