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

Security candidateMerge pull request #2293 from KeystoneHQ/merge/v3.1.0by stone · 0c0ae467 · Sep 18, 2026 · 300 filesMessage 58 · ThinLow 42Details
Commit message · stone

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

Merge release v3.1.0

58/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Links an issue, advisory, or supporting reference! No meaningful explanatory body
Why it was queued
cryptography-sensitive pathsigning or wallet pathboot or update pathauthentication pathparser or protocol pathmerge-commit duplicate discount
AI analysis · Low 42/100

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 better IOTA/Cardano transaction parsing and setup reminders. The vendor changelog explicitly says 'Enhanced security policies' and 'Optimized USB functionality,' but no specific vulnerability, CVE, or security bug is described in the commit message or diff. Because the change set is enormous and the actual security-sensitive code differences are not isolated, this commit cannot be confidently classified as a fix for a known exploitable flaw, nor can it be called purely benign. It looks like a routine feature/security hardening release.

Security candidatechore: update ci (#2292)by Soralit · 90d1c789 · Sep 17, 2026 · 1 fileMessage 48 · ThinInformational 15Details
Commit message · Soralit

chore: update ci (#2292)

48/100 · ThinMessage clarity
✓ Subject identifies a change✓ Uses a recognizable type or scope✓ Links an issue, advisory, or supporting reference! No meaningful explanatory body
Why it was queued
boot or update path
AI analysis · Informational 15/100

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-relevant change in the diff itself, and no description of what the submodule update contains. It appears to be a routine continuous integration or release housekeeping task.

Security candidatechore: update ciby Soralit · a7f6db29 · Sep 17, 2026 · 1 fileMessage 40 · ThinInformational 15Details
Commit message · Soralit

chore: update ci

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

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 of a security fix or vulnerability.

Security candidaterelease 3.1.0by Soralit · 2b007a29 · Sep 17, 2026 · 300 filesMessage 28 · OpaqueModerate 58Details
Commit message · Soralit

release 3.1.0

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
cryptography-sensitive pathsigning or wallet pathboot or update pathauthentication pathparser or protocol path
AI analysis · Moderate 58/100

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, combined with enabling the ARM Cortex-M4 Memory Protection Unit (MPU) and adding a new 'MPU sandbox' subsystem. The changelog describes these as 'enhanced security policies' and 'optimized USB functionality,' but the commit itself does not disclose a specific vulnerability or credit an external researcher. Because the patch is enormous (300 files, tens of thousands of changed lines) and only a small portion of the diff is available, it is impossible to tell from this material alone whether the changes fix a known security flaw or simply harden the architecture. The security relevance is therefore plausible but unverified.

Security candidateMerge release v3.0.8 (#2291)by github-actions[bot] · b5e8f9fc · Sep 17, 2026 · 4 filesMessage 76 · AdequateInformational 15Details
Commit message · github-actions[bot]

Merge release v3.0.8 (#2291)

* chore: update ci

* chore: update version

---------

Co-authored-by: Soralit <44085950+soralit@users.noreply.github.com>

76/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
Why it was queued
boot or update pathmerge-commit duplicate discount
AI analysis · Informational 15/100

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

AI review queuedMerge release v3.0.6 (#2290)by github-actions[bot] · 87b78ae1 · Sep 15, 2026 · 12 filesMessage 76 · AdequateLow 47Details
Commit message · github-actions[bot]

Merge release v3.0.6 (#2290)

* feat(solana): support V1 transaction messages

* chore: update ci

* fix(solana): paginate transaction details for large messages

* chore: update version and changelog

---------

Co-authored-by: Soralit <44085950+soralit@users.noreply.github.com>

76/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
Why it was queued
parser or protocol pathmerge-commit duplicate discountsecond-pass: security-sensitive path
AI analysis · Low 47/100

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, and it prevents malformed V1 messages from being silently treated as ordinary text messages. It also paginates long transaction detail screens so users can scroll through large transactions instead of the UI breaking or truncating.

Security candidatepin to new release config (#2285)by Aaron Chen · bc01c889 · Sep 8, 2026 · 1 fileMessage 68 · AdequateInformational 15Details
Commit message · Aaron Chen

pin to new release config (#2285)

Co-authored-by: aaronisme <aarondongchen@gmail.com>

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body✓ Links an issue, advisory, or supporting reference
Why it was queued
access controlboot or update path
AI analysis · Informational 15/100

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 information provided.

Security candidateupdate the release repo (#2282)by Aaron Chen · 3ac7e802 · Aug 24, 2026 · 1 fileMessage 68 · AdequateInformational 15Details
Commit message · Aaron Chen

update the release repo (#2282)

Co-authored-by: aaronisme <aarondongchen@gmail.com>

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body✓ Links an issue, advisory, or supporting reference
Why it was queued
boot or update path
AI analysis · Informational 15/100

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.

Security candidateMerge release v3.0.4 (#2279)by github-actions[bot] · 6ab436a2 · Aug 12, 2026 · 45 filesMessage 76 · AdequateModerate 59Details
Commit message · github-actions[bot]

Merge release v3.0.4 (#2279)

* fix: regular AI review and fix

* fix: solana transaction scroll

* fix: sol ui fix

* fix: eth ui font

* fix: fix UI issues (#2274)

* fix: fix UI issues (#2275)

* Regular review fix (#2276)

* fix: fix UI issues

* chore: fix font

* add 3.0.4 changelog (#2277)

* fix build (#2278)

---------

Co-authored-by: soralit <soralitria@gmail.com>
Co-authored-by: bianminyan <126669324+bianminyan@users.noreply.github.com>
Co-authored-by: stone wang <35837388+ww3512687@users.noreply.github.com>

76/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
Why it was queued
cryptography-sensitive pathsigning or wallet pathboot or update pathparser or protocol pathmerge-commit duplicate discount
AI analysis · Moderate 59/100

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'. The security-relevant hardening includes: rejecting NUL bytes inside Ethereum EIP-712 typed-data messages, validating NUL bytes before converting Rust strings to C strings, adding null/UTF-8 checks when parsing UR payloads, replacing unsafe strcpy/sprintf with bounded versions, and fixing a format-string bug in a debug LCD print function. There is no public disclosure or CVE tied to this commit, and the vendor does not describe it as a security release.

AI review queuedBuild fix (#2273)by stone wang · 8568a657 · Aug 7, 2026 · 5 filesMessage 59 · ThinInformational 13Details
Commit message · stone wang

Build fix (#2273)

* chore(build): reset cached CMake options between builds

* chore(build): surface cbindgen generation failures

* cargo fmt

* fix: build

---------

Co-authored-by: Soralit <soralitria@gmail.com>

59/100 · ThinMessage clarity
✓ Subject identifies a change✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 13/100

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 formatting, and adds a missing import for tests. There is no indication of a security vulnerability being fixed.

AI review queuedlimit file count (#2272)by stone wang · de6879c3 · Aug 7, 2026 · 6 filesMessage 36 · OpaqueLow 44Details
Commit message · stone wang

limit file count (#2272)

36/100 · OpaqueMessage clarity
✓ Subject identifies a change✓ Links an issue, advisory, or supporting reference! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: opaque commit messagesecond-pass: security-sensitive path
AI analysis · Low 44/100

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 prevent a malicious or accidentally overstuffed SD card from crashing the wallet or causing memory corruption when it reads a huge directory listing.

AI review queuedMerge pull request #2268 from KeystoneHQ/regular-review-fixby Soralit · 1c70d3d4 · Aug 7, 2026 · 6 filesMessage 73 · AdequateLow 46Details
Commit message · Soralit

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

fix: mark legacy utxo transaction as deprecated and disable btc legac…

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body✓ Links an issue, advisory, or supporting reference
Why it was queued
signing or wallet pathmerge-commit duplicate discountsecond-pass: security-sensitive path
AI analysis · Low 46/100

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), and Litecoin (LTC) to keep using that older path. Bitcoin must now go through the newer PSBT route. The change is framed as a deprecation/hardening fix rather than a response to a known exploit.

AI review queuedfix: mark legacy utxo transaction as deprecated and disable btc legacy transactionsby Soralit · 1fcd2346 · Aug 7, 2026 · 6 filesMessage 62 · AdequateModerate 61Details
Commit message · Soralit

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

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 · Moderate 61/100

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 change is described as a deprecation and hardening measure, not as a fix for a specific reported vulnerability. The patch adds rejection checks at multiple entry points (parsing, checking, signing, and QR-code type detection) so that unsupported legacy UTXO transactions fail with a clear error message instead of being processed.

AI review queuedMerge pull request #2264 from KeystoneHQ/regular-review-fixby Soralit · 87c7e7e2 · Aug 7, 2026 · 23 filesMessage 58 · ThinModerate 63Details
Commit message · Soralit

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

fix: regular ai review fix

58/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Links an issue, advisory, or supporting reference! No meaningful explanatory body
Why it was queued
signing or wallet pathparser or protocol pathmerge-commit duplicate discountsecond-pass: unusually broad changesecond-pass: security-sensitive path
AI analysis · Moderate 63/100

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 now disabled until transaction parsing succeeds, so a malformed transaction cannot be accidentally approved; (2) Arweave/AO data-item transactions are rejected during the pre-check if their tag metadata is malformed; (3) Avalanche transactions are fully re-parsed in the pre-check, so tampered fields such as a changed output asset ID are caught; (4) Bitcoin-like fee warnings now use network-specific thresholds, so normal Dogecoin/Litecoin fees no longer trigger misleading 'large fee' alerts; and (5) Cosmos no longer shows a duplicated 'Max Fee' line, and Solana Squads proposal memos are displayed on the correct instruction. Most other changes are UI layout and cleanup.

Security candidateMerge pull request #2263 from KeystoneHQ/driver-optimizeby Soralit · a409efe0 · Aug 6, 2026 · 1 fileMessage 58 · ThinModerate 67Details
Commit message · Soralit

Merge pull request #2263 from KeystoneHQ/driver-optimize

driver optimzie

58/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Links an issue, advisory, or supporting reference! No meaningful explanatory body
Why it was queued
seed or entropy pathmerge-commit duplicate discount
AI analysis · Moderate 67/100

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 an assertion. This is a defensive hardening change that makes it harder for an attacker to feed bad randomness into cryptographic key generation, which could otherwise let them guess or recover private keys.

Security candidatedriver optimzieby ww3512687 · 25f3d951 · Aug 6, 2026 · 1 fileMessage 18 · OpaqueModerate 59Details
Commit message · ww3512687

driver optimzie

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
seed or entropy path
AI analysis · Moderate 59/100

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 data and aborts. The change appears to be a security hardening fix: the previous driver could keep using random numbers even when the TRNG hardware reported a fault/attack condition.

AI review queuedfix: regular ai review fixby soralit · edbeae79 · Aug 6, 2026 · 23 filesMessage 57 · ThinModerate 61Details
Commit message · soralit

fix: regular ai review fix

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 pathparser or protocol pathsecond-pass: unusually broad changesecond-pass: security-sensitive path
AI analysis · Moderate 61/100

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 fully parsed, so a malformed transaction cannot be accidentally approved; (2) Arweave data-item transactions are checked for tampered tag counts before they reach the confirmation screen; (3) Avalanche transactions are fully re-parsed during the safety check so a modified transaction is rejected; (4) Bitcoin-like fee warnings now use network-specific thresholds, so Dogecoin/Litecoin users are not falsely warned or misled by Bitcoin defaults; and (5) Cosmos no longer shows a duplicated/confusing 'Max Fee' field, and Solana Squads multi-sig memos are attached to the correct instruction. Most other changes are UI clean-up.

Security candidateMerge pull request #2262 from KeystoneHQ/regular-review-fixby Soralit · 04d942ff · Aug 6, 2026 · 33 filesMessage 58 · ThinHigh 76Details
Commit message · Soralit

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

fix: regular AI review and fix

58/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Links an issue, advisory, or supporting reference! No meaningful explanatory body
Why it was queued
cryptography-sensitive pathsigning or wallet pathparser or protocol pathmerge-commit duplicate discount
AI analysis · High 76/100

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 IV, instead of being encrypted with a simple hash of the login password and a fixed seed-derived IV. (2) Ethereum legacy transactions now show a warning when they are not protected against replay attacks. (3) Solana transactions that contain hidden trailing bytes are now rejected before the user can review them. (4) Solana mixed transactions no longer hide unrelated instructions behind a specialized UI; sibling instructions are shown separately. (5) Tron transactions now reject multiple contracts, unsupported contract types, and ignore untrusted token metadata supplied by a host computer. (6) Cosmos delegate/undelegate/redelegate labels were corrected so users see the right addresses. (7) A new paginated message viewer helps users read long Ethereum messages before signing. The commit is described by the vendor as a 'regular AI review and fix' and does not explicitly call itself a security patch, but the changes clearly remove weaknesses that could mislead users or leak sensitive data.

Security candidatefix: regular AI review and fixby soralit · 776d8832 · Aug 5, 2026 · 33 filesMessage 57 · ThinHigh 80Details
Commit message · soralit

fix: regular AI review and fix

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
cryptography-sensitive pathsigning or wallet pathparser or protocol path
AI analysis · High 80/100

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 fixed, predictable IV; it is now encrypted with a key derived directly from the wallet seed and a fresh random IV. (2) Solana transactions that had hidden extra bytes after the real transaction data are now rejected instead of being accepted. (3) Solana mixed transactions (for example a Jupiter swap bundled with a token-account-close instruction) now show all instructions, not just the main one, so a malicious companion instruction cannot hide from the user. (4) Ethereum legacy transactions that do not use EIP-155 replay protection now show a warning on the device screen. (5) Tron transactions no longer trust token-name/decimal overrides sent by the host app, and they now reject multi-contract or unknown-contract transactions instead of silently ignoring parts of what is being signed. There are also many UI-only improvements for Cosmos, Ethereum and Solana message display.

Lower-priorityMerge pull request #2260 from KeystoneHQ/replace-lvgl-randby Soralit · 230abd77 · Aug 5, 2026 · 2 filesMessage 58 · ThinModerate 59Details
Commit message · Soralit

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

replace lvgl rand

58/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Links an issue, advisory, or supporting reference! No meaningful explanatory body
Why it was queued
merge-commit duplicate discount
AI analysis · Moderate 59/100

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 predictable randomness that could, in theory, make shuffled PIN layouts or recovery-phrase ordering easier to guess or reproduce.

AI review queuedreplace lvgl randby ww3512687 · f7d64fb8 · Aug 5, 2026 · 2 filesMessage 28 · OpaqueModerate 59Details
Commit message · ww3512687

replace lvgl rand

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

This commit swaps out the LVGL graphics library's pseudo-random number generator for the device's hardware true random number generator (TRNG) in two places: shuffling the on-screen numeric keypad and shuffling recovery-word lists. The old code used lv_rand, which is not designed for cryptographic security and may be predictable. Using a predictable shuffle could let an attacker who can see or guess the random sequence reduce the number of possible keypad layouts or word orders they must try, weakening protections for PIN entry or seed-phrase backup verification. The patch itself is a clear improvement, but it is small and we cannot verify from the diff alone whether the TRNG driver is correctly implemented or whether other sensitive code still uses lv_rand.

Security candidatefix(simulator): return password error on PIN mismatch in SimulatorLoadAccountSecretby soralit · 6bec6930 · Aug 4, 2026 · 1 fileMessage 85 · StrongInformational 19Details
Commit message · soralit

fix(simulator): return password error on PIN mismatch in SimulatorLoadAccountSecret

SimulatorLoadAccountSecret returned SUCCESS even when the stored password
did not match. This made the duplicate-PIN check (CheckPasswordExisted ->
VerifyAccountPassword) always treat any new PIN as a duplicate of an
existing account, so setting a PIN for the second account and onwards
failed with 'Duplicate PIN code detected'.

Return ERR_KEYSTORE_PASSWORD_ERR on mismatch, matching the real-device
behavior (LoadAccountSecretFromSE returns ERR_KEYSTORE_AUTH on HMAC
failure, which VerifyAccountPassword maps to ERR_KEYSTORE_PASSWORD_ERR).

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
access control
AI analysis · Informational 19/100

This commit fixes a bug in the firmware's simulator (a software stand-in used for testing, not the real hardware wallet). When checking a stored account password/PIN, the simulator was accidentally returning 'success' even when the password did not match. That caused the wallet to wrongly think every new PIN was already in use, blocking users from creating a second or later account in simulator builds. The fix makes the simulator return a password-error code on mismatch, matching how the real device behaves. It is a functional bug fix in test-only code, not a security vulnerability in the real wallet.

Lower-priorityfix: improve Solana message handlingby soralit · 756df0e7 · Aug 4, 2026 · 7 filesMessage 57 · ThinModerate 62Details
Commit message · soralit

fix: improve Solana message handling

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
AI analysis · Moderate 62/100

This commit hardens how Keystone 3 handles Solana signing requests. Previously, the device partly trusted an external 'sign type' flag from the wallet app to decide whether a QR code contained a transaction or a plain message. The patch now inspects the actual bytes: if they look like a complete transaction it is treated as a transaction; if they start like a transaction but have extra hidden bytes it is rejected; otherwise it is treated as a message. It also adds a warning banner when a Solana message cannot be fully parsed, so the user knows they are 'blind signing'. A small UI fix also makes the camera scanner resume correctly after an error instead of getting stuck.

AI review queuedfix: address Solana review findingsby soralit · e1752174 · Aug 4, 2026 · 11 filesMessage 57 · ThinLow 49Details
Commit message · soralit

fix: address Solana review findings

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
parser or protocol pathsecond-pass: security-sensitive path
AI analysis · Low 49/100

This commit improves how Keystone 3's Solana app recognizes and displays certain transaction types. It adds support for the Solana Compute Budget program so those instructions are no longer labeled as 'Unknown,' and it adds parsing for Solana off-chain message signing so those messages are shown as human-readable text instead of being mistaken for raw transactions. The UI now shows unknown program addresses separately after the main transaction overview, and USB error messages can display more specific failure text. The commit title says it addresses 'Solana review findings,' but the commit message itself does not explicitly call these security fixes.

Security candidatechore: remove implementation planby ww3512687 · 4620fe94 · Aug 4, 2026 · 1 fileMessage 47 · ThinInformational 12Details
Commit message · ww3512687

chore: remove implementation plan

47/100 · ThinMessage clarity
✓ Descriptive subject✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
seed or entropy pathdocumentation-only discount
AI analysis · Informational 12/100

This commit only deletes a planning document from the repository's docs folder. No firmware code, build scripts, or cryptographic logic were changed. The deleted file described a previously completed security-hardening task about removing a weak random-number fallback, but the deletion itself does not alter the product's behavior or security posture.