KS
← All projectsKeystone

Keystone 3 firmware

Open-source device firmware for Keystone 3 hardware wallets.

BitcoinHardware walletsNormal
Repository coverage

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

119security candidates294second-pass queue551AI analyses
9commits · 30 days
37commits · 60 days
279commits · 180 days
504commits · 365 days
Backfill bands
Aug 5 → Feb 6260 seen14 candidatesComplete
Feb 6 → Jun 6117 seen7 candidatesComplete
Jun 6 → Jul 639 seen4 candidatesComplete
Jul 6 → Aug 5115 seen4 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.

42/100 average clarity
35Strong · 80–100
72Adequate · 60–79
211Thin · 40–59
235Opaque · 0–39
39security 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.
soralit11634116248
Adam Tucker931193263
aaron30430248
Soralit959154
ww351268717652176026
willwang15215025
John Boyd626088
github-actions[bot]323076
Aaron Chen222068
Qkin-Keystone26126036
qkin12112050
Greg Pfeil414071
Analysis record

Published AI watches

Last scanned 45 minutes ago

Low 42 AI analysisMessage 58 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

Merge pull request #2293 from KeystoneHQ/merge/v3.1.0

This is a large firmware release merge (v3.1.0) for the Keystone 3 hardware wallet. The visible changes are mostly a major FreeRTOS kernel upgrade (from v10.x to v11.3.0), build-system improvements, and user-facing feature tweaks such as b…

FreeRTOS kernel major version upgrade (10.x -> 11.3.0) with MPU hardeningSwitch from ARM_CM4F non-MPU port to ARM_CM4_MPU portNew MPU configuration flags: configTOTAL_MPU_REGIONS=8, configENFORCE_SYSTEM_CALLS_FROM_KERNEL_ONLY=1, configALLOW_UNPRIVILEGED_CRITICAL_SECTIONS=0
0c0ae467by stone+59616−26981300 files
Vendor flagged security relevance
Informational 15 AI analysisMessage 48 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

chore: update ci (#2292)

This commit only updates a Git submodule pointer in a release-tracking file. The actual code change is a one-line pointer update from one commit hash to another in a file named 'keystone3-firmware-release'. There is no visible security-rel…

90d1c789by Soralit+1−11 file
No security note in commit
Informational 15 AI analysisMessage 40 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

chore: update ci

This commit only updates a Git submodule pointer (keystone3-firmware-release) from one commit hash to another. No source code, build scripts, CI configuration, or security-related files are changed in the visible diff. There is no evidence…

a7f6db29by Soralit+1−11 file
No security note in commit
Moderate 58 AI analysisMessage 28 · Opaque
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

release 3.1.0

This is a large firmware release commit (version 3.1.0) for the Keystone 3 hardware wallet. The most significant change visible in the diff is a major upgrade of the FreeRTOS real-time operating system kernel from version 10.x to 11.3.0, c…

FreeRTOS major version upgrade (10.x → 11.3.0) with MPU port enabledNew MPU sandbox task/runtime/validator files addedconfigENFORCE_SYSTEM_CALLS_FROM_KERNEL_ONLY=1 and configALLOW_UNPRIVILEGED_CRITICAL_SECTIONS=0 set
2b007a29by Soralit+59615−26980300 files
Vendor flagged security relevance
Informational 15 AI analysisMessage 76 · Adequate
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

Merge release v3.0.8 (#2291)

This commit is a routine version-bump merge for release v3.0.8. It only updates changelogs, a Git submodule pointer, and a build version number. There is no code change visible in the diff and nothing that suggests a security fix or vulner…

b5e8f9fcby github-actions[bot]+18−24 files
No security note in commit
Low 47 AI analysisMessage 76 · Adequate
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

Merge release v3.0.6 (#2290)

This firmware update adds support for Solana's new V1 transaction format and changes how oversized or malformed transaction details are displayed. The code introduces a dedicated parser for V1 messages with strict size and structure checks…

New parser enforces hard limits on V1 message fields and rejects malformed 0x81-prefix payloads instead of falling back to message signingCompute-budget instructions in V1 are explicitly ignored to prevent fee-display spoofingUI pagination change for large transaction details reduces truncation risk
87b78ae1by github-actions[bot]+564−2812 files
No security note in commit
Informational 15 AI analysisMessage 68 · Adequate
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

pin to new release config (#2285)

This commit only updates a Git submodule pointer (keystone3-firmware-release) from one commit hash to another. There is no code change visible in the diff, no description of what the new release config contains, and no security-related inf…

bc01c889by Aaron Chen+1−11 file
No security note in commit
Informational 15 AI analysisMessage 68 · Adequate
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

update the release repo (#2282)

This commit simply updates a Git submodule pointer for the project's release repository. There is no visible code change, no description of any security issue, and no indication this is anything other than a routine release-tracking update.

3ac7e802by Aaron Chen+1−11 file
No security note in commit
Moderate 59 AI analysisMessage 76 · Adequate
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

Merge release v3.0.4 (#2279)

This is a routine firmware release merge (v3.0.4) for the Keystone 3 hardware wallet. The bulk of the changes are UI tweaks, new feature support (Solana CLI, Lace Wallet), and hardening fixes found during an internal 'regular AI review'. T…

NUL-byte rejection in EIP-712 typed data parsingC-string conversion hardening against NUL bytesNull-pointer and UTF-8 validation added to UR parsing entry points
6ab436a2by github-actions[bot]+4960−548845 files
No security note in commit
Informational 13 AI analysisMessage 59 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

Build fix (#2273)

This commit is a routine build-system and code-formatting fix. It resets cached CMake build options so each build starts from known defaults, makes cbindgen header-generation failures visible instead of silently ignored, runs Rust formatti…

8568a657by stone wang+8−145 files
No security note in commit
Low 44 AI analysisMessage 36 · Opaque
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

limit file count (#2272)

This commit adds a hard cap on how many files the device will list from its SD card when loading multi-signature Bitcoin wallet data. It also tightens up null-pointer and length checks while scanning directories. The likely goal is to prev…

Unbounded directory listing now bounded by FATFS_MAX_FILE_NUMBERNull-pointer guards added for fileName, number, and path parametersLength checks added before copying filenames into caller buffers
de6879c3by stone wang+31−146 files
No security note in commit
Low 46 AI analysisMessage 73 · Adequate
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

Merge pull request #2268 from KeystoneHQ/regular-review-fix

This commit tightens which old-style Bitcoin-like transactions the Keystone hardware wallet will accept. It now rejects raw protobuf Bitcoin (BTC) and Dogecoin (DOGE) legacy UTXO transactions, allowing only Bitcoin Cash (BCH), Dash (DASH),…

Deprecation of raw-protobuf Bitcoin transaction handlingRejection of unsupported legacy UTXO variants at multiple entry pointsShift from coin_code string matching to protobuf variant matching for legacy path eligibility
1c70d3d4by Soralit+134−166 files
No security note in commit
Moderate 61 AI analysisMessage 62 · Adequate
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

fix: mark legacy utxo transaction as deprecated and disable btc legacy transactions

This commit disables the older, raw-protobuf signing path for Bitcoin and Dogecoin transactions in the Keystone 3 hardware wallet firmware. It keeps the legacy path active only for Bitcoin Cash (BCH), Dash (DASH), and Litecoin (LTC). The c…

Disables a legacy transaction parsing/signing code path for Bitcoin and DogecoinAdds explicit rejection checks before raw transaction parsing, checking, signing, and view routingSwitches discriminator from coin_code string to protobuf transaction variant to prevent spoofing
1fcd2346by Soralit+134−166 files
No security note in commit
Moderate 63 AI analysisMessage 58 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

Merge pull request #2264 from KeystoneHQ/regular-review-fix

This firmware update is a routine 'regular review fix' that hardens how the Keystone 3 hardware wallet checks and displays several cryptocurrency transactions before signing. The most important security changes are: (1) the sign button is …

Sign slider disabled until parse success prevents premature approvalArweave DataItem tag-count mismatch now rejected in pre-checkAvalanche transaction re-validated by type in pre-check, tampered asset ID rejected
87c7e7e2by Soralit+623−20423 files
No security note in commit
Moderate 67 AI analysisMessage 58 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

Merge pull request #2263 from KeystoneHQ/driver-optimize

This commit updates the hardware random number generator (TRNG) driver in a cryptocurrency hardware wallet firmware. It adds detection for a physical fault/attack signal from the TRNG and, if triggered, wipes the random data and aborts via…

Added TRNG fault/attack status detection (TRNG_IT_RNG0_ATTACK)Zeroization of sensitive local buffer and output buffer on TRNG failureAssertion abort on detected TRNG attack condition
a409efe0by Soralit+29−51 file
No security note in commit
Moderate 59 AI analysisMessage 18 · Opaque
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

driver optimzie

This commit updates the hardware random number generator (TRNG) driver in a cryptocurrency hardware wallet firmware. It adds detection for a physical tamper/attack signal from the TRNG chip and, if an attack is detected, wipes the random d…

New check of TRNG_IT_RNG0_ATTACK tamper/attack interrupt statusFailure path now zeroes output and local buffer before abortingAddition of ASSERT guards and secure memset_s usage
25f3d951by ww3512687+29−51 file
No security note in commit
Moderate 61 AI analysisMessage 57 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

fix: regular ai review fix

This firmware update for the Keystone 3 hardware wallet fixes several security and safety issues found during an internal AI-assisted review. The most important changes are: (1) the signing slider is now disabled until a transaction is ful…

Signing slider disabled until parse success prevents approval of malformed transactionsArweave DataItem tag-count mismatch rejected in pre-check before confirmation pageAvalanche transaction re-validated by type during fingerprint check
edbeae79by soralit+623−20423 files
No security note in commit
High 76 AI analysisMessage 58 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

Merge pull request #2262 from KeystoneHQ/regular-review-fix

This firmware update fixes several security and safety issues found during a regular AI-assisted code review. The most important changes are: (1) Zcash wallet data is now encrypted with a key derived from the wallet seed and a fresh random…

Zcash UFVK encryption key changed from sha256(password) to seed-derived BIP32 keyZcash UFVK IV changed from deterministic seed-derived value to fresh TRNG-generated IV per blobZcash UFVK storage format now uses magic-prefixed blob with embedded IV and rejects legacy blobs
04d942ffby Soralit+1852−52633 files
No security note in commit
High 80 AI analysisMessage 57 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

fix: regular AI review and fix

This firmware update fixes several security and safety issues found during an internal AI-assisted review. The most important changes are: (1) Zcash wallet data was being encrypted with a key derived from the user's login password and a fi…

Zcash UFVK encryption key changed from sha256(login password) to seed-derived BIP32 keyZcash UFVK IV changed from deterministic seed-derived value to fresh TRNG-generated IV per encryptionNew 'z2' UFVK blob format stores IV with ciphertext; legacy blobs rejected/migrated
776d8832by soralit+1852−52633 files
Vendor flagged security relevance
Moderate 59 AI analysisMessage 58 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

Merge pull request #2260 from KeystoneHQ/replace-lvgl-rand

This commit replaces the on-screen keyboard shuffle and a word-list randomizer so they use the device's true random-number generator (TRNG) instead of LVGL's weaker pseudo-random function. The change is defensive: it removes a source of pr…

Replaced pseudo-random generator with hardware TRNG in security-sensitive shuffle operationsRemoved fixed-range modulo reduction bias source (`lv_rand(0, 2048) % n`)Changed include from LVGL UI library to device TRNG driver in utility code
230abd77by Soralit+8−32 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.

AI review queuedfeat: upgrade sui sdkby soralit · 8c9aba41 · Apr 13, 2026 · 33 filesMessage 40 · ThinLow 35Details
Commit message · soralit

feat: upgrade sui sdk

40/100 · ThinMessage clarity
✓ Subject identifies a change✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: unusually broad changesecond-pass: security-sensitive path
AI analysis · Low 35/100

This commit is titled 'upgrade sui sdk' and mostly swaps the Sui library dependency to a newer, slimmer package, updates the Rust compiler version used across build scripts, and adjusts code to match the new library's types. There is one notable code change in the Sui request-checking function: it now immediately returns a success result and skips all actual validation. That looks like a temporary debugging change left in the commit, but it could allow an unverified Sui transaction to be approved. The commit does not describe itself as a security fix, and there is no disclosed vulnerability or researcher attribution.

AI review queuedfeat(zcash): pass firmware version in ZcashAccounts pairing QRby Adam Tucker · 7c477f86 · Apr 12, 2026 · 3 filesMessage 85 · StrongInformational 18Details
Commit message · Adam Tucker

feat(zcash): pass firmware version in ZcashAccounts pairing QR

Pass GetSoftWareVersionNumber() through the Zcash connect wallet
flow so the ZcashAccounts UR includes the device firmware version.
This mirrors what other chains (MetaMask, OKX, etc.) already do
via MultiAccounts.deviceVersion.

Requires the updated ur-registry crate with the device_version
field on ZcashAccounts (valargroup/keystone-sdk-rust@adam/zcash-accounts-device-version).

85/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 18/100

This commit adds the device's firmware version number to the QR code that a Keystone hardware wallet shows when pairing with Zcash wallet software. The change is informational only and matches what the wallet already does for other cryptocurrencies like MetaMask and OKX. There is no indication it fixes a security bug or introduces a security weakness.

AI review queuedfeat: add more info on bitcoin transaction parsingby soralit · 8611828f · Apr 10, 2026 · 6 filesMessage 62 · AdequateLow 35Details
Commit message · soralit

feat: add more info on bitcoin transaction parsing

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
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 35/100

This commit improves the Bitcoin transaction review screen on Keystone hardware wallets. It adds clearer warnings and labels when a transaction uses unusual signature modes (SIGHASH_SINGLE or SIGHASH_NONE) or when the fee cannot be calculated exactly (for example, with ANYONE_CAN_PAY inputs). It also fixes a small display issue where line breaks in help text were shown as raw '\r\n' characters. Overall, this is a defensive user-interface improvement rather than an attack.

AI review queuedfeat: add input ref qrby soralit · c977c08e · Apr 10, 2026 · 10 filesMessage 50 · ThinInformational 18Details
Commit message · soralit

feat: add input ref qr

50/100 · ThinMessage clarity
✓ Subject identifies a change✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
signing or wallet pathparser or protocol pathsecond-pass: security-sensitive path
AI analysis · Informational 18/100

This commit adds a new user-interface feature for Bitcoin transactions on the Keystone 3 hardware wallet. When a transaction input only provides a 'witness UTXO' (a lightweight proof of the coin being spent), the device now shows a warning asking the user to verify the input value, and offers a QR code that links to the transaction on a public blockchain explorer (mempool.space). This is a defensive UX improvement, not an attack or vulnerability fix. It helps users spot potentially fraudulent input amounts but does not change the underlying signing logic.

AI review queuedfeat(zcash): stamp firmware version into signed PCZTsby Adam Tucker · d7106d69 · Apr 9, 2026 · 6 filesMessage 85 · StrongInformational 19Details
Commit message · Adam Tucker

feat(zcash): stamp firmware version into signed PCZTs

Every signed PCZT response now carries
global.proprietary["keystone:fw_version"] = [major, minor, build]
so wallets can detect the Keystone firmware version after scanning
the signed QR and gate features accordingly.

The firmware does not enforce any minimum version — it just reports
its own. The wallet is the authority on version policy.

- build.rs reads src/config/version.h at compile time to generate
the KEYSTONE_FW_VERSION const (no manual sync needed)
- sign_pczt stamps the version via the pczt Updater role before
the Redactor strips witness data
- Simulator-only: replace the synchronous AsyncExecute stub with a
proper FIFO queue so the cypherpunk simulator doesn't crash during
wallet onboarding
- Simulator-only: guard KbTextAreaHandler against freed objects
during LVGL group cleanup

85/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
Why it was queued
signing or wallet pathsecond-pass: broader security terminologysecond-pass: security-sensitive path
AI analysis · Informational 19/100

This commit adds a firmware version stamp to Zcash signed transaction QR codes so wallets can tell which Keystone firmware version produced the signature. It also fixes two simulator-only stability bugs: one in the async task queue and one in a keyboard text-area handler. There is no direct security vulnerability in the diff; the changes are defensive or feature additions.

AI review queuedadd sol icon in connect keystone nexusby Qkin-Keystone · 86490bcf · Apr 9, 2026 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · Qkin-Keystone

add sol icon in connect keystone nexus

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 simply adds the Solana (SOL) coin icon to two lists of icons shown on the 'connect wallet' screen for the Keystone Nexus wallet. It is a cosmetic UI change with no security relevance.

AI review queuedadd sol nexus supportby Qkin-Keystone · a9d31cb9 · Apr 9, 2026 · 2 filesMessage 28 · OpaqueInformational 15Details
Commit message · Qkin-Keystone

add sol nexus support

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: opaque commit messagesecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit adds support for two Solana (SOL) public key derivation paths when connecting the Keystone hardware wallet to compatible software wallets via the 'Keystone Connect' feature. It is a routine feature addition and does not contain any obvious security fix or vulnerability.

AI review queuedupdate rust code formatby Qkin-Keystone · a53b1778 · Apr 9, 2026 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · Qkin-Keystone

update rust code format

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: opaque commit messagesecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit only reformats Rust source code. It moves a comment onto its own line and adjusts blank lines. No program logic, calculations, or security behavior changed.

AI review queuedupdate review bug and remove useless commentsby Qkin-Keystone · bed968ee · Apr 9, 2026 · 4 filesMessage 45 · ThinLow 44Details
Commit message · Qkin-Keystone

update review bug and remove useless comments

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

This commit fixes a logic bug in how Tron transactions are routed based on QR code type. Previously the firmware treated 'TronSignRequest' as if it were a Keystone-style request and vice versa, which could send the wrong data to the wrong parser/signer. It also fixes a floating-point precision bug in how token amounts are formatted for display, replacing an unsafe logarithm calculation with a loop-based decimal count. A test helper and some comments were removed, but no security disclosure or researcher credit is present.

AI review queuedremove useless dependencyby Qkin-Keystone · 5634d954 · Apr 9, 2026 · 3 filesMessage 35 · OpaqueLow 35Details
Commit message · Qkin-Keystone

remove useless dependency

35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body
Why it was queued
second-pass: broader security terminologysecond-pass: opaque commit message
AI analysis · Low 35/100

This commit removes unused serialization libraries from the Tron app and, more importantly, changes how a missing wallet derivation path is handled. Previously, a missing path was silently replaced with an empty default. Now the code returns an explicit error. This is a defensive hardening change that prevents the signing code from continuing with an invalid or unexpected path.

AI review queuedupdate reviewby Qkin-Keystone · 4fb3a5e8 · Apr 9, 2026 · 2 filesMessage 18 · OpaqueLow 36Details
Commit message · Qkin-Keystone

update review

18/100 · OpaqueMessage clarity
✓ Subject identifies a change! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: opaque commit messagesecond-pass: security-sensitive path
AI analysis · Low 36/100

This commit updates Tron-related code in a hardware wallet firmware. It changes how decimal precision is calculated for token amounts, removes an 'unsupported transaction type' error fallback, and broadens the accepted derivation path prefixes. These are code-quality and review changes, but they could have subtle security implications if the new precision logic mishandles edge cases or if removing the catch-all error allows unexpected transaction types to be signed.

AI review queuedupdate image hashby Qkin-Keystone · 67c98a5b · Apr 9, 2026 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · Qkin-Keystone

update image hash

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
documentation-only discountsecond-pass: opaque commit message
AI analysis · Informational 15/100

This commit simply updates a stored hash value in a text file used for tracking image assets. There is no code change, no bug fix, and no visible security relevance in the commit itself or the supplied materials.

AI review queuedfix review bugby Qkin-Keystone · 422ba32f · Apr 9, 2026 · 3 filesMessage 28 · OpaqueLow 38Details
Commit message · Qkin-Keystone

fix review bug

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Low 38/100

This commit fixes several bugs in the Tron (TRX) signing flow of a cryptocurrency hardware wallet firmware. The changes remove an unused import, eliminate a catch-all error branch that could hide unsupported transaction types, add a missing master-fingerprint lookup, replace a hardcoded seed buffer size with a named constant, and harden string-copy helpers against NULL pointers and buffer overruns. The most user-visible risk is that the old code could crash or leak memory when displaying Tron personal-message data, and the missing master-fingerprint call could have produced incomplete or incorrect signing responses.

AI review queuedupdate urTypeby Qkin-Keystone · 07b20298 · Apr 9, 2026 · 1 fileMessage 18 · OpaqueInformational 12Details
Commit message · Qkin-Keystone

update urType

18/100 · OpaqueMessage clarity
✓ Subject identifies a change! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 12/100

This commit is a small cleanup in the Tron (TRX) transaction handling code for the Keystone 3 hardware wallet. It replaces a hardcoded number (7) with a named constant (KeystoneSignRequest) and removes some debug print statements. There is no direct evidence in the commit that this fixes a security vulnerability.

AI review queuedadd test case for errorby qkin · 7ea18bf2 · Apr 9, 2026 · 2 filesMessage 48 · ThinInformational 15Details
Commit message · qkin

add test case for error

48/100 · ThinMessage clarity
✓ Subject identifies a change✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit only adds and updates test code for error handling in the Tron app. It expands unit tests to check that various error types convert correctly and removes an unnecessary `mut` keyword from a test variable. There are no changes to production code or security-sensitive behavior.

AI review queuedfix fmtby Qkin-Keystone · a219cf37 · Apr 9, 2026 · 4 filesMessage 0 · OpaqueInformational 15Details
Commit message · Qkin-Keystone

fix fmt

0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: opaque commit messagesecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit only reformats Rust source code in the Tron app. It removes blank lines, reorders imports, and adjusts line breaks to match the project's style guide. No program logic, calculations, or security behavior was changed.

AI review queuedupdate format and test caseby Qkin-Keystone · e4808e9b · Apr 9, 2026 · 3 filesMessage 55 · ThinInformational 14Details
Commit message · Qkin-Keystone

update format and test case

55/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 14/100

This commit only adds and updates unit tests for the Tron app in the Keystone 3 firmware. It does not change any production code logic. The tests cover signing, parsing, address generation, and edge cases for transaction formatting. There is no indication of a security fix or vulnerability being addressed.

AI review queuedadd memo for tron swapby qkin · 8fe4976f · Apr 9, 2026 · 1 fileMessage 38 · OpaqueInformational 18Details
Commit message · qkin

add memo for tron swap

38/100 · OpaqueMessage clarity
✓ Subject identifies a change✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: opaque commit messagesecond-pass: security-sensitive path
AI analysis · Informational 18/100

This commit adds support for including a text 'memo' field on Tron cryptocurrency swap transactions. The memo is read from an incoming transaction and later copied into the raw transaction data when building a new transaction. There is no obvious security bug in the diff itself, but the change touches how transaction data is parsed and reconstructed, which is a sensitive area in hardware wallet firmware.

AI review queuedfix rust code formatby Qkin-Keystone · d68dcd40 · Apr 9, 2026 · 3 filesMessage 28 · OpaqueInformational 15Details
Commit message · Qkin-Keystone

fix rust code format

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 only reformats Rust source code and reorders import statements. There are no functional changes, no bug fixes, and no security-related modifications.

AI review queuedfix fmt errorby qkin · 5185c315 · Apr 9, 2026 · 4 filesMessage 28 · OpaqueInformational 15Details
Commit message · qkin

fix fmt error

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 is purely a code formatting cleanup. It reorders import statements alphabetically, removes extra blank lines, and fixes indentation and spacing. There are no functional changes to how the Keystone 3 firmware handles cryptocurrency transactions or private keys.

AI review queuedstyle: fix formatting via rustfmtby qkin · 425e2bf0 · Apr 9, 2026 · 5 filesMessage 45 · ThinInformational 15Details
Commit message · qkin

style: fix formatting via rustfmt

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 purely a code-formatting cleanup using rustfmt. It adjusts whitespace, line breaks, and removes blank lines in Tron-related Rust files. The only non-cosmetic-looking change is adding a `fragment_len` parameter to a C-exported signing function, but the diff shows it is simply passed through to an existing encoder call and does not alter security logic.

AI review queuedfeat(nufi-tron): add unit test caseby qkin · 8a7e4621 · Apr 9, 2026 · 3 filesMessage 67 · AdequateInformational 15Details
Commit message · qkin

feat(nufi-tron): add unit test case

67/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit only adds new automated test cases for the Tron app and removes an unused helper function. It does not change any production behavior, fix a bug, or alter how the device handles real transactions. There is nothing here that would let an attacker steal funds or bypass security.

AI review queuedfeat(nufi-tron): fix support keystone-nexus txby qkin · 7c125dd6 · Apr 9, 2026 · 2 filesMessage 57 · ThinLow 26Details
Commit message · qkin

feat(nufi-tron): fix support keystone-nexus tx

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 26/100

This commit adds support for a new Tron transaction format used by the NuFi/Keystone Nexus wallet integration. It changes how the firmware parses, validates, and signs certain Tron QR-code transactions, and it adjusts how unknown TRC-20 token amounts are converted for display. There is no direct evidence in the commit that this fixes a security vulnerability; it reads as a feature/compatability update.

AI review queuedfeat(nufi-tron): update check/parse/sign funcby qkin · 1fda8b74 · Apr 9, 2026 · 5 filesMessage 57 · ThinLow 48Details
Commit message · qkin

feat(nufi-tron): update check/parse/sign func

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 48/100

This commit refactors how the Keystone 3 hardware wallet handles TRON (TRX) transactions. It switches the signing pipeline from accepting a custom JSON transaction description to accepting a raw protobuf transaction, and it tightens the HD path validation. The change is mostly a feature update for NuFi TRON support, but it also removes some address-derivation checks that previously ensured the transaction's 'from' address matched the wallet's key. That removal could, in theory, make it easier for a malicious companion app to ask the device to sign a transaction that does not belong to the wallet, though the companion app still needs to pass the wallet's master fingerprint and xpub checks. There is no explicit security bug or exploit shown in the diff, but the change is security-relevant because it alters the trust boundary between the host and the device.

AI review queuedadd test caseby Qkin-Keystone · c55d345e · Apr 9, 2026 · 2 filesMessage 38 · OpaqueInformational 15Details
Commit message · Qkin-Keystone

add test case

38/100 · OpaqueMessage clarity
✓ Subject identifies a change✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100

This commit only adds two new unit tests for Tron personal-message handling and removes two old Tron standard-request test commands from the firmware's test harness. There is no change to production code, no bug fix, and no security-related behavior change.