TZ
← All projectsTrezor

Trezor firmware

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

BitcoinHardware walletsNormal
Repository coverage

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

923security candidates311second-pass queue2662AI analyses
323commits · 30 days
552commits · 60 days
1337commits · 180 days
2644commits · 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.

66/100 average clarity
482Strong · 80–100
1323Adequate · 60–79
863Thin · 40–59
5Opaque · 0–39
Read the scoring rubric →
Developer activity

Who is changing the project?

Public Git author strings; identities are not independently verified.

DeveloperCommitsCandidatesAnalyzedHigh riskMessage avg.
tychovrahe292104292461
Roman Zeyde579182576272
PrisionMike945994273
Andrew Kozlik712470265
obrusvit21376213164
Jakub Janků22919182
Martin Pastyřík24823173
cepetr19682196059
Ioan Bizău23076230059
M1nd3r20772207071
Lukas Bielesch846784067
Martin Milata17446174063
Analysis record

Published AI watches

Last scanned 56 minutes ago

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

test(core/ethereum): EIP-7702 tuple nonce must be non-zero

This commit only changes test data and expected screen fingerprints for Trezor's Ethereum EIP-7702 signing tests. It replaces one test case that used a nonce of 0 with the same scenario using a nonce of 67, because the real-world protocol …

Test-only change with no production code modificationEIP-7702 tuple nonce constraint reflected in test dataExpected UI test hashes regenerated for renamed test vector
76cd2ed4by Roman Zeyde+28−282 files
No security note in commit
Informational 15 AI analysisMessage 85 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

build(core): propagate emulator feature from projects

This commit is a build-system cleanup for the Trezor firmware's Rust code. It changes how the 'emulator' feature flag is passed between different software components. The firmware project no longer supports the emulator feature (which make…

5642074cby matejcik+5−44 files
No security note in commit
Low 27 AI analysisMessage 93 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(core): digest EIP-1559/EIP-7702 magic without RLP encoding

This commit is a small internal cleanup in Trezor's Ethereum signing code. It changes how two special 'magic' bytes (the transaction type markers for newer Ethereum transaction formats) are fed into the cryptographic hash. Previously the c…

Refactor of cryptographic hashing path for Ethereum transaction signingRemoval of implicit assumption that RLP encodes small integers as single bytesChange affects EIP-1559 and EIP-7702 transaction type markers
2362bc6fby Roman Zeyde+6−32 files
No security note in commit
Informational 15 AI analysisMessage 98 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

test(core): test RLP self-encoding bytestrings

This commit only adds a new unit test to the Trezor firmware codebase. It verifies that very short Ethereum RLP-encoded byte strings and small positive integers encode to themselves, which is a known property of the RLP specification. No p…

41538733by Roman Zeyde+16−01 file
No security note in commit
Informational 18 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

chore(core): remove sha1 from regular FW

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
16d15774by M1nd3r+0−2006 files
No security note in commit
Low 27 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(crypto): pass static public key to `noise_xxpsk3_*_init()`

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
1b3128a4by Ondřej Vejpustek+20−92 files
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(crypto): change order of parameters

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.

33a119eeby Ondřej Vejpustek+15−151 file
No security note in commit
Informational 15 AI analysisMessage 47 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(crypto): prefix enums

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 …

f1c74046by Ondřej Vejpustek+26−222 files
No security note in commit
Low 37 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(crypto): prevent calling `memzero(NULL, ...)`

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
0394e934by Ondřej Vejpustek+11−51 file
No security note in commit
Informational 18 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(crypto): return remote static key from `noise_xxpsk3_*_handle_*()`

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
3ead1aa6by Ondřej Vejpustek+79−423 files
No security note in commit
Informational 15 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(xtask): rename ProjectProfile to ProjectConfig

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…

581b37bcby cepetr+18−182 files
No security note in commit
Informational 15 AI analysisMessage 47 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(xtask): introduce ResolvedBuildArgs

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…

c24d1be8by cepetr+99−295 files
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(xtask): make build args tristate

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…

271e249aby cepetr+57−561 file
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(xtask): introduce build options

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…

75085e2aby cepetr+275−2007 files
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

feat(xtask): introduce build presets

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…

eefe8f7fby cepetr+397−419 files
No security note in commit
Informational 15 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

feat(xtask): upgrade manifest.yaml for tf-tools 0.3.0

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…

57b28b89by cepetr+86−1351 file
No security note in commit
Informational 15 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

feat(core): add tf-tools 0.3.1+ configuration file

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

e554f618by cepetr+8−01 file
No security note in commit
Informational 15 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(xtask): rename ResolvedBuild to ResolvedBuildFeatures

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…

aaa2780bby cepetr+5−52 files
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(core): fix up clippy warnings in storage.rs

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…

62354461by cepetr+2−21 file
No security note in commit
Informational 15 AI analysisMessage 47 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(xtask): simplify dependencies

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…

6268349fby cepetr+9−193 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.

Lower-prioritychore: update definitions timestampby obrusvit · a35bd653 · Sep 26, 2025 · 2 filesMessage 47 · ThinInformational 15Details
Commit message · obrusvit

chore: update definitions timestamp

[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 simply updates a timestamp and a matching numeric version marker used for Ethereum token/chain definitions. It is a routine metadata refresh with no visible security relevance.

Security candidatefeat(core/eckhart): waiting for host FwUI functionby Lukas Bielesch · ca141456 · Sep 26, 2025 · 16 filesMessage 77 · AdequateInformational 20Details
Commit message · Lukas Bielesch

feat(core/eckhart): waiting for host FwUI function

- last step in the BLE pairing flow
- new ble handler mode `WaitingForPairingCompletion`
[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 pathsigning or wallet pathboot or update path
AI analysis · Informational 20/100

This commit adds a new on-screen step to the Bluetooth pairing flow on Trezor hardware wallets. After the user confirms a pairing code, the device now shows a 'Waiting for host...' screen and waits for the host computer or phone to finish the pairing. It is a normal user-interface feature, not a fix for a known security bug.

Security candidatefix(core): clippy warningby Lukas Bielesch · a779f46b · Sep 26, 2025 · 1 fileMessage 47 · ThinInformational 15Details
Commit message · Lukas Bielesch

fix(core): clippy warning

[no changelog]

47/100 · ThinMessage clarity
✓ Descriptive subject✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
boot or update path
AI analysis · Informational 15/100

This is a one-line Rust code cleanup that removes two unused color imports (GREY_LIGHT and an extra comma) to silence a Clippy compiler warning. It does not change any program behavior, user interface, or security logic.

Lower-priorityfix(core/embed): fix tropic deinitializationby Ondřej Vejpustek · a1956af9 · Sep 26, 2025 · 1 fileMessage 57 · ThinLow 28Details
Commit message · Ondřej Vejpustek

fix(core/embed): fix tropic deinitialization

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

This commit fixes a small bug in how the Trezor hardware wallet shuts down communication with a Tropic secure chip. Previously, after deinitialization, the driver still thought it was initialized. This could allow later code to mistakenly try to use the chip after it was powered off, leading to failed operations or unexpected behavior. The fix simply marks the driver as not initialized during shutdown.

Security candidatechore(core): update T3W1 embedded bootloader (dev)by tychovrahe · d4cc6ad3 · Sep 26, 2025 · 2 filesMessage 62 · AdequateInformational 3Details
Commit message · tychovrahe

chore(core): update T3W1 embedded bootloader (dev)

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

This commit swaps in a new pre-built bootloader binary for the T3W1 hardware model used in QA/testing, and updates the matching cryptographic hashes that the firmware uses to recognize a valid bootloader. The actual source-code changes inside the bootloader are not shown, and the commit message gives no security explanation. On its own, this looks like a routine firmware housekeeping update, not a fix for a known security bug.

AI review queuedchore(core): backup needed info translationsby obrusvit · 671847de · Sep 25, 2025 · 7 filesMessage 57 · ThinInformational 15Details
Commit message · obrusvit

chore(core): backup needed info translations

[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 only adds translated text strings for a new 'backup needed' message shown on the device home screen. It does not change any code logic, security checks, or cryptographic operations. The signatures.json file is updated to record the new translation bundle hash, which is a normal bookkeeping step for signed translation assets.

Security candidatefeat(core): add notifications device wipe & unpairingby tychovrahe · 21a74f0e · Sep 25, 2025 · 7 filesMessage 62 · AdequateInformational 20Details
Commit message · tychovrahe

feat(core): add notifications device wipe & unpairing

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

This commit adds informational notifications when a Trezor device is wiped or a Bluetooth pairing is removed. It does not change who can perform these actions or how they are authorized. The wipe/unpair logic itself already existed; the change only tells connected software that the event is happening. There is no obvious security vulnerability here.

Lower-priorityfix(core): restore driver setting after wake upby tychovrahe · 7fdd62ee · Sep 25, 2025 · 1 fileMessage 57 · ThinLow 45Details
Commit message · tychovrahe

fix(core): restore driver setting after wake up

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

This commit fixes a bug where a Trezor hardware wallet does not restore certain hardware settings after waking from sleep. Specifically, after the device wakes up, it now reapplies the screen rotation, haptic feedback, and RGB LED settings that the user had configured. Without this fix, those settings could be left in an unintended state following suspend/resume, which could confuse the user or subtly alter the device's behavior.

Lower-priorityfix(core/prodtest): Error handling in secrets-certdev-write.by Andrew Kozlik · 3e9c7530 · Sep 25, 2025 · 1 fileMessage 62 · AdequateLow 34Details
Commit message · Andrew Kozlik

fix(core/prodtest): Error handling in secrets-certdev-write.

[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 production-test tool in Trezor hardware wallets so that it now checks whether writing a device certificate to secure storage actually succeeded. Previously, the tool would silently continue and report success even if the write failed. This is a defensive hardening fix in a low-level manufacturing/QA utility, not a user-facing wallet feature.

Security candidatefeat(core): add notifications on important state changesby tychovrahe · b5982c75 · Sep 25, 2025 · 8 filesMessage 62 · AdequateInformational 19Details
Commit message · tychovrahe

feat(core): add notifications on important state changes

[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
authentication path
AI analysis · Informational 19/100

This commit adds new notification messages that the Trezor device sends when certain things happen, such as locking/unlocking, changing settings, changing the PIN, or disconnecting from Bluetooth. It is a feature addition, not a fix for a known security bug. The change itself does not appear to introduce a vulnerability, though it slightly increases the amount of internal state information broadcast to other parts of the system.

Security candidaterefactor(core/bootloader): simplify function headers by using one struct with all needed FW infoby tychovrahe · ea5bd4b8 · Sep 25, 2025 · 11 filesMessage 62 · AdequateInformational 15Details
Commit message · tychovrahe

refactor(core/bootloader): simplify function headers by using one struct with all needed FW info

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

This commit is a straightforward code cleanup in the Trezor bootloader. It bundles three pieces of firmware information (vendor header, image header, and whether firmware is present) into a single struct and passes that struct around instead of three separate arguments. There is no change to security logic, no bug fix, and no new feature.

Security candidatefeat(core/bootloader): signal firmware corrupted in featuresby tychovrahe · e1d8700e · Sep 25, 2025 · 19 filesMessage 62 · AdequateInformational 19Details
Commit message · tychovrahe

feat(core/bootloader): signal firmware corrupted in features

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
update trustboot or update path
AI analysis · Informational 19/100

This commit adds a new flag called firmware_corrupted to the device's Features message, which is sent to the host computer when the Trezor is in bootloader mode. Previously, the existing firmware_present flag only told the host whether any firmware was loaded, but its comment said 'valid firmware loaded.' The change makes the bootloader explicitly report whether the loaded firmware is corrupted, and it updates the comment on firmware_present to clarify it just means firmware is loaded. This is an informational/UX improvement, not a fix for a vulnerability in the device itself.

Security candidatefix(core/bootloader): timeout FW installation when the next message doesn't arrive in timeby tychovrahe · 3941195a · Sep 25, 2025 · 1 fileMessage 62 · AdequateLow 49Details
Commit message · tychovrahe

fix(core/bootloader): timeout FW installation when the next message doesn't arrive in time

[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
update trustboot or update path
AI analysis · Low 49/100

This commit adds a 10-second timeout to the Trezor bootloader's firmware update process. Previously, if the host computer stopped sending firmware pieces during an update, the bootloader could wait forever in a special update mode. The fix makes the device give up and show a failure screen if no next message arrives within 10 seconds. This is a hardening change: it reduces the window during which a device is stuck in a firmware-update state, which could matter if an attacker has physical or local access, but the commit itself does not describe a specific attack or vulnerability.

Lower-priorityfeat(core/prodtest): Add trusted anchors for device certificates.by Andrew Kozlik · 00742eb2 · Sep 25, 2025 · 4 filesMessage 62 · AdequateLow 35Details
Commit message · Andrew Kozlik

feat(core/prodtest): Add trusted anchors for device certificates.

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

This commit updates the Trezor production-test firmware to recognize and trust a new set of manufacturer root public keys when validating device certificates. It also refactors where those keys are stored so both certificate checking and the secure provisioning channel use the same key list. The change is a feature addition, not a fix for a known vulnerability, and it only affects the factory/prodtest firmware, not the end-user wallet firmware.

AI review queuedfeat(core/prodtest): Check device certificate chain before storing it.by Andrew Kozlik · b4766692 · Sep 25, 2025 · 2 filesMessage 62 · AdequateLow 42Details
Commit message · Andrew Kozlik

feat(core/prodtest): Check device certificate chain before storing it.

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
second-pass: broader security terminology
AI analysis · Low 42/100

This commit moves a certificate-chain validation check so it runs before a device certificate is permanently stored in secure hardware, rather than after. Previously, an invalid device certificate could be written to the chip before the code noticed and rejected it. The change is in factory production-test tools (prodtest), not normal user wallet firmware, so it mainly affects manufacturing/ provisioning rather than end-user devices in the field.

Security candidatechore(core): make `host_name` & `app_name` required also in `ThpCredentialMetadata`by Roman Zeyde · 5bab2029 · Sep 25, 2025 · 7 filesMessage 62 · AdequateLow 28Details
Commit message · Roman Zeyde

chore(core): make `host_name` & `app_name` required also in `ThpCredentialMetadata`

[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
credential or privilege state
AI analysis · Low 28/100

This commit tightens a data structure used during Trezor's new host pairing protocol (THP). It makes two text fields—host_name and app_name—mandatory instead of optional, and adds runtime checks that they are present before creating a pairing credential. On its own this is a defensive hardening change, not a fix for an active vulnerability. It reduces the chance that a paired host could be stored or shown to the user without an identifiable name, which could help prevent social-engineering or UI-confusion attacks.

Lower-prioritychore(core): move `paired_cache` to `trezor.wire.thp`by Roman Zeyde · b9411a6b · Sep 25, 2025 · 6 filesMessage 77 · AdequateInformational 15Details
Commit message · Roman Zeyde

chore(core): move `paired_cache` to `trezor.wire.thp`

Also, log `ThpPairedCache`-related events.

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

This commit is a routine code cleanup: it moves a small helper module that stores Bluetooth pairing information from one folder to another and adds extra debug logging. There is no change to how the device protects secrets, pairs with phones, or handles untrusted input. It is not a security fix.

Lower-prioritychore(core): libtropic - modify `tropic01` to adhere to `libtropic_port` API [no changelog]by M1nd3r · f54eb927 · Sep 25, 2025 · 1 fileMessage 77 · AdequateInformational 15Details
Commit message · M1nd3r

chore(core): libtropic - modify `tropic01` to adhere to `libtropic_port` API
[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 15/100

This is a routine code cleanup in Trezor firmware. It updates a hardware driver for the Tropic01 secure chip so its function signatures match a newer version of the underlying library API. The actual behavior of the code is unchanged; only the names of internal data structures were updated. There is no indication this fixes or introduces a security problem.

Lower-prioritychore(prodtest): libtropic - remove `max_len` from `lt_get_info_riscv_fw_ver()` and `lt_get_info_spect_fw_ver()` [no changelog]by M1nd3r · 58e63d89 · Sep 25, 2025 · 1 fileMessage 85 · StrongInformational 11Details
Commit message · M1nd3r

chore(prodtest): libtropic - remove `max_len` from `lt_get_info_riscv_fw_ver()` and `lt_get_info_spect_fw_ver()`
[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 11/100

This is a small code cleanup in Trezor's internal production-testing tool. It removes an unused `max_len` argument from two helper functions that read firmware version numbers from a Tropic chip during manufacturing tests. There is no indication this change fixes a security bug or introduces one; it simply follows an updated library API.

Lower-prioritychore(core): libtropic - rename timeout to timeout_ms [no changelog]by M1nd3r · 8b6e005a · Sep 25, 2025 · 1 fileMessage 77 · AdequateInformational 15Details
Commit message · M1nd3r

chore(core): libtropic - rename timeout to timeout_ms
[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 15/100

This is a simple variable rename from 'timeout' to 'timeout_ms' in a single function. It does not change any behavior, logic, or security properties of the code. There is no security issue here.

Lower-prioritychore(vendor): update libtropic to 1.0.0 [no changelog]by M1nd3r · 67bd342c · Sep 25, 2025 · 1 fileMessage 77 · AdequateInformational 2Details
Commit message · M1nd3r

chore(vendor): update libtropic to 1.0.0
[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 2/100

This commit updates a third-party vendor library called libtropic from one version to version 1.0.0. The actual code changes are not visible because only a Git submodule reference was updated. There is no information in the commit message or supplied materials indicating this is a security fix or that it addresses any vulnerability.

Security candidatechore(core): libtropic - remove obsolete bug workaround [no changelog]by M1nd3r · f52720ee · Sep 25, 2025 · 1 fileMessage 77 · AdequateInformational 12Details
Commit message · M1nd3r

chore(core): libtropic - remove obsolete bug workaround
[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
seed or entropy path
AI analysis · Informational 12/100

This commit removes a small, unexplained workaround in the hardware wallet's random number generator code. The workaround previously added 4 extra bytes to a temporary buffer when generating randomness. The change makes the code cleaner and slightly more correct, but there is no indication it fixes an active security bug. It appears to be routine cleanup.

Lower-priorityfeat(prodtest): restrict access to 64 MAC-and-destroy slotsby Ondřej Vejpustek · dc186216 · Sep 25, 2025 · 2 filesMessage 62 · AdequateLow 42Details
Commit message · Ondřej Vejpustek

feat(prodtest): restrict access to 64 MAC-and-destroy slots

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

This commit tightens access permissions in the Trezor production-test firmware for a secure chip feature called 'MAC-and-destroy' slots. It removes Pairing Key 1's ability to use the first 64 of these one-time slots, leaving only Pairing Key 2 (and in some configurations Pairing Key 3) with access. MAC-and-destroy slots are designed to be permanently destroyed after use, so restricting who can reach them reduces the risk that a less-trusted key could waste or misuse them during manufacturing tests.

Lower-prioritystyle(prodtest): don't wrap linesby Ondřej Vejpustek · 49500136 · Sep 25, 2025 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · Ondřej Vejpustek

style(prodtest): don't wrap lines

[no changelog]

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 15/100

This is a purely cosmetic code-style change. It removes line breaks inside long C expressions so each expression fits on a single line. The actual values and logic are unchanged, so it has no security effect.

Security candidatefeat(core/eckhart): widen border shapeby obrusvit · 46cb5349 · Sep 25, 2025 · 18 filesMessage 100 · StrongInformational 15Details
Commit message · obrusvit

feat(core/eckhart): widen border shape

- instead of drawing the border 1px towards center, make the border 1px
wider and draw it at the exact edges
- this is to prevent underlying shapes from peeking at the sides
- effectively reverts
https://github.com/trezor/trezor-firmware/pull/5510

[no changelog]

100/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Links an issue, advisory, or supporting reference
Why it was queued
boot or update path
AI analysis · Informational 15/100

This commit is a visual design tweak for the Trezor hardware wallet's screen border. It changes how the decorative border is drawn so it sits exactly at the screen edges instead of being inset by one pixel. There is no security relevance: no cryptography, authentication, memory handling, or user-confirmation logic is changed.