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
7commits · 30 days
36commits · 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 30 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 queuedmodify 2.3.0 changelogby bianminyan · f73e351f · Dec 2, 2025 · 1 fileMessage 38 · OpaqueInformational 15Details
Commit message · bianminyan

modify 2.3.0 changelog

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

This commit only changes one line in a Chinese-language changelog, correcting the heading 'Bug Fixes' to 'Bug 修复' (Chinese for 'Bug Fixes'). No code, configuration, or documentation with security implications was modified.

AI review queuedmodify 2.3.0 changelogby bianminyan · 4cbe1211 · Dec 1, 2025 · 2 filesMessage 38 · OpaqueInformational 15Details
Commit message · bianminyan

modify 2.3.0 changelog

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

This commit only edits the formatting and wording of a product changelog. It adds blank lines and changes headings like 'BTC-ONLY' to 'BTC Only' and 'CYPHERPUNK' to 'Cypherpunk'. No code, configuration, or security-related content was changed.

AI review queuedadd 2.3.0 cahngelogby bianminyan · 67d1bf9e · Nov 28, 2025 · 3 filesMessage 38 · OpaqueInformational 15Details
Commit message · bianminyan

add 2.3.0 cahngelog

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

This commit only adds a new version entry to the changelog files and bumps the firmware version number from 2.2.20 to 2.3.0. It does not change any executable code, cryptographic logic, or security-sensitive behavior. There is no security issue in this commit itself.

AI review queuedchore: optimize test and lintsby soralit · 33cf6275 · Nov 28, 2025 · 47 filesMessage 67 · AdequateInformational 15Details
Commit message · soralit

chore: optimize test and lints

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: unusually broad changesecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit is a routine maintenance change titled 'chore: optimize test and lints'. It updates code-coverage thresholds in CI workflows, adds Rust lint configuration for a nightly coverage feature, removes an obsolete nightly Rust feature flag, and adjusts some test data and test cases. There is no indication of a security fix or vulnerability being addressed.

AI review queuedconnect wallet crashby ww3512687 · 39fb015c · Nov 28, 2025 · 1 fileMessage 28 · OpaqueLow 36Details
Commit message · ww3512687

connect wallet crash

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

This commit fixes a software crash in the wallet connection screen of the Keystone 3 hardware wallet firmware. The code now checks whether a selected coin/wallet type was found before continuing. Without this check, the device could crash when connecting to a wallet it does not recognize, likely causing a denial of service rather than theft of funds.

AI review queuedfmtby ww3512687 · caaca11d · Nov 27, 2025 · 1 fileMessage 0 · OpaqueInformational 15Details
Commit message · ww3512687

fmt

0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100

This commit only reformats two lines of Rust source code. It does not change what the code does, only how it is visually laid out. There is no security relevance.

AI review queuedfix btc sign messageby ww3512687 · c5f8986c · Nov 27, 2025 · 13 filesMessage 28 · OpaqueLow 27Details
Commit message · ww3512687

fix btc sign message

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

This commit fixes how the Keystone hardware wallet handles Bitcoin 'sign message' QR codes. Previously, many malformed or unsupported message formats were reported as 'unsupported transaction,' which could mislead users. The change introduces a clearer 'Invalid Message' error and adds a new Japanese font glyph. It is primarily a user-experience and error-handling improvement, not a fix for a known exploit.

AI review queuedfix multisigby ww3512687 · 737d1a7c · Nov 27, 2025 · 1 fileMessage 18 · OpaqueLow 42Details
Commit message · ww3512687

fix multisig

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

This commit fixes a Bitcoin multisig signing flow in the Keystone 3 hardware wallet firmware. Previously, when a transaction did not need a signature, the code exported the PSBT but did not properly handle the result object; when it did need a signature, it signed but skipped updating the UI status and freeing the result. The patch unifies both branches so the result is always processed and cleaned up. It also wraps some legacy Keystone transaction code in a WEB3_VERSION compile guard, likely preventing it from running on Bitcoin-only firmware builds where it could behave incorrectly.

AI review queuedbluewallet add taprootby ww3512687 · fc22294d · Nov 27, 2025 · 9 filesMessage 28 · OpaqueInformational 20Details
Commit message · ww3512687

bluewallet add taproot

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

This commit refactors how the Keystone hardware wallet exports Bitcoin account data (extended public keys) when pairing with BlueWallet and other apps. Previously BlueWallet received only three key types (Native SegWit, SegWit, Legacy). Now it uses the same function as Sparrow/Zeus/UniSat, which also includes the Taproot key type. This is a feature addition, not a vulnerability fix, and does not change how secrets are handled.

AI review queuedfix zcash unwrapby ww3512687 · 7cee191e · Nov 27, 2025 · 1 fileMessage 28 · OpaqueModerate 57Details
Commit message · ww3512687

fix zcash unwrap

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

This commit changes two Zcash-related functions in the Keystone hardware wallet firmware so that the wallet seed is no longer treated as a mutable buffer and is no longer explicitly wiped (zeroized) from memory after use. The title says 'fix zcash unwrap,' suggesting the change was made to resolve a Rust panic caused by calling .unwrap() or by a mutability mismatch. Removing zeroize reduces memory cleanup of the secret seed, which could leave sensitive material in memory longer than intended. However, the diff alone does not prove an exploitable vulnerability; it may simply trade one bug for another.

AI review queuedfix buildby ww3512687 · 32fdbb2c · Nov 27, 2025 · 1 fileMessage 0 · OpaqueInformational 15Details
Commit message · ww3512687

fix build

0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100

This commit adds a single missing function declaration (PreparePublicKeys) in a Bitcoin UI source file. It is a straightforward build fix with no visible security relevance.

AI review queuedfmtby ww3512687 · f88d5173 · Nov 26, 2025 · 1 fileMessage 0 · OpaqueInformational 15Details
Commit message · ww3512687

fmt

0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! 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 change. It only rewrites two test assertions in a Rust file so they fit on single lines instead of being split across multiple lines. No logic, behavior, or security checks were changed.

AI review queuedfix ada slip39 addressby ww3512687 · dc204578 · Nov 19, 2025 · 1 fileMessage 28 · OpaqueModerate 54Details
Commit message · ww3512687

fix ada slip39 address

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

This commit changes how Cardano public keys are derived for SLIP39 wallets. It switches from a mutable, zeroed-out copy of the wallet seed to a non-mutable, non-zeroed copy. The change removes a safety feature that normally wipes the seed from memory after use, which could leave sensitive seed material in memory longer than intended. However, the commit message only says 'fix ada slip39 address' and gives no security explanation, so the exact risk is unclear from the diff alone.

AI review queuedfix slip39 error noticeby ww3512687 · 1cc7a23e · Nov 18, 2025 · 1 fileMessage 28 · OpaqueLow 48Details
Commit message · ww3512687

fix slip39 error notice

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

This commit fixes a logic bug in the Keystone hardware wallet's SLIP39 backup phrase handling. The original code used 'OR' instead of 'AND' when checking word counts, which made the validation always fail for valid 20-word and 33-word SLIP39 phrases. This would have shown users an incorrect error notice and blocked legitimate wallet recovery or setup operations. It is a bug fix that improves reliability, but it does not appear to allow theft of funds on its own.

AI review queueddelete unused codeby ww3512687 · b21c5306 · Nov 18, 2025 · 2 filesMessage 28 · OpaqueInformational 15Details
Commit message · ww3512687

delete unused code

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 simply removes four unused helper functions for handling JSON data from a utility file. There is no change to active behavior, no bug fix, and no security-relevant change.

AI review queuedfix assertby ww3512687 · 8d0dcc32 · Nov 18, 2025 · 1 fileMessage 0 · OpaqueLow 39Details
Commit message · ww3512687

fix assert

0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Low 39/100

This commit changes a password-length check from 'greater than' to 'greater than or equal to' the minimum allowed length. In the original code, a password exactly equal to the minimum length would trigger an assertion failure, which could crash the firmware or block wallet operations. The fix allows passwords of exactly the minimum length to be accepted. This is a correctness fix for an input-validation boundary condition, but the commit message gives no indication it was treated as a security issue by the vendor.

AI review queuedfix crashby ww3512687 · be46a2db · Nov 17, 2025 · 1 fileMessage 0 · OpaqueLow 30Details
Commit message · ww3512687

fix crash

0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
second-pass: broader security terminologysecond-pass: opaque commit message
AI analysis · Low 30/100

This commit fixes a memory-freeing mismatch in the Keystone 3 hardware wallet firmware. The code was freeing a memory block using the wrong allocator (EXT_FREE instead of SRAM_FREE). Such mismatches can corrupt memory and cause the device to crash or behave unpredictably. The commit title says 'fix crash,' but no further details are provided, and there is no independent evidence that this is exploitable for security harm rather than just a stability bug.

AI review queuedfmtby ww3512687 · 6837ece1 · Nov 17, 2025 · 1 fileMessage 0 · OpaqueInformational 15Details
Commit message · ww3512687

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 whitespace in test code and updates one test's expected value for a contract-creation transaction's destination address from an empty '0x' to the zero address. It does not change any production code or fix a security issue.

AI review queuedseed clearby ww3512687 · 7f3983f3 · Nov 17, 2025 · 1 fileMessage 0 · OpaqueModerate 59Details
Commit message · ww3512687

seed clear

0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Moderate 59/100

This commit updates Ethereum signing code in a cryptocurrency hardware wallet firmware so that the secret seed (master key) is wiped from memory immediately after use. It also replaces several 'unwrap' crash points with proper error handling. The main security improvement is reducing the window where the seed sits in memory after signing, which could lower the risk of an attacker reading it from device RAM. However, the patch is partial: it only covers three Ethereum signing functions and does not appear to add zeroize to all signing paths in the firmware.

AI review queuedrefactor: wallet connectionby soralit · be07cbe3 · Nov 17, 2025 · 4 filesMessage 47 · ThinInformational 11Details
Commit message · soralit

refactor: wallet connection

47/100 · ThinMessage clarity
✓ Descriptive subject✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 11/100

This commit is a code cleanup that removes a dedicated imToken wallet connection module and routes imToken through the existing MetaMask-style connection code. It also adds the ability to include the wallet name when generating connection data for MetaMask-compatible wallets. There is no direct evidence in the commit that this fixes a security vulnerability.

AI review queuedreview forget passwordby ww3512687 · fa406a81 · Nov 17, 2025 · 1 fileMessage 28 · OpaqueLow 46Details
Commit message · ww3512687

review forget password

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

This commit adds cleanup steps when the 'forget password' screen is closed. It now wipes a PIN buffer from memory and clears a secret cache. The change is defensive: it reduces the chance that a leftover PIN or secret remains in memory after the user leaves the password-recovery flow. The commit message does not say this fixes a specific vulnerability, and no public references were supplied.

AI review queuedreview data flowby ww3512687 · 2284b558 · Nov 17, 2025 · 10 filesMessage 28 · OpaqueLow 45Details
Commit message · ww3512687

review data flow

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

This commit is a cleanup and hardening pass on how the Keystone 3 hardware wallet handles camera images, SD card files, and debug/test code. The most user-relevant change is that file-reading functions now refuse to load very large files from the SD card, which closes a path where an oversized file could exhaust device memory. Several debug helpers that could print sensitive file contents or cryptographic hashes over the serial port, plus a leftover firmware-copy routine, are removed. A camera preview buffer is also made safer by freeing it on re-init instead of leaking memory. The commit message is vague ('review data flow') and does not call this a security fix, so the security relevance is inferred from the code changes rather than stated by the vendor.

AI review queuedreview ethby ww3512687 · e053c1f1 · Nov 17, 2025 · 16 filesMessage 0 · OpaqueLow 35Details
Commit message · ww3512687

review eth

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

This commit is a code review and cleanup of Ethereum-related code in the Keystone 3 hardware wallet firmware. It adds many unit tests, fixes a typo in a function name (sign_fee_markey_tx → sign_fee_market_tx), replaces some static variables with constants, and fixes a few minor logic issues. The most user-visible change is adding a check for an SD card before trying to load external contract data, and fixing memory leaks where global pointers could be overwritten without freeing the old data. There is no clear evidence of an active security vulnerability being patched, but the memory management and contract-data-loading changes are defensive improvements.

AI review queuedreivew connect walletby ww3512687 · 5da7efe7 · Nov 17, 2025 · 30 filesMessage 28 · OpaqueLow 27Details
Commit message · ww3512687

reivew connect wallet

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: unusually broad changesecond-pass: security-sensitive path
AI analysis · Low 27/100

This commit is a large code cleanup and refactoring of the wallet connection feature in the Keystone 3 firmware. It removes many duplicated Rust modules and C functions that generated QR-code sync data for specific wallets (Aptos, Solana, Sui, XBull, Keystone companion app, etc.) and replaces them with a single generic function. It also fixes some memory leaks by adding SRAM_FREE calls and removes unused/commented-out code. There is no direct evidence in the commit of a security vulnerability being fixed; it appears to be a maintenance refactor.

AI review queuedfmtby ww3512687 · a5ee571b · Nov 17, 2025 · 1 fileMessage 0 · OpaqueInformational 15Details
Commit message · ww3512687

fmt

0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! 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 one import alphabetically and breaks several long lines into shorter ones. No logic, behavior, or security checks were changed.