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 only updates test data. It corrects the capitalization (checksum) of Ethereum addresses used in automated tests and refreshes the expected screen-shot hashes those tests compare against. There are no changes to the actual Trezo…
This commit changes the Trezor Python library so that, when setting up a Trezor Model One (the original Trezor 1 device), it now performs an entropy check by default if the device runs firmware 1.13.1 or newer. Previously, the library only…
Enables a previously disabled security/validation feature (entropy check) for a specific device modelAdds version-gated behavior to avoid errors on older firmwareDefensive hardening of wallet setup randomness verification
This commit is a routine cleanup that removes the old SCons build system files from the Trezor Core firmware repository. It deletes Makefiles, SConscripts, and related Python helper scripts, but does not change any firmware source code, cr…
This commit updates Trezor's embedded MicroPython interpreter from an older version to 1.28.0. It pulls in several upstream MicroPython bug fixes, including stricter buffer-size checks for converting integers to bytes, a new stack-safety A…
Synchronizes upstream MicroPython fixes that include buffer-size and stack-safety hardeningPrevents Ctrl+C interruption of frozen boot code, reducing denial-of-service/control-flow risk during bootFixes sys.stdout.buffer.write() return value, which could affect code relying on correct I/O semantics
This is a large but straightforward internal cleanup: the project switched from using the MicroPython `ubinascii` module's `hexlify`/`unhexlify` functions to the standard Python `bytes.hex()` and `bytes.fromhex()` methods. The change remov…
This is a code cleanup change in Trezor's firmware that swaps one MicroPython internal helper for another. It replaces calls that create byte or string objects from a vstr buffer with newer, purpose-built helpers. The commit message says t…
Refactor only: helper function renames with equivalent semanticsNew str helper adds UTF-8 validation; bytes helper does not validateNo input validation, length, or error-handling changes observed
This commit is a large but purely mechanical code cleanup: it replaces the custom STATIC macro with the standard C keyword static across many MicroPython module files. There is no change to program logic, security boundaries, or behavior. …
This commit is a routine code cleanup that updates Trezor firmware to match a newer MicroPython version where built-in module names dropped the 'u' prefix (for example, 'uos' became 'os' and 'ustruct' became 'struct'). It renames imports, …
This commit only updates the firmware version number from 2.12.4 to 2.12.5 in the source code and translation files. It does not change any security-related logic, fix any bug, or alter any cryptographic behavior. It is a routine release b…
This commit adds Bluetooth Low Energy (BLE) support for the Trezor T3T2 hardware model. It introduces new board configuration files, pin mappings, build scripts, and firmware binaries for the Nordic nRF54LS05A BLE radio used in T3T2. There…
This commit is a large but straightforward internal refactoring: the cryptographic code is moved from one Rust crate (`rtl`) into a new dedicated crate (`crypto`), and all project dependencies are updated to point to the new crate. The act…
No security-relevant code changes detectedRefactoring only: moving existing crypto wrappers and build logic into a new crateFeature flags and C source lists preserved from the original `rtl` crate
This commit is a code cleanup that moves how Trezor firmware handles fatal errors and shutdowns between its internal software layers. It does not add new user-facing features or change security protections. The main risk is that reorganizi…
Refactor of fatal-error and shutdown code pathsNew noreturn annotations on systask_exit, systask_exit_error, systask_exit_fatal, systask_killRemoval of duplicated test-only system_exit_error/system_exit_fatal implementations
This commit changes a single on-screen label in the Trezor bootloader from lowercase 'Change fw vendor' to uppercase 'Change FW vendor'. It is purely a cosmetic wording fix with no security relevance.
This commit adds support in Trezor's Ethereum clear-signing feature for transactions that contain multiple embedded subcalls (like a multicall). Previously, only a single embedded call could be clearly displayed. The change lets the device…
New input validation added: callee array length must match subcall array lengthType validation enforced: each subcall blob must be bytes, each callee must be a 20-byte addressGraceful degradation preserved: unparseable subcalls fall back to raw hex display rather than failing the whole transaction
This commit only adds new automated tests for Trezor's Ethereum 'clear signing' feature. It includes a test case for an Aave multi-call transaction, a matching test data blob, and expected screen snapshots for different device models and l…
This commit fixes a user-interface bug in Trezor's Ethereum 'clear signing' flow where the transaction's native ETH amount could be shown twice on the device screen. The old code tried to avoid duplication by checking whether an 'AmountFor…
No cryptographic, authorization, memory-safety, or input-validation changesChange is limited to on-screen display deduplication logicNo changelog entry requested by the vendor ('[no changelog]')
This commit adds a new display formatter for Ethereum clear signing. It lets a transaction descriptor map numeric enum values (like 1 or 2) to human-readable labels (like 'stable' or 'variable') on the Trezor screen. The change is purely a…
New formatter raises InvalidFormatDefinition on unexpected/missing enum values, causing fallback to blind signing rather than displaying an untrusted labelDuplicate enum keys are rejected at descriptor decode timeNon-integer enum values are rejected at format time
This commit only adds a new automated test case for an existing Ethereum transaction display feature. It does not change any production firmware code, so it cannot introduce a security vulnerability or fix one. It is purely a test-data add…
This commit adds a new Trezor firmware feature called 'clear signing' for nested Ethereum calls. It lets the device understand when a transaction wraps another contract call (like a router or multicall) and tries to show the user readable …
New nested calldata parsing path with explicit depth cap of 1@.to override to callee to prevent token resolution from pointing at the wrapper contract@.from and @.value rejected in nested parse to avoid displaying confidently wrong sender/value
This commit is a test-only addition for Trezor's Ethereum 'clear signing' feature. It adds new test cases and makes a small production-code tweak so that enum display-formatters can accept byte values (converted to integers). The change is…
Production code change is a type-handling relaxation in display formatting onlyNo changelog entry; commit is explicitly test-focusedNo vendor security disclosure or advisory referenced
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
signing or wallet pathauthentication path
AI analysis · Informational 15/100
This commit only updates test data. It corrects the capitalization (checksum) of Ethereum addresses used in automated tests and refreshes the expected screen-shot hashes those tests compare against. There are no changes to the actual Trezor firmware code that users run, so this cannot affect real devices or user funds.
Security candidatefix(python/trezorlib): enable entropy check on T1 by defaultby Andrew Kozlik · a4af9107 · Aug 4, 2026 · 2 filesMessage 67 · AdequateLow 33Details
Commit message · Andrew Kozlik
fix(python/trezorlib): enable entropy check on T1 by default
67/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Names security-relevant behavior explicitly! No meaningful explanatory body
Why it was queued
entropy or randomnessseed or entropy path
AI analysis · Low 33/100
This commit changes the Trezor Python library so that, when setting up a Trezor Model One (the original Trezor 1 device), it now performs an entropy check by default if the device runs firmware 1.13.1 or newer. Previously, the library only enabled this check on newer Trezor models and treated all Model One devices as not supporting it. An entropy check helps verify the device is generating randomness properly during wallet setup. The change is a defensive fix to enable a security feature on a previously excluded device line, not a patch for an active vulnerability.
Security candidatechore(core): remove scons related filesby cepetr · a4b25c31 · Aug 4, 2026 · 54 filesMessage 57 · ThinInformational 15Details
Commit message · cepetr
chore(core): remove scons related files
[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
cryptography-sensitive pathboot or update path
AI analysis · Informational 15/100
This commit is a routine cleanup that removes the old SCons build system files from the Trezor Core firmware repository. It deletes Makefiles, SConscripts, and related Python helper scripts, but does not change any firmware source code, cryptographic logic, or runtime behavior. The commit message explicitly says it is a chore with no changelog entry, indicating it is not a security fix.
Security candidaterefactor(core): assorted micropython-1.28.0 fixesby Martin Milata · 7ba7879d · Aug 3, 2026 · 12 filesMessage 80 · StrongInformational 22Details
Commit message · Martin Milata
refactor(core): assorted micropython-1.28.0 fixes
Relevant micropython commits: 908ab1ceca15ee6fd0ef82ca4cba770a3ec41894 py/objint: Fix int.to_bytes() buffer size checks. 86f2c285eb222f30c24df187ac66d3e0c80caf61 py: Add new cstack API for stack checking, with limit margin macro. c046b23ea29e0183c899a8dbe1da3bed3440a255 shared/runtime/pyexec: Don't allow Ctrl+C to interrupt frozen boot code. 3bca93b2d00dec37b3770c3e4fac15f07e0b9f15 ports: Fix sys.stdout.buffer.write() return value. 2c8dab7ab4ec0884c6428afc613d9dcc322d8c6d py/objarray: Detect bytearray(str) without an encoding.
[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
cryptography-sensitive pathboot or update path
AI analysis · Informational 22/100
This commit updates Trezor's embedded MicroPython interpreter from an older version to 1.28.0. It pulls in several upstream MicroPython bug fixes, including stricter buffer-size checks for converting integers to bytes, a new stack-safety API, preventing Ctrl+C from interrupting frozen boot code, fixing a stdout write return value, and blocking accidental creation of bytearrays from plain strings without an encoding. The changes are mostly defensive hardening and compatibility fixes rather than a single known exploit patch. There is no vendor statement that this is a security fix, no CVE, and no credited researcher.