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.
58/100 average clarity
68Strong · 80–100
321Adequate · 60–79
302Thin · 40–59
88Opaque · 0–39
26security candidates with opaque commit messaging
This commit adds a new 'session reset' command to the BitBox02 hardware wallet's USB protocol. It lets the host computer cleanly reset the device connection if a previous operation was interrupted, instead of leaving the device stuck mid-t…
New USB control command added to host-wallet protocolReset path cancels async task, resets Noise state, unlocks USB processing, and clears output queueU2F UI ownership check prevents reset from interrupting an active U2F workflow
This is a routine Python code refactor. It moves an existing 'reset session' command from one internal class to another and adds a version check so older firmware simply skips it. There is no security bug being fixed here; it is purely org…
This commit fixes a bug in the BitBox02 hardware wallet where unplugging the USB cable at the wrong moment could leave a half-finished operation running. If the device stayed powered and a new host reconnected, the new host's first message…
Fixes cross-session state confusion on USB reconnectAdds explicit session reset command to cancel stale async workflowsResets Noise cryptographic session to prevent old-key encrypted responses
This commit adds a new recovery-word entry screen for the upcoming BitBox03 hardware wallet. It is a large feature patch: it introduces a dedicated BIP39 wordlist keyboard, a new recovery-words review screen, and changes how the device han…
New UI workflow distinguishes 'back' from 'cancel' during seed restoration, reducing accidental aborts.Cancel actions still require an explicit confirmation prompt before the restore is abandoned.Wordlist keyboard disables keys that cannot lead to a valid BIP39 word, preventing invalid-word compositions at the widget level.
This commit improves the BitBox02 hardware wallet's Ethereum token-approval screen. When a user signs an ERC20 token transfer, the device now also shows the token's smart-contract address if the token symbol is ambiguous (the same ticker, …
UI hardening: adds contract-address confirmation for ERC20 tokens with ambiguous or unknown symbolsRegistry validation: rejects payment requests for tokens not present in the firmware's ERC20 registryBuild-time ambiguity detection: generates a sorted list of units shared by multiple contracts
This commit relaxes a version check in the BitBox02 bootloader upgrade code. Previously, the firmware installer required that a stage0 bootloader descriptor's version exactly matched the currently expected image version. Now it accepts des…
Strict version equality check removed from bootloader descriptor parsingChange located in bootloader upgrade / firmware installer verification pathNo bounds, length, or pointer validation changes observed
This commit hardens the BitBox02 firmware so it stops trusting that incoming text strings are valid UTF-8 or plain ASCII. It replaces risky C string copies with length-checked, UTF-8-aware helpers, rejects non-ASCII characters at UI bounda…
Replaced snprintf-based string copies with length-bounded UTF-8-aware copiesAdded explicit length parameter to memory_set_device_name and reject embedded/invalid nullsAdded printable-ASCII enforcement at Rust UI boundary before C rendering
This commit fixes a coding guideline violation in the BitBox02 factory setup code. A 32-byte buffer that receives output from a Rust function was not initialized to zeroes before use. The accompanying documentation now explicitly requires …
Uninitialized stack buffer used as output buffer for Rust/C FFI callDefensive zero-initialization added to prevent use of stale stack data on error or partial write pathsProject coding guidelines updated to mandate zero-initialization for rust_util_bytes_mut buffers
This commit fixes a display behavior issue during startup of the BitBox02 hardware wallet. Previously, when the device turned on, the screen's reset pin was left in a state that could allow leftover images or text from an earlier session t…
Information disclosure via residual display content during bootOLED reset pin sequencing hardeningDefense against stale/misleading UI state before verified firmware initializes display
This commit trims the BitBox02 factory-setup firmware image by switching stored root attestation public keys from 65-byte uncompressed to 33-byte compressed secp256k1 keys, and by using a smaller static secp256k1 verification context inste…
Change in trusted public-key table format and derivation logicSwitch to static/no-precomp secp256k1 verification contextAddition of secp256k1 self-test at boot
This commit adds extra safety checks in the BitBox02 Python library for ECDSA signatures used in Bitcoin and Ethereum signing. It now validates that signatures have the correct length, use valid numbers, and use the safer low-S form. It al…
Defensive validation added for ECDSA signature format and low-S encodingRecovery ID range validation added for recoverable signaturesAnti-Klepto verification now rejects malformed/malleable signatures before nonce verification
This commit tweaks how the BitBox02 hardware wallet displays a payment-request memo on screen. It changes the label from 'Memo from\n\nMerchant' to 'Memo from: Merchant' and makes the screen scrollable so long merchant names don't get cut …
No security-relevant signal in commit message or diffUI/UX change only: text formatting and scrollabilityNo memory-safety, cryptographic, or authorization changes observed
This commit is a hardening and size-optimization change for the BitBox02 factory-setup firmware. It stores the 110 built-in root attestation public keys in compressed (33-byte) form instead of uncompressed (65-byte) form, and marks the tab…
Data table moved from writable RAM to read-only flash (const)Public-key table size reduced from 65 to 33 bytes per keyNew Rust helper normalizes compressed/uncompressed keys before hashing
This commit swaps one internal cryptography library for another when computing HMAC-SHA256 in the factory-setup code. The goal is to reduce firmware size by reusing an existing SHA-256 implementation, not to fix a security bug. New test ve…
Cryptographic implementation change in HMAC-SHA256 helperUse of `.unwrap()` on `new_from_slice`, which can panic if key length is unsupported; for HMAC-SHA256 the RustCrypto `new_from_slice` accepts any key length, so this is effectively safe but still a panic pathNo removal of existing call sites; normal firmware still uses `bitcoin_hashes` for other callers
This commit changes how the BitBox02 factory-setup program checks digital signatures. It switches from a dynamically created crypto context to a built-in, read-only verification context, which makes the factory-setup firmware about 35 KB s…
Cryptographic context change in verification pathRemoval of dynamic secp256k1 context creation in factory setupExplicit addition of secp256k1_selftest() to compensate for skipped implicit self-test
This commit is a performance optimization in the BitBox02 factory setup process. It changes how the device picks which trusted root public key to use when verifying an attestation certificate. Previously, the device tried verifying the sig…
No removal of cryptographic verification: rust_secp256k1_verify is still performed after key selection.No change to accepted inputs: any certificate accepted before is still accepted, and any rejected before is still rejected.Identifier comparison uses MEMEQ over the full 32-byte SHA-256 digest, so collision resistance is standard.
This commit is a large feature merge that adds initial support for a new hardware variant, the BitBox03 (STM32U5-based development kit). It introduces new bootloader and firmware binaries, board support crates, vendored Rust dependencies (…
This commit adds a progress bar that appears while the BitBox02 is loading large Ethereum transaction data from a connected computer. It is a user-experience improvement, not a security fix. The code only changes how progress is displayed …
This commit adds a configuration file for OpenOCD, a debugging tool used during hardware development and testing. It tells the debugger how to connect to an STM32U5 test board using a J-Link adapter. There is no change to firmware code, no…
This commit only adds explanatory comments to Python type-stub files describing what happens when an optional anti-klepto host nonce commitment is left out. It does not change any firmware logic, cryptographic code, or default behavior. Th…
Documentation-only change in generated Python stubsMentions anti-klepto / S2C nonce commitment fallback behaviorNo logic, default, or cryptographic implementation change
Expand any commit for its author, full message, clarity score, changed files, triage signals, analysis, and source link.
Security candidatebootloader: allow full sized imagesby Marko Bencun · f60b93cc · Jun 25, 2026 · 3 filesMessage 60 · AdequateLow 46Details
Commit message · Marko Bencun
bootloader: allow full sized images
The erase call disallowed full sized firmware images.
60/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
Why it was queued
update trustboot or update path
AI analysis · Low 46/100
This commit fixes a bootloader bug where the device rejected firmware updates that used the maximum allowed size. The off-by-one check meant legitimate full-sized firmware images could not be installed, potentially blocking updates. The fix changes the limit from 'one less than maximum' to 'maximum'. There is no direct evidence this was exploitable as an attack, but any bug in firmware-update verification deserves attention.
Security candidateAdd bootloader updateby Marko Bencun · 3f1f3172 · Jun 24, 2026 · 79 filesMessage 28 · OpaqueModerate 59Details
Commit message · Marko Bencun
Add bootloader update
28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
update trustcryptography-sensitive pathsigning or wallet pathboot or update path
AI analysis · Moderate 59/100
This is a large firmware commit that adds a new two-stage bootloader update mechanism for the BitBox02 hardware wallet. It replaces the old single bootloader with a small, fixed 'stage0' plus a separately signed 'stage1', and ships a special firmware image that can install both stages onto existing devices. The change also updates how firmware signatures are computed so that the product type is included in the hash, which is a security improvement. Because the commit is a major architectural rewrite and includes prebuilt binary blobs whose source is not shown, it carries normal supply-chain and implementation risks, but no specific vulnerability is visible in the diff.
Add J-Link helper scripts to back up and restore the BitBox02 flash data areas: shared data, appdata, and bootdata. The backup records the MCU serial number but does not include bootloader factory randomness.
73/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Names security-relevant behavior explicitly
Why it was queued
update trust
AI analysis · Informational 15/100
This commit adds two helper scripts for developers to back up and restore BitBox02 flash memory areas using a Segger J-Link debugger. The scripts require physical hardware access and a debugging probe, and they are not part of the firmware that runs on the device. They do not change any device code or introduce a remote attack path.
Lower-priorityRead chunks via typed pointersby Niklas Dusenlund · e21bd6fe · Jun 22, 2026 · 2 filesMessage 78 · AdequateLow 25Details
Commit message · Niklas Dusenlund
Read chunks via typed pointers
Use typed pointers for read-only memory accessors so firmware builds can read fields directly from flash instead of copying whole chunks first. Keep test builds on the existing fake read hooks.
78/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
AI analysis · Low 25/100
This commit changes how the BitBox02 firmware reads sensitive stored data (device name, seed birthdate, encryption keys, BLE identity, etc.). Previously, the firmware copied whole chunks from flash into RAM and then cleared them afterward. Now, for real firmware builds, it reads those fields directly from flash using typed pointers, so the data stays in flash and is not copied into RAM. This is mostly a performance and memory-usage improvement, but it removes the explicit RAM-clearing (util_zero) that used to happen after reading. That means sensitive bytes may remain longer in RAM if they are ever copied out, and any code that later reads from those RAM copies could be a concern. There is no direct vulnerability shown in the diff, but the change weakens one defensive layer (clearing sensitive RAM) and introduces more places where secrets are accessed through raw flash pointers.
Lower-priorityDisable ASLR for unit testsby Niklas Dusenlund · a8b013cc · Jun 22, 2026 · 1 fileMessage 78 · AdequateInformational 15Details
Commit message · Niklas Dusenlund
Disable ASLR for unit tests
Run the build-tree CTest invocation through setarch -R when it is available. This keeps the existing behavior as a fallback on systems without setarch.
78/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
AI analysis · Informational 15/100
This commit changes how the project's automated unit tests are run. It disables Address Space Layout Randomization (ASLR) only during testing, when available, by wrapping the test command with setarch -R. ASLR randomizes where programs are loaded in memory; turning it off for tests is often done to make memory-related test failures reproducible or to support debugging tools. This change affects only the developer/test build process, not the firmware that ships to users.
Implement placeholder UI for BTC signing demos in send_message.py.
40/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body! Contains work-in-progress language
Why it was queued
signing boundary
AI analysis · Informational 15/100
This commit replaces unfinished placeholder code (which would crash with 'todo!()') with simple working user-interface placeholders for Bitcoin signing demonstrations. It adds basic on-screen prompts to confirm a recipient/amount and a total/fee, and makes progress/empty UI elements return real objects instead of crashing. There is no security issue visible in the diff; it is routine UI scaffolding.
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 15/100
This commit changes a code-style configuration file to silence one more clang-tidy warning about implicit conversions to booleans. It does not modify any firmware source code, behavior, or security logic. By itself it is not a vulnerability or a security fix.
AI review queuedAdd stm32u5a9j-dk-buildby Niklas Dusenlund · bb998c2d · Jun 8, 2026 · 4 filesMessage 28 · OpaqueInformational 15Details
Commit message · Niklas Dusenlund
Add stm32u5a9j-dk-build
28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100
This commit adds a new Rust build helper crate for the STM32U5A9J-DK development board. It compiles a single C file from STMicroelectronics' HAL library into an object file and links it into firmware builds so a custom board initialization function overrides the weak default. There is no indication of a security vulnerability or fix.
AI review queuedAdd bitbox-boot-utilsby Niklas Dusenlund · 8579b06e · Jun 8, 2026 · 6 filesMessage 28 · OpaqueInformational 15Details
Commit message · Niklas Dusenlund
Add bitbox-boot-utils
28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100
This commit adds a new Rust helper library and a Python script for creating and validating firmware image headers for the BitBox02/BitBox03 bootloader. It is purely an infrastructure/feature addition: it defines data structures, parsing routines, boot argument handling, and image-header tooling. There is no bug fix, no patch of an existing vulnerability, and no indication this change itself introduces a security flaw.
AI review queuedAdd bitbox-debugby Niklas Dusenlund · d92238f8 · Jun 8, 2026 · 106 filesMessage 28 · OpaqueInformational 15Details
Commit message · Niklas Dusenlund
Add bitbox-debug
28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
This commit adds a new internal debugging library called bitbox-debug and vendors several Rust dependencies (once_cell, portable-atomic, rtt-target). There is no indication in the commit message or diff that this fixes a security vulnerability. It appears to be a feature/infrastructure addition for firmware debugging.
Lower-priorityBootstrap local Cargo configby Niklas Dusenlund · 0e058d7d · Jun 8, 2026 · 12 filesMessage 58 · ThinInformational 14Details
Commit message · Niklas Dusenlund
Bootstrap local Cargo config
Generate .cargo/config.local.toml with bindgen clang args and cc crate CFLAGS for the firmware Rust targets. Include that file from the repository and Rust workspace Cargo configs so normal cargo invocations pick it up, and wire the bootstrap into Makefile setup.
Use exact target-specific env names such as CFLAGS_thumbv7em-none-eabi and BINDGEN_EXTRA_CLANG_ARGS_thumbv7em-none-eabi. CMake passes its full cross-build cc flags through the same target-specific CFLAGS variable, including the ARM sysroot.
This commit is a build-system improvement for the BitBox02 hardware wallet firmware. It creates a script that automatically generates local Cargo (Rust build tool) configuration files so that Rust code compiles correctly for the ARM microcontroller inside the device. It does not change any wallet logic, cryptography, or user-facing behavior. There is no indication this is a security fix or vulnerability patch.
Lower-prioritybb03: fix --preseed in simulatorby Jad · c27a20b2 · Jun 7, 2026 · 1 fileMessage 70 · AdequateInformational 15Details
Commit message · Jad
bb03: fix --preseed in simulator
fixes --preseed in simulator so it actually loads with preseeded test wallet.
70/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body✓ Mentions testing or verification
AI analysis · Informational 15/100
This commit fixes a test-only simulator feature so that a command-line flag called --preseed actually loads a known test wallet. It only changes test/simulator code, not the real BitBox02/BitBox03 firmware that runs on the hardware wallet. There is no security-relevant change to production code.
Lower-prioritybb03: placeholder UI for restore from mnemonicby Jad · 472a5964 · Jun 7, 2026 · 4 filesMessage 40 · ThinInformational 17Details
Commit message · Jad
bb03: placeholder UI for restore from mnemonic
Implements AI generated UI for restore from mnemonic workflow.
40/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body! Contains work-in-progress language
AI analysis · Informational 17/100
This commit adds placeholder user-interface screens for restoring a wallet from a recovery phrase on the BitBox03 hardware wallet. It replaces some unfinished 'todo!' stubs with basic screens and adds a retry loop so users must enter a valid BIP39 word. There is no clear security bug in the change, but it is a new, incomplete UI implementation that could contain latent issues.
Update the pinned Rust toolchain to 1.96.0 and adjust the BTC signtx tests for clippy's collapsible_match lint on the new toolchain.
78/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
cryptography-sensitive pathsigning or wallet pathauthentication path
AI analysis · Informational 17/100
This commit is a routine maintenance update for the BitBox02 hardware wallet firmware. It upgrades the pinned Rust compiler toolchain from an older version to Rust 1.96.0, updates the project's Docker build container and related developer tools (like clang-format and clang-tidy) from version 21 to 22, and refreshes several vendored Rust library dependencies to newer versions. The only application code change is a small test-only cleanup in the Bitcoin transaction signing tests to satisfy a new Rust linter warning. There is no direct evidence in the commit message or diff that this fixes a specific security vulnerability.
Security candidatebootloader: reduce snprintfby Marko Bencun · 2fb9d57f · Jun 2, 2026 · 6 filesMessage 68 · AdequateInformational 18Details
Commit message · Marko Bencun
bootloader: reduce snprintf
Move the BLE dev menu version formatting to the fixed-format bootloader formatter and add unit coverage.
Extend the unwanted-symbol check to regular development and production bootloader outputs.
This commit removes the use of the standard snprintf formatting function from the BitBox02 bootloader's developer menu and replaces it with a small, fixed-format helper. The main goal is to reduce the bootloader's binary size and make the project's automated checks apply to all bootloader builds, not just production ones. There is no direct evidence this fixes an active security vulnerability, but it is a defensive hardening change that reduces attack surface by avoiding a complex formatting library in security-sensitive bootloader code.
Security candidatebootloader: hash BLE firmware in Cby Marko Bencun · 1d82b8a4 · May 30, 2026 · 2 filesMessage 68 · AdequateInformational 12Details
Commit message · Marko Bencun
bootloader: hash BLE firmware in C
Use the existing PUKCC SHA-256 path for the bootloader BLE firmware hash check. Firmware builds keep using the Rust SHA-256 wrapper.
Saves 1352 bytes in bb02p-bl-multi-production.bin.
68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Why it was queued
update trust
AI analysis · Informational 12/100
This commit is a code-size optimization for the BitBox02 bootloader. It switches the Bluetooth Low Energy (BLE) firmware hash verification from a Rust SHA-256 implementation to an existing C-based SHA-256 implementation already used by the bootloader. The change saves 1,352 bytes and adds a CI check to prevent the larger Rust SHA-256 code from creeping back into production bootloaders. There is no indication this fixes a security vulnerability.
Security candidatebootloader: avoid snprintf formattingby Marko Bencun · 33434fa9 · May 30, 2026 · 14 filesMessage 63 · AdequateLow 35Details
Commit message · Marko Bencun
bootloader: avoid snprintf formatting
Replace the extracted bootloader formatting helpers with fixed-size string building.
Add a small Rust decimal formatter for the fixed integer cases.
Remove the remaining production bootloader snprintf pulls from debug copies and UGUI line slicing.
Also replace the Plus BLE random-name formatting.
Extend the unwanted-symbols CI check to cover production bootloader ELFs.
This commit removes the use of standard string-formatting functions (like snprintf and Rust's format!) from the bootloader and related low-level code, replacing them with smaller, fixed-size string builders. The stated goal is to reduce binary size ('bloat') in the production bootloader, not to fix a known security bug. The change also adds a CI check that rejects any future use of these formatting symbols in production bootloader builds. While removing complex formatting libraries from a bootloader is generally good defensive practice, the commit itself does not describe or demonstrate any exploitable vulnerability.
Security candidatebootloader: extract formatting helpersby Marko Bencun · 1a1de3b5 · May 30, 2026 · 6 filesMessage 35 · OpaqueInformational 15Details
Commit message · Marko Bencun
bootloader: extract formatting helpers
35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
update trustboot or update path
AI analysis · Informational 15/100
This commit is a simple code cleanup: it moves a handful of string-formatting helpers (for pairing codes, progress percentages, hash display, timers, and unknown-command messages) out of the main bootloader file into a new dedicated file, and adds unit tests for them. The actual formatting logic is unchanged, and there is no indication of any security fix or behavior change.
Security candidatebootloader: render messages directlyby Marko Bencun · c0bc7b92 · May 30, 2026 · 1 fileMessage 58 · ThinInformational 17Details
Commit message · Marko Bencun
bootloader: render messages directly
Pass bootloader messages directly to UG_PutString instead of copying them through a fixed-size stack buffer first. UG_PutString consumes the string synchronously while drawing to the screen buffer.
This commit removes a 100-character stack buffer and passes bootloader messages straight to the screen-drawing function. The old code used snprintf to copy the message into a fixed-size buffer, which could silently truncate very long strings. There is no direct evidence in the commit that this fixed a security vulnerability; it appears to be a cleanup or robustness improvement. The change does not introduce obvious new risks because the drawing function consumes the string immediately.
The bootloader selects the 9x9 font before rendering text, and Abort does the same. Use that font as the bootloader UG_Init default so the 11x10 font table is not linked into bootloader images.
bb02p-bl-multi-production.bin shrinks from 50572 to 48556 bytes.
68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Why it was queued
update trust
AI analysis · Informational 15/100
This commit changes the default on-screen font used by the bootloader from an 11x10 pixel font to a 9x9 pixel font. The only stated purpose is to make the bootloader firmware file smaller by avoiding inclusion of the larger font's data table. There is no indication this fixes a security vulnerability.
Lower-priorityci: exclude asf4 headers from clang-tidyby Marko Bencun · eac2ebcb · May 30, 2026 · 1 fileMessage 72 · AdequateInformational 15Details
Commit message · Marko Bencun
ci: exclude asf4 headers from clang-tidy
asf4 is excluded already at source level, but headers could still be linted through includes from other sources.
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 change only adjusts a code-quality tool configuration. It tells clang-tidy to skip linting header files located in an external driver directory (asf4-drivers). It does not modify firmware behavior, fix a bug, or change any executable code.
Lower-priorityCheck firmware for float helpersby Marko Bencun · 6f196229 · May 29, 2026 · 1 fileMessage 80 · StrongInformational 14Details
Commit message · Marko Bencun
Check firmware for float helpers
Extend .ci/check-unwanted-symbols with additional checks for linked floating-point helpers in build/bin/firmware.elf.
Keep the existing float formatting, strftime, and sha2::Sha512 checks, and add floating-point helper checks for the helpers removed by the integer fee and progress commits. The f64 check is intentionally scoped to comparison/conversion helpers because this branch still has some double arithmetic helpers pulled in by the existing C snprintf/newlib path.
80/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode
AI analysis · Informational 14/100
This commit only improves an internal CI script that checks the built firmware for unwanted software-implemented floating-point and other bloat-causing symbols. It is a build-hygiene and binary-size guard, not a security patch. There is no vulnerability being fixed here.
Security candidateUse integer progress fractionsby Marko Bencun · 17c4947f · May 29, 2026 · 12 filesMessage 58 · ThinInformational 19Details
Commit message · Marko Bencun
Use integer progress fractions
Add an integer `set_fraction()` progress path through the HAL and UI layers, and switch the live Bitcoin-signing and Bluetooth-upgrade progress updates to use it.
The progress bar ultimately renders whole pixels, so the C progress component now stores the filled pixel width directly and computes it with integer math. This keeps the visible behavior intact while removing the Rust-side soft-float `f32` arithmetic path that was only used for progress updates.
In the final firmware image this drops the live `compiler_builtins::float::{add,div,mul}::<f32>` helpers together with the associated `__aeabi_fadd`, `__aeabi_fdiv`, and `__aeabi_fmul` wrappers.
This commit replaces floating-point progress calculations with integer math to save firmware space. It removes the use of f32 arithmetic for progress bars in Bitcoin transaction signing and Bluetooth firmware upgrades. There is no direct security vulnerability in the change itself; it is a code-quality and size-reduction refactor. However, it introduces new integer arithmetic paths that must keep numerator/denominator assumptions valid to avoid incorrect progress display.
AI review queuedVendor ST driversby Niklas Dusenlund · 163b0167 · May 26, 2026 · 91 filesMessage 28 · OpaqueInformational 15Details
Commit message · Niklas Dusenlund
Vendor ST drivers
28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
This commit simply adds the official STMicroelectronics (ST) driver library for the STM32U5 microcontroller family into the project's source tree. It is a large import of vendor-provided header files, source files, and license files. There is no bug fix, no functional change to the wallet application, and no indication of a security issue being addressed.
AI review queuedeth: add progress bar to streamed data payloadsby Tomas Vrba · f1552920 · May 19, 2026 · 4 filesMessage 45 · ThinInformational 15Details
Commit message · Tomas Vrba
eth: add progress bar to streamed data payloads
45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100
This commit adds a visual progress bar that appears on the BitBox02 screen while the device is receiving large Ethereum transaction data or typed-message data from the host computer. It is purely a user-experience change: it shows 'Loading data...' with a progress fraction during streaming, and updates the test mock UI so automated tests can verify the progress values. There is no security-relevant change to cryptography, parsing, bounds checking, or host/device trust boundaries.