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.
Message quality measures whether a commit identifies its scope, purpose, rationale, testing, and supporting references. It does not change the security-severity score.
This commit removes the SHA-1 hashing function from the regular Trezor firmware. SHA-1 is an old, weak hash algorithm that is no longer considered secure for sensitive uses. The change deletes the code that exposes SHA-1 to apps running on…
Removal of a deprecated cryptographic primitive (SHA-1) from the firmware API surfaceReduction of attack surface and prevention of future misuse of a collision-vulnerable hashNo direct vulnerability patch or memory-safety bug is present in the diff
This commit changes how a cryptographic library sets up secure connections. Previously, the code automatically calculated the public key from the private key. Now, the caller must provide the public key directly. This is a code-quality ref…
Cryptographic key handling changed: public key is now supplied rather than derivedPotential reduction of key-mismatch risk if caller provides correct public keyNew null-pointer check added for static_public_key
This commit simply reorders the arguments of an internal function called dh() and updates every place that calls it. The actual math and security behavior are unchanged; it is a code cleanup with no security effect.
This commit simply renames two groups of internal status labels (called enums) in the Trezor firmware's cryptographic code. The old names like WAITING_FOR_REQUEST1 were shared between two different parts of the code, so the developer gave …
This commit fixes three places in the Trezor firmware's cryptographic code where a memory-clearing function could be called with a NULL pointer. In practice, passing NULL to memzero is harmless on Trezor's platform (it does nothing), but i…
NULL pointer passed to memory-zeroing helper in cryptographic codeUndefined behavior in C standard library contractDefensive hardening in Noise protocol implementation
This commit is a code cleanup (refactor) for the cryptographic handshake code used in Trezor devices. It changes how the other party's long-term public key is returned to the caller: instead of storing it inside an internal state structure…
Removal of long-term public key storage from internal handshake stateCaller-supplied output buffer for remote static public key reduces internal secret retentionError-path memzero of returned key material on failure
This commit is a simple rename from 'ProjectProfile' to 'ProjectConfig' in two Rust source files. It only changes variable names, struct names, and error messages. There is no change to program logic, security behavior, or how data is hand…
This commit is a straightforward internal code refactor in Trezor's build tooling. It introduces a new ResolvedBuildArgs structure that centralizes default values for command-line build options before they are used. There is no change to u…
This commit is a straightforward internal refactor of the Trezor firmware build tool's command-line argument handling. It changes many on/off flags from plain booleans to optional booleans so they can explicitly be set to true, false, or l…
This commit is a straightforward internal code reorganization in Trezor's build tooling. It moves build-option definitions from one Rust source file to a new module and adds the ability to load those options from a configuration file. Ther…
This commit is a developer tooling change for the Trezor firmware build system. It introduces 'build presets'—named configuration bundles stored in TOML files—so developers can select common build settings with a single command-line flag i…
This commit is a routine update to a build-system manifest file used by Trezor's internal tooling. It reorganizes and re-labels feature flags (for example, moving options between 'Features', 'Debugging', and 'Signing' groups and simplifyin…
This commit adds a single configuration file for a Trezor developer tool (a VS Code extension). It only points the tool to existing folders in the repository and contains no executable code, no secrets, and no changes to firmware behavior.…
This commit is a simple internal code cleanup: it renames a Rust data structure called ResolvedBuild to ResolvedBuildFeatures and updates the places that use it. There are no functional changes, no security fixes, and no changes to how the…
This is a tiny code cleanup commit that replaces two calls to `ptr::null()` with Rust's `unwrap_or_default()` to silence automated Clippy lint warnings. It does not change what value is produced (still a null pointer when no salt is provid…
This commit is a straightforward internal code cleanup in Trezor's build tooling. It moves a data structure and two helper methods from one Rust source file to another and updates callers accordingly. There is no change to user-facing beha…
This commit only adds documentation. It updates the table of contents and adds a new markdown page plus a diagram explaining the project's 'xtask' build helper. No code, build scripts, or firmware logic was changed, so it cannot introduce …
This commit is a build-system refactoring for Trezor firmware. It moves the mapping of command-line build options to Rust/cargo features out of hard-coded Rust logic and into per-project TOML files. It also adds a small change so debug bui…
Build-option mapping now lives in project.toml files, increasing the attack surface for supply-chain/build-configuration tamperingMakefile change automatically enables debug-link for PYOPT=0 debug buildsValidation added to reject storage_insecure_testing_mode in production builds
This commit fixes a filename-renaming step in the project's automated nightly build pipeline. It ensures ARM64 emulator files get the correct name expected by another testing tool. There is no change to the actual Trezor firmware code, dev…
This is a routine housekeeping change to reduce clutter in Git's status output for a third-party component (the MicroPython submodule). There is no indication it changes any code that runs on the Trezor device or affects security.
Expand any commit for its author, full message, clarity score, changed files, triage signals, analysis, and source link.
AI review queuedfix(solana): ALT recipients shown correctly in system transfer.by PrisionMike · 2b4cbcc9 · May 22, 2026 · 6 filesMessage 77 · AdequateModerate 58Details
Commit message · PrisionMike
fix(solana): ALT recipients shown correctly in system transfer.
(cherry picked from commit 257af9891d24b7f9d0379729177a23d8cd7de7c8)
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 · Moderate 58/100
This update fixes how Trezor displays Solana transactions that use Address Lookup Tables (ALTs). Previously, the device could misidentify or fail to show the real recipient when an ALT was involved, which might let an attacker trick a user into approving a transfer to an unexpected address. The patch also blocks ALT references in payment requests and some staking flows where the device cannot safely verify the destination.
Security candidatedocs: changelog for core 2.11.2 & bootloader 2.1.17by Ioan Bizău · 97787955 · May 22, 2026 · 20 filesMessage 77 · AdequateModerate 59Details
Commit message · Ioan Bizău
docs: changelog for core 2.11.2 & bootloader 2.1.17
(cherry picked from commit a5c3101ddcedb2845f83859eac138895866c46e6)
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
update trustboot or update path
AI analysis · Moderate 59/100
This commit is a documentation-only changelog update for the Trezor firmware releases core 2.11.2 and bootloader 2.1.17. It does not change any code. The changelog lists several previously fixed security issues, including bugs in Solana account handling, EIP-712 domain caching, and an out-of-memory fix. Because the actual code changes happened in earlier commits, this single commit cannot introduce or directly fix a vulnerability, but it confirms the vendor considers multiple items security-relevant for the release.
Security candidatechore: add QA bootloadersby Ioan Bizău · dfb1fbe8 · May 22, 2026 · 2 filesMessage 62 · AdequateInformational 15Details
Commit message · Ioan Bizău
chore: add QA bootloaders
(cherry picked from commit 366fd6cc2ad7493788cd1db19ae238b2c83fe7a7)
62/100 · AdequateMessage clarity
✓ Descriptive subject✓ Uses a recognizable type or scope✓ Provides an explanatory body
Why it was queued
update trustboot or update path
AI analysis · Informational 15/100
This commit updates a QA/testing bootloader binary and its recorded cryptographic hash for the T3W1 hardware model. It is a routine development chore with no visible security fix or vulnerability.
✓ 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 discount
AI analysis · Informational 15/100
This commit simply updates the version of a third-party GitHub Action used to install the Nix package manager in Trezor's automated build and test workflows. It is a routine dependency bump with no visible security relevance to the Trezor firmware or device itself.
Lower-priorityfix(common): correct wire direction for authenticity-related messagesby Roman Zeyde · c181e218 · May 21, 2026 · 2 filesMessage 62 · AdequateLow 34Details
Commit message · Roman Zeyde
fix(common): correct wire direction for authenticity-related 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
AI analysis · Low 34/100
This commit fixes a labeling error in the Trezor firmware's protocol definitions. Two message types used for device authenticity checks had their directions swapped: one was marked as outgoing when it should be incoming, and the other as incoming when it should be outgoing. The fix only changes metadata annotations and the matching generated Rust code; it does not change actual message handling logic. Because the patch is small and limited to generated descriptors, the direct security impact is low, but incorrect wire direction metadata could theoretically confuse host software or protocol validation tools.
Security candidatefix(core): improve stellar confirmation screensby Jun Luo · c1cbf87d · May 20, 2026 · 8 filesMessage 57 · ThinLow 28Details
Commit message · Jun Luo
fix(core): improve stellar confirmation screens
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
cryptography-sensitive path
AI analysis · Low 28/100
This commit updates the on-screen confirmation prompts shown when signing Stellar transactions on Trezor hardware wallets. It does not change how transactions are validated or signed, but it reorganizes and improves the clarity of what the user sees before approving. The changes are purely user-interface related, with updated test snapshots reflecting the new screen layouts.
Security candidatefix(tron,ui): improve tron transfer flowby PrisionMike · b4863b10 · May 20, 2026 · 8 filesMessage 72 · AdequateInformational 16Details
Commit message · PrisionMike
fix(tron,ui): improve tron transfer flow
- Better transfer layout - account details shown - small code refactoring
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
cryptography-sensitive pathsigning or wallet path
AI analysis · Informational 16/100
This commit is a user-interface improvement for Tron (TRX) transfers on Trezor hardware wallets. It changes the on-device confirmation screens to show the sending account name, derivation path, recipient address, and amount in a clearer layout. There is no indication it fixes a security vulnerability; it is a usability and consistency refactor.
Security candidatechore: bump versionsby Ioan Bizău · bc8c5089 · May 20, 2026 · 10 filesMessage 63 · AdequateInformational 15Details
✓ Subject identifies a change✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
Why it was queued
update trustsigning or wallet pathboot or update path
AI analysis · Informational 15/100
This commit is a routine housekeeping change that only updates version numbers in several files. It does not change any program logic, fix any bug, or alter any security behavior. There is nothing here that could be exploited or that affects user security.
Security candidatefeat(core): add Tap to Wake toggle to device menu and apply at startupby bleska · 3722a76e · May 20, 2026 · 19 filesMessage 93 · StrongInformational 15Details
Commit message · bleska
feat(core): add Tap to Wake toggle to device menu and apply at startup
Add ToggleTapToWake action to Eckhart device menu (T3W1 only). The setting is stored inverted as _DISABLE_TAP_TO_WAKE in device storage, defaulting to enabled when the key is absent.
Apply the stored preference via touch_wakeup_set_enabled() in boot.py and in lock_manager.reload_settings_from_storage() so it takes effect on startup and whenever settings are reloaded after unlock.
Closes #6838
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
cryptography-sensitive pathsigning or wallet pathboot or update path
AI analysis · Informational 15/100
This commit adds a user-facing 'Tap to Wake' on/off toggle to the device menu on the Trezor T3W1 hardware wallet. It stores the preference in device storage and applies it at startup and when settings are reloaded after unlocking. There is no security issue visible in the change.
Security candidatefeat(core): wire USE_TOUCH_WAKEUP build flag for T3W1by bleska · 6704563b · May 20, 2026 · 7 filesMessage 85 · StrongInformational 15Details
Commit message · bleska
feat(core): wire USE_TOUCH_WAKEUP build flag for T3W1
Enable USE_TOUCH_WAKEUP on T3W1 revA/B/C (models that have both "suspend" and "input" features). Wire the flag into SConscript, micropython feature list, and Rust Cargo features.
[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
boot or update path
AI analysis · Informational 15/100
This commit is a straightforward build-system wiring change for the Trezor T3W1 hardware wallet. It enables a feature called USE_TOUCH_WAKEUP, which lets the device wake from a low-power suspend state when the touch screen is touched. The change only affects how firmware is compiled for specific T3W1 revisions and does not alter security-critical code, cryptographic operations, or user data handling. There is no indication this is a security fix or vulnerability patch.
Lower-priorityfeat(core): implement touch wakeup in ft3168 driver and wire into suspend/resumeby bleska · d0ce6a63 · May 20, 2026 · 6 filesMessage 85 · StrongInformational 21Details
Commit message · bleska
feat(core): implement touch wakeup in ft3168 driver and wire into suspend/resume
Add USE_TOUCH_WAKEUP-guarded g_touch_wakeup_enabled static outside the driver struct so it survives touch_deinit() memset during suspend.
Pass touch_wakeup_enabled parameter to display_suspend/resume so the display driver can choose between light-suspend (panel stays powered, touch EXTI IRQ armed) and full deinit paths.
[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
AI analysis · Informational 21/100
This commit adds a new power-saving feature for Trezor hardware wallets: the device can now optionally wake from suspend when the touchscreen is touched. It restructures how the display and touch drivers suspend and resume, choosing between a 'light sleep' path (screen stays powered, touch sensor stays armed) and a 'full shutdown' path. The change itself is a feature implementation, not a fix for a known vulnerability, and there is no direct evidence in the commit or references that it addresses a security bug.
feat(core): add tap-to-wake storage key and syscall interface
[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
AI analysis · Informational 15/100
This commit adds a new user-facing setting called 'tap to wake' to the Trezor hardware wallet firmware. It lets users choose whether tapping the touchscreen wakes the device, and stores that preference in device memory. It also adds the low-level system calls needed for the firmware to turn the feature on or off. There is nothing in the commit that fixes a bug or addresses a security vulnerability.
Lower-priorityfeat(core): expose touch_wakeup_set/get_enabled to MicroPython via trezorio.touchby bleska · d0d5fcf4 · May 20, 2026 · 7 filesMessage 85 · StrongInformational 15Details
Commit message · bleska
feat(core): expose touch_wakeup_set/get_enabled to MicroPython via trezorio.touch
Add modtrezorio-touch module with touch_wakeup_set_enabled() and touch_wakeup_get_enabled() bindings, guarded by USE_TOUCH_WAKEUP. Export USE_TOUCH_WAKEUP constant from trezorutils.
[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
AI analysis · Informational 15/100
This commit simply adds a way for the device's Python code to ask whether the hardware supports waking from sleep by touch, and to turn that feature on or off. It is a normal feature-exposure change with no security bug visible in the diff.
Lower-prioritychore(cli): add docustring to `index_management`by Martin Pastyřík · 9cc5a3a1 · May 20, 2026 · 2 filesMessage 57 · ThinInformational 15Details
Commit message · Martin Pastyřík
chore(cli): add docustring to `index_management`
[no changelog]
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 15/100
This commit only adds a help description (docstring) to an existing command-line option. No code behavior changed, so it has no security effect.
✓ Specific, 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 routine translation update. It removes a few unused text strings, changes some translations to use per-device-style wording, and updates the internal offsets in generated translation tables. There is no code that handles secrets, cryptography, user authentication, or device commands being changed. It is not a security patch.
Lower-prioritychore(translations): update to blanking rules [no changelog]by Michal Kazda · 7b6a5a3c · May 19, 2026 · 1 fileMessage 77 · AdequateInformational 15Details
Commit message · Michal Kazda
chore(translations): update to blanking rules [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
translation-only discount
AI analysis · Informational 15/100
This commit only updates a JSON file that controls which on-screen text strings are allowed to be left blank (untranslated) for different Trezor device screen layouts. It adds and reorganizes string identifiers so the translation-blanking rules match the latest user interface. There is no change to security logic, cryptography, or how the device handles secrets.
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body
Why it was queued
translation-only discount
AI analysis · Informational 15/100
This commit simply removes four unused English translation text strings from a language file. There is no code change, no functional change, and no security relevance.
Lower-prioritychore(translations): smarter crowdin.py merge - replace /n/n with /n/r - skip English during merge [no changelog]by Michal Kazda · d7f9d3e6 · May 18, 2026 · 1 fileMessage 77 · AdequateInformational 15Details
Commit message · Michal Kazda
chore(translations): smarter crowdin.py merge - replace /n/n with /n/r - skip English during merge [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
translation-only discount
AI analysis · Informational 15/100
This is a routine internal tooling change for managing translation files. It adjusts how translation text downloaded from the Crowdin service is cleaned up before being saved, and skips processing English-language 'translations' because they are empty and would overwrite the existing English file. There is no security relevance.
AI review queuedchore(translations): sync Crowdin translations [no changelog]by Michal Kazda · 4602c0c3 · May 18, 2026 · 6 filesMessage 77 · AdequateInformational 15Details
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body
Why it was queued
signing or wallet pathtranslation-only discountsecond-pass: security-sensitive path
AI analysis · Informational 15/100
This commit only updates translated text strings in Czech, German, Spanish, French, and Portuguese, plus the translation signature metadata. There are no code, logic, or security-related changes.
Security candidatechore(translations): update signatures fixtures and some strings - fixes a failing T3W1 test - other cs string adjustments [no changelog]by Michal Kazda · 9f5f454a · May 18, 2026 · 3 filesMessage 95 · StrongInformational 15Details
Commit message · Michal Kazda
chore(translations): update signatures fixtures and some strings - fixes a failing T3W1 test - other cs string adjustments [no changelog]
95/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
Why it was queued
signing boundarysigning or wallet path
AI analysis · Informational 15/100
This commit updates Czech translation strings and refreshes the digital signatures that authenticate those translations, plus updates expected test screenshots. There is no code change that affects security behavior, cryptography, or how the device protects secrets. It is a routine localization maintenance patch.
✓ 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 commit only updates a documentation file (OPTIONS.rst) to list two newly added command-line options. It does not change any executable code, cryptographic logic, or security-sensitive behavior. There is no security issue in the commit itself.
AI review queueddocs(core): update Trezor Core referencesby Roman Zeyde · a6eeac12 · May 17, 2026 · 2 filesMessage 72 · AdequateInformational 15Details
Commit message · Roman Zeyde
docs(core): update Trezor Core references
Also, add TS7 in `common/defs/README.md`
[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 pathdocumentation-only discountsecond-pass: security-sensitive path
AI analysis · Informational 15/100
This commit only updates documentation text. It replaces the product name 'Trezor T' with 'Trezor Core' in two README/markdown files and adds a new device model code (T3W1 for Trezor Safe 7) to a support list. No code, logic, or security behavior is changed.
Lower-prioritychore(translations): updates to English strings - mainly adding periods where approprite for Delizia and Eckhart [no changelog]by Michal Kazda · 26f0f851 · May 15, 2026 · 4 filesMessage 85 · StrongInformational 15Details
Commit message · Michal Kazda
chore(translations): updates to English strings - mainly adding periods where approprite for Delizia and Eckhart [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
AI analysis · Informational 15/100
This commit only changes user-visible text strings in the Trezor firmware. It adds or removes periods and makes tiny wording tweaks (for example, 'Language changed successfully' became 'Language changed successfully.') for specific device themes called Delizia and Eckhart. There is no code behavior change, no new feature, and no security fix.
AI review queuedchore(common): add BTC signet definitionby Roman Zeyde · 73dd7733 · May 15, 2026 · 10 filesMessage 57 · ThinInformational 15Details
Commit message · Roman Zeyde
chore(common): add BTC signet definition
[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 adds support for Bitcoin Signet, a public testing network for Bitcoin, to Trezor firmware. It is a routine feature addition with no security-relevant code changes. The commit only adds a new coin definition, updates generated coin-info tables, and adjusts internal tooling to treat Signet like the existing Testnet and Regtest networks.
Lower-prioritychore(python): allow ignoring xpub magic in trezorctlby Roman Zeyde · 5976e757 · May 15, 2026 · 1 fileMessage 77 · AdequateInformational 18Details
Commit message · Roman Zeyde
chore(python): allow ignoring xpub magic in trezorctl
Output descriptors don't use ypub/zpubs.
[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 18/100
This commit adds a new command-line option to the Trezor Python tool (trezorctl) that lets users request a public key (xpub) without the usual version/magic bytes being adjusted for the specific coin and script type. This is described as a convenience for working with 'output descriptors', a modern Bitcoin wallet format. There is no direct security bug here; it is a feature change in a client-side utility.