BB
← All projectsBitBox

BitBox02 firmware

Firmware and bootloader for BitBox02 signing devices.

BitcoinHardware walletsNormal
Repository coverage

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

193security candidates127second-pass queue230AI analyses
28commits · 30 days
47commits · 60 days
312commits · 180 days
647commits · 365 days
Backfill bands
Aug 5 → Feb 6335 seen28 candidatesComplete
Feb 6 → Jun 6265 seen19 candidatesComplete
Jun 6 → Jul 619 seen5 candidatesComplete
Jul 6 → Aug 526 seen3 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.

59/100 average clarity
65Strong · 80–100
281Adequate · 60–79
230Thin · 40–59
71Opaque · 0–39
23security candidates with opaque commit messaging
Read the scoring rubric →
Developer activity

Who is changing the project?

Public Git author strings; identities are not independently verified.

DeveloperCommitsCandidatesAnalyzedHigh riskMessage avg.
Marko Bencun390117135258
benma's agent892834162
Niklas Dusenlund1112931059
cedwies1257063
Tomas Vrba947074
Cedric Wiese1239049
Jad811062
thisconnect211072
benma211074
Niklas111035
Yasser Aziza111070
Patrick Steiger111045
Analysis record

Published AI watches

Last scanned 52 minutes ago

Moderate 60 AI analysisMessage 90 · Strong
BB BitBoxBitBox02 firmware BitcoinHardware wallets

backup: validate decoded seed length

This update fixes a bug in how the BitBox02 hardware wallet reads backup files from an SD card. A tampered backup file could claim to contain a seed longer than the 32-byte limit, which previously caused the device to panic (crash) when li…

Out-of-bounds/panic condition in backup parsingMissing input validation on decoded protobuf fieldSD-card backup file could be attacker-controlled
80baf1eeby benma's agent+34−01 file
Vendor flagged security relevance
Low 39 AI analysisMessage 73 · Adequate
BB BitBoxBitBox02 firmware BitcoinHardware wallets

rust: initialize C output buffers

This commit fixes a class of low-level memory-safety bugs where Rust code was given buffers containing uninitialized bytes. Rust's rules require every byte of a slice to be initialized, even if the function will overwrite them. Passing uni…

Undefined behavior at C/Rust FFI due to uninitialized buffers being treated as Rust slicesPotential optimizer-dependent behavior from violating Rust slice initialization rulesHardening of cryptographic output paths (SHA-256, HMAC-SHA256, HMAC-SHA512)
511018eaby benma's agent+52−2713 files
Vendor flagged security relevance
High 74 AI analysisMessage 78 · Adequate
BB BitBoxBitBox02 firmware BitcoinHardware wallets

eth: limit EIP-712 recursion depth

This commit adds a hard limit on how deeply nested Ethereum typed-message (EIP-712) structures can be when the BitBox02 hardware wallet signs them. Without the limit, an attacker could craft a message type that refers to itself over and ov…

Adds explicit recursion-depth cap to attacker-controlled input parsingPre-validates schema roots before host callbacks or user confirmationProtects against stack exhaustion / denial-of-service from deeply nested EIP-712 types
4ccadcc0by benma's agent+196−451 file
No security note in commit
Informational 15 AI analysisMessage 50 · Thin
BB BitBoxBitBox02 firmware BitcoinHardware wallets

py: extract bootloader connection

This commit is a minor code cleanup in a Python helper script. It moves existing bootloader connection logic into a small nested helper function to satisfy a style checker (pylint's limit on the number of return statements). No behavior ch…

886113d0by benma's agent+10−61 file
No security note in commit
Low 42 AI analysisMessage 78 · Adequate
BB BitBoxBitBox02 firmware BitcoinHardware wallets

Warn before truncated value displays

This commit adds a warning screen to the BitBox02 hardware wallet whenever a long message or value is about to be shown in a truncated form. Previously, the device could silently cut off the end of very long transaction details, message da…

UI truncation warning added before oversized confirmation bodiesCentralized body-size limit to keep Rust and C UI limits in syncReplaced duplicated warning logic with shared confirm_value helper
5b3aee6fby benma's agent+266−4710 files
No security note in commit
Informational 12 AI analysisMessage 45 · Thin
BB BitBoxBitBox02 firmware BitcoinHardware wallets

releases: add v9.26.2, v9.26.3 and v9.26.4

This commit is a routine release-management update. It adds signed build assertions for three new BitBox02 firmware versions (9.26.2, 9.26.3, 9.26.4) and updates the release documentation and build helper script. The build script now delet…

No firmware source code is modifiedNo cryptographic primitives or protocols are changedNo bug fixes or vulnerability mitigations are present in the diff
eed2e68eby Marko Bencun+79−116 files
No security note in commit
Informational 21 AI analysisMessage 68 · Adequate
BB BitBoxBitBox02 firmware BitcoinHardware wallets

eth: loosen EIP-712 identifier validation

This firmware update relaxes the rules for valid Ethereum typed-data (EIP-712) names so they can contain a colon (:), which some decentralized apps use as a namespace separator. Member names still cannot contain colons. The change is prese…

Input validation relaxation for externally supplied EIP-712 type namesExplicit claim that ':' cannot forge encodeType boundariesMember-name validation remains strict
9703d8d9by Marko Bencun+50−43 files
No security note in commit
Moderate 59 AI analysisMessage 69 · Adequate
BB BitBoxBitBox02 firmware BitcoinHardware wallets

Limit SD erase file size

This commit fixes a bug in how the BitBox02 hardware wallet wipes files from its SD card. Before erasing a file, the device now checks the file's reported size against a safe maximum. Without this check, a tampered SD card could claim a fi…

CVE-2026-6682 referenced in commit messageMalformed FAT directory entry could cause excessive overwrite loopDenial-of-service via SD card tampering
2453f528by Marko Bencun+4−01 file
Vendor flagged security relevance
High 70 AI analysisMessage 66 · Adequate
BB BitBoxBitBox02 firmware BitcoinHardware wallets

Validate mounted FAT geometry

This update adds a safety check when the BitBox02 hardware wallet mounts a microSD card. A malicious or deliberately malformed FAT filesystem could trick the device's file-system library into placing user data inside attacker-controlled bo…

Fixes integer-wrap / geometry confusion in FAT mount logicAdds explicit post-mount validation of filesystem metadataPrevents data area from landing inside attacker-controlled FAT sectors
01c017d6by Marko Bencun+21−01 file
Vendor flagged security relevance
Low 27 AI analysisMessage 69 · Adequate
BB BitBoxBitBox02 firmware BitcoinHardware wallets

Update FatFs to R0.16

This commit updates the third-party FatFs file-system library inside the BitBox02 firmware from version R0.14b to R0.16 plus an upstream patch. The change is a routine dependency refresh: it replaces the vendored source files with the newe…

Third-party dependency update (FatFs R0.14b -> R0.16+p1)No explicit security claim in commit messageNo CVE or advisory referenced in commit or supplied references
9f2b493dby Marko Bencun+3842−256979 files
No security note in commit
Low 34 AI analysisMessage 59 · Thin
BB BitBoxBitBox02 firmware BitcoinHardware wallets

api: add BitBoxSync

This commit adds a brand-new firmware feature called BitBoxSync, which lets the BitBox02 hardware wallet participate in a sync service by proving its identity, signing login/admin intents, and decrypting namespace encryption keys. The code…

New cryptographic API surface added to the hardware wallet (Ed25519, X25519, HKDF, AEAD)Vendored third-party crate `hkdf` introduced into the firmware supply chainNew user-confirmation flow for signing sync intents; one operation (UnwrapNamespaceDek) deliberately skips confirmation
54cdb54dby Marko Bencun+2883−2230 files
No security note in commit
Informational 0 AI analysisMessage 45 · Thin
BB BitBoxBitBox02 firmware BitcoinHardware wallets

blupgrade: update stage1 binaries to v1.2.2

This commit simply swaps in newer pre-built bootloader stage1 binary files (version 1.2.2 replacing 1.2.1) for four BitBox02 hardware variants and updates the corresponding checksum list. The actual code inside the new binary files is not …

5940a800by Marko Bencun+8−86 files
No security note in commit
Moderate 59 AI analysisMessage 50 · Thin
BB BitBoxBitBox02 firmware BitcoinHardware wallets

bootloader/stage1: fix erase handling for partially erased blocks

This update fixes the BitBox02 bootloader's firmware-erase routine. Previously, when erasing leftover padding after a firmware update, the bootloader started erasing at the exact page where the firmware ended. Because flash memory can only…

Bootloader firmware erase routine could erase a flash block containing both firmware and paddingFix aligns erase start to erase-block boundary and re-checks erased state before erasingChangelog describes the change as a fix for 'partially erased flash blocks'
b31206a8by Marko Bencun+23−83 files
No security note in commit
Informational 15 AI analysisMessage 45 · Thin
BB BitBoxBitBox02 firmware BitcoinHardware wallets

blupgrade: add stage0/stage1 production binaries

This commit adds production bootloader upgrade files for the BitBox02 hardware wallet and updates build scripts to use them. It is a routine asset-management change: replacing placeholder development hashes with real signed production bina…

8db4b0dcby Marko Bencun+26−1720 files
No security note in commit
Informational 20 AI analysisMessage 83 · Strong
BB BitBoxBitBox02 firmware BitcoinHardware wallets

blupgrade: keep dev stage1 unsigned

This commit fixes a build script used only for development/testing versions of the BitBox02 bootloader upgrade. It makes the development-stage1 bootloader images unsigned again, while keeping production images fully signature-verified. The…

Signature verification relaxed only for development buildsProduction payload validation still requires signaturesDevelopment stage0 already skipped stage1 signature verification per commit message
476b90e3by Marko Bencun+9−69 files
No security note in commit
High 76 AI analysisMessage 23 · Opaque
BB BitBoxBitBox02 firmware BitcoinHardware wallets

security improvements

This BitBox02 firmware update is a broad security patch that fixes several independent bugs: it prevents a maliciously oversized USB report from overflowing memory, stops a corrupted Bluetooth pairing database from being read or written wi…

Bounds check added to USB HID Set Report input lengthBLE bond DB length validation hardened against negative and oversized valuesBootloader firmware image size limit relaxed to intended maximum
cbb40634by Marko Bencun+1117−25021 files
Vendor flagged security relevance
Low 46 AI analysisMessage 60 · Adequate
BB BitBoxBitBox02 firmware BitcoinHardware wallets

bootloader: allow full sized images

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

Off-by-one input validation in firmware-update pathBootloader change affecting firmware chunk count acceptanceCHANGELOG labels the change as a bugfix for full-sized firmware upgrades
f60b93ccby Marko Bencun+5−33 files
No security note in commit
Moderate 59 AI analysisMessage 28 · Opaque
BB BitBoxBitBox02 firmware BitcoinHardware wallets

Add bootloader update

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

Bootloader architecture changed from monolithic to two-stage (stage0 + signed stage1).Firmware signature hash now includes a 16-bit product_id, binding firmware to product variant.Root public keys were rotated/replaced with a single set across all products.
3f1f3172by Marko Bencun+5003−52379 files
Vendor flagged security relevance
Informational 15 AI analysisMessage 73 · Adequate
BB BitBoxBitBox02 firmware BitcoinHardware wallets

Add flash data backup scripts

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…

285fa768by Niklas Dusenlund+383−03 files
No security note in commit
Informational 15 AI analysisMessage 40 · Thin
BB BitBoxBitBox02 firmware BitcoinHardware wallets

bb03 UI: placeholder BTC signing workflows

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

f7b0b082by Jad+24−121 file
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.

AI review queuedhal/ui: add empty_create to Ui Halby Marko Bencun · 274acabe · Mar 2, 2026 · 5 filesMessage 45 · ThinInformational 19Details
Commit message · Marko Bencun

hal/ui: add empty_create to Ui Hal

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

This commit is a small internal code cleanup in the BitBox02 hardware wallet firmware. It moves the creation of an empty on-screen placeholder component into a common hardware-abstraction layer (HAL) so that both real device code and automated test code use the same interface. There is no direct security fix here; it is a refactoring that makes the code easier to test and maintain.

Lower-priorityutil/bytes: document that NULL is allowed in rust_util_bytesby Marko Bencun · 471b82fa · Feb 28, 2026 · 1 fileMessage 65 · AdequateTriage 0Details
Commit message · Marko Bencun

util/bytes: document that NULL is allowed in rust_util_bytes

When length is 0. The as_ref/as_mut functions already explicitly
handle this.

65/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
Security candidateAdd coin purchase memo supportby cedwies · 10746100 · Feb 26, 2026 · 8 filesMessage 45 · ThinLow 27Details
Commit message · cedwies

Add coin purchase memo support

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
cryptography-sensitive pathsigning or wallet path
AI analysis · Low 27/100

This commit adds a new 'coin purchase memo' feature to BitBox02 payment requests. It lets a payment request include details about a separate coin purchase (e.g., '0.25 ETH to address 0x...') and verifies that the listed Ethereum address really belongs to the wallet by deriving it from a provided keypath. The change is mostly a feature addition, but it introduces cross-currency validation logic and a TODO noting that the user-interface confirmation for this new memo type is not yet implemented.

Lower-priorityspi: prefix MEMORY_SPI_BLE_FIRMWARE_(1|2)_ADDR with BITBOX02_by Marko Bencun · c39028bf · Feb 25, 2026 · 4 filesMessage 65 · AdequateTriage 0Details
Commit message · Marko Bencun

spi: prefix MEMORY_SPI_BLE_FIRMWARE_(1|2)_ADDR with BITBOX02_

Avoid any confusion that these should be used outside of BitBox02.

65/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
Lower-prioritybluetooth: add upgrade unit testsby Marko Bencun · 1a58c01b · Feb 25, 2026 · 2 filesMessage 55 · ThinTriage 0Details
Commit message · Marko Bencun

bluetooth: add upgrade unit tests

55/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
Lower-prioritymemory_spi: move SPI memory constants to Rustby Marko Bencun · 46b822b8 · Feb 25, 2026 · 8 filesMessage 80 · StrongTriage 0Details
Commit message · Marko Bencun

memory_spi: move SPI memory constants to Rust

bitbox_hal has the one needed for bitbox02-rust and all HAL impls to
function.

bitbox02-rust-c defines the constants needed by C. We can't keep part
in C and part in Rust because it there would be circular deps (C
headers can't include "rust/rust.h").

80/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode
Lower-priorityhal: route BLE FW flashing through Memory HALby Marko Bencun · 9fd3ceea · Feb 25, 2026 · 4 filesMessage 68 · AdequateTriage 0Details
Commit message · Marko Bencun

hal: route BLE FW flashing through Memory HAL

Add BleFirmwareSlot, BLE_FW_FLASH_CHUNK_SIZE, and
ble_firmware_flash_chunk() to the Memory trait as higher level
concepts.

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Lower-priorityhal: add get_active_ble_firmware_version to Memoryby Marko Bencun · 04f212e0 · Feb 25, 2026 · 4 filesMessage 50 · ThinTriage 0Details
Commit message · Marko Bencun

hal: add get_active_ble_firmware_version to Memory

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Lower-priorityhal: add ble_get_metadata and set_ble_metadata to Memoryby Marko Bencun · 6c8c8f76 · Feb 25, 2026 · 5 filesMessage 50 · ThinTriage 0Details
Commit message · Marko Bencun

hal: add ble_get_metadata and set_ble_metadata to Memory

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI review queuedhal/ui: add switch_to_logo()by Marko Bencun · 2c3738cf · Feb 24, 2026 · 5 filesMessage 35 · OpaqueTriage 0Details
Commit message · Marko Bencun

hal/ui: add switch_to_logo()

35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
Lower-priorityreset: add system calls to System Halby Marko Bencun · 912cf924 · Feb 24, 2026 · 7 filesMessage 60 · AdequateTriage 0Details
Commit message · Marko Bencun

reset: add system calls to System Hal

- reboot
- smarteeprom_disable
- reset_ble

60/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
Lower-priorityhal: add startup()by Marko Bencun · 1270e9e0 · Feb 24, 2026 · 8 filesMessage 51 · ThinTriage 0Details
Commit message · Marko Bencun

hal: add startup()

The first task spawned, implements orientation screen in BitBox02 and
removes some more bitbox02 crate references in bitbox02-rust.

The startup trait function does not have a `&mut self` param as the
executor in main_loop requires tasks to be static.

51/100 · ThinMessage clarity
✓ Subject identifies a change✓ Provides detailed explanatory context
AI review queuedhal/ui: add progress to Ui Halby Marko Bencun · a0a8f0ee · Feb 20, 2026 · 5 filesMessage 45 · ThinInformational 15Details
Commit message · Marko Bencun

hal/ui: add progress to Ui Hal

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 is a routine code cleanup: it moves the progress-bar UI code behind a Rust trait (interface) so different parts of the firmware can use it through a common abstraction. It does not change security behavior, fix a bug, or add a new user-facing feature beyond the existing progress bars.

Security candidatemove DEVICE_MAX_LEN/MULTISIG_NAME_MAX_LEN defs from C to Rustby Marko Bencun · 632db34f · Feb 20, 2026 · 15 filesMessage 85 · StrongInformational 15Details
Commit message · Marko Bencun

move DEVICE_MAX_LEN/MULTISIG_NAME_MAX_LEN defs from C to Rust

Removes `bitbox02::memory` references from bitbox02-rust and makes the
consts available to all targets (bb02, bb03).

It's defined in the bitbox-hal crate because it is part of the trait
set_device_name/smultisig_set_by_hash constraints that must be obeyed
by all targets.

85/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode
Why it was queued
boot or update path
AI analysis · Informational 15/100

This commit is a routine code reorganization. It moves two constant definitions—how long device names and multisig account names can be—from the C code into Rust, so both the BitBox02 and future BitBox03 products can share the same values. The actual length limits (63 characters plus a null terminator for device names, 30 plus null for multisig names) are unchanged, and the commit adds compile-time checks to prove they stay the same. There is no security bug being fixed here.

Security candidatebitbox02-rust: remove redundant mock_memory callsby Marko Bencun · c7089da8 · Feb 19, 2026 · 11 filesMessage 60 · AdequateInformational 15Details
Commit message · Marko Bencun

bitbox02-rust: remove redundant mock_memory calls

With introduction of HAL, many of them are not needed anymore.

60/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
Why it was queued
signing or wallet pathauthentication path
AI analysis · Informational 15/100

This commit only cleans up test code by removing unnecessary calls to a mock memory setup function. It does not change the actual firmware that runs on the BitBox02 device, so it has no security impact on users.

Lower-priorityhal: rename subsytems() to as_mut()by Marko Bencun · 619f907c · Feb 19, 2026 · 7 filesMessage 60 · AdequateTriage 0Details
Commit message · Marko Bencun

hal: rename subsytems() to as_mut()

For clarity that one accesses the parts as mut.

60/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
Lower-priorityhal/ui: add unlock_animationby Marko Bencun · 95f4c27c · Feb 19, 2026 · 6 filesMessage 68 · AdequateTriage 0Details
Commit message · Marko Bencun

hal/ui: add unlock_animation

Add unlock_animation to the Ui trait and both production and testing implementations.

Use ui.unlock_animation() in workflow::unlock and remove the dedicated unlock_animation workflow module.

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Provides detailed explanatory context✓ Mentions testing or verification
Security candidatekeystore: add KeystoreHal abstractionby Marko Bencun · 4fc335ee · Feb 19, 2026 · 2 filesMessage 58 · ThinInformational 15Details
Commit message · Marko Bencun

keystore: add KeystoreHal abstraction

Introduce the KeystoreHal trait and KeystoreHalImpl adapter over HAL
subsystems.

Route unlock_bip39 and transitive keystore internals through
KeystoreHal and update workflow unlock to pass KeystoreHalImpl.

Reason: to not keep a mutable borrow of Hal Ui (part of Hal), which
will be used in parallel during unlock_bip39(), which performs an UI
animation in parallel.

58/100 · ThinMessage clarity
✓ Descriptive subject✓ Provides detailed explanatory context
Why it was queued
secret or key material
AI analysis · Informational 15/100

This commit is a straightforward internal code refactor. It introduces a new 'KeystoreHal' adapter so that the keystore code can borrow only the hardware subsystems it needs (memory, random number generator, secure chip) instead of borrowing the entire HAL, which also contains the user interface. The stated reason is to allow a UI animation to run in parallel while the device unlocks. There is no change to security logic, cryptography, or user-facing behavior.

Security candidatesalt: hash_data takes Memoryby Marko Bencun · b608856e · Feb 19, 2026 · 3 filesMessage 58 · ThinInformational 12Details
Commit message · Marko Bencun

salt: hash_data takes Memory

Change salt::hash_data to take &mut impl Memory instead of &mut impl Hal.

Update keystore callsites to pass hal.memory().

Reason: to not keep a mutable borrow of Hal Ui (part of Hal), which
will be used in parallel during unlock_bip39().

58/100 · ThinMessage clarity
✓ Descriptive subject✓ Provides detailed explanatory context
Why it was queued
secret or key materialboot or update path
AI analysis · Informational 12/100

This is a small internal code cleanup in the BitBox02 firmware's Rust code. It changes a helper function so it borrows only the memory/storage part of the hardware abstraction layer, rather than the whole hardware abstraction layer. The commit message says this is preparation for a future change where the user interface part of the hardware layer will be used at the same time during wallet unlocking. There is no direct security fix here and no vulnerability is described.

Lower-prioritymake rust_async_usb_on_request_hww use HalImplby Marko Bencun · b50d2164 · Feb 19, 2026 · 5 filesMessage 50 · ThinTriage 0Details
Commit message · Marko Bencun

make rust_async_usb_on_request_hww use HalImpl

Removes a reference of BitBox02Hal in bitbox02-rust.

50/100 · ThinMessage clarity
✓ Descriptive subject✓ Provides an explanatory body
Security candidatemove rust_keystore_get_u2f_seedby Marko Bencun · 51a87765 · Feb 19, 2026 · 2 filesMessage 25 · OpaqueInformational 15Details
Commit message · Marko Bencun

move rust_keystore_get_u2f_seed

25/100 · OpaqueMessage clarity
✓ Descriptive subject! Too few words to establish purpose! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
boot or update path
AI analysis · Informational 15/100

This commit simply moves a function from one Rust source file to another. The code itself is unchanged; only its location in the project changed. There is no indication of a security fix or vulnerability.

Security candidatemove rust_salt_hash_databy Marko Bencun · 51d18d53 · Feb 19, 2026 · 2 filesMessage 18 · OpaqueInformational 11Details
Commit message · Marko Bencun

move rust_salt_hash_data

18/100 · OpaqueMessage clarity
✓ Subject identifies a change! Too few words to establish purpose! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
boot or update path
AI analysis · Informational 11/100

This commit simply moves a function called rust_salt_hash_data from one Rust source file to another. The function itself is unchanged; only its location and the associated test code are reorganized. There is no indication this fixes or introduces a security problem.

Security candidatemove rust_communication_mode_*by Marko Bencun · 08dd169d · Feb 19, 2026 · 5 filesMessage 25 · OpaqueInformational 15Details
Commit message · Marko Bencun

move rust_communication_mode_*

25/100 · OpaqueMessage clarity
✓ Descriptive subject! Too few words to establish purpose! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
boot or update path
AI analysis · Informational 15/100

This commit is a routine code reorganization. It moves two C-callable Rust functions related to Bluetooth Low Energy (BLE) communication mode from one Rust source file to another, and adjusts which Rust crate features enable the relevant code. There is no visible change to what the code does, only where it lives in the project. No security issue is evident from the diff.

Lower-prioritymove u2f c api to bitbox02-rust-cby Marko Bencun · a23e2b6e · Feb 19, 2026 · 9 filesMessage 45 · ThinTriage 0Details
Commit message · Marko Bencun

move u2f c api to bitbox02-rust-c

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Security candidatemove bitbox02-rust C API that needs HAL to bitbox-rust-c - main_loopby Marko Bencun · 43f64c11 · Feb 19, 2026 · 3 filesMessage 65 · AdequateInformational 15Details
Commit message · Marko Bencun

move bitbox02-rust C API that needs HAL to bitbox-rust-c - main_loop

Decouple bitbox02-rust from bitbox02 dep, starting with main_loop.

65/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
Why it was queued
boot or update path
AI analysis · Informational 15/100

This commit is a straightforward internal code reorganization. It moves the C-compatible entry point for the device's main loop from one Rust module to another, so that the core Rust logic no longer directly depends on the hardware abstraction layer. There is no change to user-facing behavior, no bug fix, and no security-related content.