CK
← All projectsCoinkite

COLDCARD firmware

Open-source firmware for COLDCARD Bitcoin signing devices.

BitcoinHardware walletsActive incident
Repository coverage

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

137security candidates209second-pass queue413AI analyses
59commits · 30 days
184commits · 60 days
253commits · 180 days
386commits · 365 days
Backfill bands
Aug 5 → Feb 6148 seen2 candidatesComplete
Feb 6 → Jun 684 seen8 candidatesComplete
Jun 6 → Jul 649 seen4 candidatesComplete
Jul 6 → Aug 525 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.

36/100 average clarity
10Strong · 80–100
45Adequate · 60–79
195Thin · 40–59
218Opaque · 0–39
42security 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.
scgbckbone2551112271643
Peter D. Gray17020162818
Dmitry Monakhov212173
@Bibo-dochex923042
kdmukai111050
doc-hex111073
Piotr Duszynski111073
tadeubas606051
copilot-swe-agent[bot]504072
Danilo500079
hitechhayekian301081
Copilot300074
Analysis record

Published AI watches

Last scanned 45 minutes ago

Moderate 59 AI analysisMessage 28 · Opaque
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

Harden PSBTv2 parsing

This commit tightens how COLDCARD reads PSBTv2 (Partially Signed Bitcoin Transaction version 2) files. It now rejects several malformed or ambiguous encodings that could previously be accepted: extra key data attached to fields that should…

PSBT parser hardeningrejection of non-canonical compact-size encodingsenforcement of singleton key-data emptiness
5e0dbd0eby scgbckbone+90−113 files
Vendor flagged security relevance
Low 34 AI analysisMessage 45 · Thin
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

PSBTv2 per input required lock time calculation

This commit adds support in the COLDCARD firmware for a newer Bitcoin transaction format feature (PSBTv2) that lets each input specify its own required lock time. Before this change, the device did not correctly compute the final transacti…

PSBTv2 per-input locktime parsing and validation addedBIP-370 required locktime computation implementedIncompatible height/time locktime requirements rejected with assertion
2ea2e791by scgbckbone+191−336 files
No security note in commit
Low 46 AI analysisMessage 91 · Strong
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

Add regression test for non-object JSON message-sign input

This commit only adds a new automated test to the COLDCARD firmware test suite. The test checks that when a user tries to sign a text file containing valid JSON that is not a JSON object (for example, a plain number, string, null, or list)…

Regression test for input validation of JSON message-signingTest comment explicitly references avoiding a device crash on malformed JSON inputTest requested during review of pull request #808, suggesting prior related code change
adb7baa8by copilot-swe-agent[bot]+32−01 file
No security note in commit
Moderate 56 AI analysisMessage 50 · Thin
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

hygiene: duress wallet activate - wipe before getting slot data

This commit is a defensive hygiene fix in the COLDCARD hardware wallet's 'trick PIN' duress-wallet feature. It moves a memory-wipe routine so that it runs before the device looks up the duress wallet slot. The change reduces the window in …

secret-handling order-of-operations changeDelta Mode coercer/wipe scenarioduress wallet secret loading
aa645247by scgbckbone+3−31 file
Vendor flagged security relevance
Low 41 AI analysisMessage 45 · Thin
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

OVC clear stale outputs from new_outputs

This firmware update fixes a cleanup issue in the COLDCARD wallet's transaction signing code. Before finalizing a new Bitcoin transaction, the device now clears out leftover 'change output' records that may have been captured during a prev…

State not reset between signing attemptsStale change-output metadata reused in transaction finalizationOVC (Output Value Check) validation may be affected by leftover data
62163ccdby scgbckbone+3−01 file
No security note in commit
Informational 15 AI analysisMessage 65 · Adequate
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

Drop ValueError message string to save flash space

This commit removes a human-readable error message from a ValueError exception to reduce the amount of flash storage used by the firmware. It is a minor code cleanup and does not change the security behavior of the code. The function still…

dc89513cby copilot-swe-agent[bot]+1−11 file
No security note in commit
Low 49 AI analysisMessage 60 · Adequate
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

Add changelog entry for msgsign JSON crash fix

This commit only adds a changelog note saying a previous fix stopped the COLDCARD hardware wallet from crashing when a message-signing request was valid JSON but not a JSON object (for example, a number or string instead of a dictionary). …

Device crash on malformed message-signing inputInput vector includes NFC, QR, and SD card JSON filesValid JSON but wrong type (non-object) bypasses simple format checks
07afee0dby copilot-swe-agent[bot]+3−01 file
Vendor flagged security relevance
Informational 23 AI analysisMessage 65 · Adequate
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

Fix uncaught AttributeError on non-object JSON in parse_msg_sign_request

This commit fixes a bug where the COLDCARD firmware's message-signing feature would crash with an uncaught error if a user supplied valid JSON that wasn't a structured object (for example, a plain number, string, list, or null). The fix ch…

uncaught exception in message parsing pathinput validation gap on JSON typepotential denial-of-service via malformed request
d55ddbceby copilot-swe-agent[bot]+3−01 file
No security note in commit
Informational 15 AI analysisMessage 28 · Opaque
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

Signed for mk release.

This commit only updates the release signature file (signatures.txt) for the COLDCARD firmware. It adds two new file hashes for a v5.6.2-mk release and refreshes the PGP signature covering the file. There are no code changes, no bug fixes,…

e6d01c36by Peter D. Gray+10−81 file
No security note in commit
Informational 15 AI analysisMessage 28 · Opaque
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

Signed for q1 release.

This commit only updates a release signature file. It refreshes SHA-256 hashes for changelog files and adds hashes for two new firmware release files, then re-signs the file with a PGP signature. There are no code changes, no bug fixes, an…

a310e1ddby Peter D. Gray+16−141 file
No security note in commit
Informational 15 AI analysisMessage 28 · Opaque
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

update block height

This commit simply updates a stored Bitcoin blockchain height number from 965,337 to 965,338. It is a routine, automatically generated data refresh with no code logic changes and no apparent security relevance.

3caf599eby Peter D. Gray+2−21 file
No security note in commit
Informational 15 AI analysisMessage 38 · Opaque
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

new policy w blank lines

This commit only edits the project's internal release notes file. It replaces a detailed list of upcoming changes with placeholder 'tbd' entries and adds a note asking contributors to leave blank lines between additions. There are no code …

3d8f90f1by Peter D. Gray+9−561 file
No security note in commit
Moderate 58 AI analysisMessage 28 · Opaque
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

update for new release

This commit is a release-notes-only update for the COLDCARD hardware wallet firmware. It moves many security-relevant bug fixes and hardening items from the current changelog into the historical release notes for versions 5.6.1 and 1.5.1Q,…

USB protocol encryption upgrade (ncry v3) with direction-separated keys and replay protectionPSBT tampering detection: re-verify staged bytes before signing after Virtual Disk overwriteFirmware update integrity: abort if staged image overwritten, reject images extending past world-checksum region
ea2b89bfby Peter D. Gray+272−1124 files
Vendor flagged security relevance
Informational 15 AI analysisMessage 28 · Opaque
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

update block height

This commit simply updates a stored Bitcoin blockchain height number from 963,314 to 965,337, along with its timestamp. It is an automatic, routine data refresh with no code logic changes and no apparent security relevance.

15deb2f6by Peter D. Gray+2−21 file
No security note in commit
Moderate 59 AI analysisMessage 73 · Adequate
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

bugfix: report staged firmware modification at upgrade approval

This commit fixes a bug in the COLDCARD firmware upgrade process. Previously, if someone tampered with the staged firmware after the user saw the approval prompt but before they confirmed, the device would crash with a bare internal error …

Tamper-detection failure path hardened: assert replaced with user-facing failure storyDefense-in-depth assertion added to PIN-changing flowTest coverage added for tamper-abort message
ef73cf58by scgbckbone+6−64 files
No security note in commit
Informational 2 AI analysisMessage 45 · Thin
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

bump ckcc to latest master

This commit only updates a linked external code library (a Git submodule called ckcc-protocol) to a newer version. The actual code changes inside that library are not shown in the commit diff, and no security-related information was provid…

ec1c9417by scgbckbone+1−11 file
No security note in commit
Informational 15 AI analysisMessage 0 · Opaque
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

tweaks

This commit only edits the draft release changelog file. It rewords two upcoming feature descriptions and fixes line wrapping for another entry. No source code, firmware logic, or security behavior was changed.

e166ffddby Peter D. Gray+8−41 file
No security note in commit
Moderate 62 AI analysisMessage 45 · Thin
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

bugfix: reject non-ASCII BIP-39 passphrases

This update fixes a bug where COLDCARD wallets would accept BIP-39 passphrases containing non-ASCII characters (like accented letters or emojis) or non-printable characters. Because different wallet software normalizes such characters diff…

Behavioral fix that prevents silent derivation of incompatible wallet seedsInput validation added for BIP-39 passphrase across USB, UI, saved-passphrase restore, and note/password lanesRejection of non-printable ASCII and non-ASCII Unicode characters
c1a67660by scgbckbone+155−147 files
Vendor flagged security relevance
High 74 AI analysisMessage 60 · Adequate
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

bugfix: capture single-sig segwit change

This commit fixes two related security bugs in the COLDCARD hardware wallet's protection against a known 'BIP-143 amount swap' attack. First, the wallet was recording the claimed amount of a segwit input to its secure cache as soon as a tr…

Fixes deferred persistence of UTXO amount cache until after successful signingFixes missing capture of single-sig segwit change outputs (p2wpkh and p2sh-p2wpkh)Prevents cache poisoning by cancelled/malicious PSBT previews
8979a8a5by scgbckbone+322−806 files
Vendor flagged security relevance
Moderate 66 AI analysisMessage 45 · Thin
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

bugfix: Reject duplicate singleton PSBT keys

This update fixes a bug in how the COLDCARD wallet reads PSBT files (the standard format for passing Bitcoin transactions between devices). Previously, if a PSBT contained the same special 'singleton' key twice in the same section, the dev…

PSBT parser now rejects duplicate singleton keysNew test cases for duplicate keys in global/input/output mapsChangelog labels the change as a bugfix
cb6df8daby scgbckbone+30−13 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 candidateshow BIP-39 passphrase on-screenby Peter D. Gray · 21392bd3 · Feb 24, 2026 · 1 fileMessage 45 · ThinInformational 23Details
Commit message · Peter D. Gray

show BIP-39 passphrase on-screen

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
access controlseed or entropy path
AI analysis · Informational 23/100

This change makes the COLDCARD hardware wallet display the user's BIP-39 passphrase on the device's own screen after it is applied. This is a deliberate UX change, not a hidden bug. It could slightly increase the risk that someone physically near the device (or a camera) sees the passphrase, but it only appears after the user has already entered it and only on the local screen. The commit does not introduce a remote or software vulnerability.

Security candidateNuke Deviceby scgbckbone · 72e33662 · Feb 17, 2026 · 4 filesMessage 0 · OpaqueLow 33Details
Commit message · scgbckbone

Nuke Device

0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
seed or entropy path
AI analysis · Low 33/100

This commit adds a new user-facing 'Nuke Device' feature to the COLDCARD hardware wallet. It lets the owner deliberately wipe the seed and permanently brick the secure element, rendering the device unusable. The change also removes some unreachable cleanup code from the existing seed-clearing routine. There is no evidence in the commit of a hidden or malicious trigger; it appears to be an intentional, user-initiated self-destruct function.

Security candidateallow cancel from tx explorer goto indexby scgbckbone · 7ca3baae · Feb 17, 2026 · 1 fileMessage 45 · ThinInformational 18Details
Commit message · scgbckbone

allow cancel from tx explorer goto index

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
authentication path
AI analysis · Informational 18/100

This small change lets users cancel out of a 'go to index' prompt in the COLDCARD's transaction explorer instead of being forced to enter a number. It is a minor user-experience fix with no direct security impact visible from the code change.

Security candidatetxexplorer: goto indexby scgbckbone · 89d6e226 · Feb 17, 2026 · 2 filesMessage 28 · OpaqueInformational 15Details
Commit message · scgbckbone

txexplorer: goto index

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
signing or wallet pathauthentication path
AI analysis · Informational 15/100

This commit adds a small user-interface convenience to the COLDCARD transaction explorer: users can now press the '2' key to jump directly to a specific input or output index, instead of paging through items one screen at a time. It also fixes a minor edge case where pressing the left/back key from the first page could produce a negative starting index. There is no security-relevant change here.

Security candidateinput explorerby scgbckbone · f966d470 · Feb 13, 2026 · 11 filesMessage 18 · OpaqueInformational 19Details
Commit message · scgbckbone

input explorer

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
signing or wallet pathauthentication path
AI analysis · Informational 19/100

This commit adds a new on-device 'Transaction Input Explorer' feature for the COLDCARD hardware wallet. It lets users inspect the inputs (UTXOs) being spent before approving a transaction, alongside the existing output explorer. The change is primarily a user-interface enhancement and does not appear to fix a security vulnerability. It also includes related display improvements and test coverage.

Security candidateUSB send keystrokes for all BIP-85 secret typesby scgbckbone · 366670b4 · Jan 21, 2026 · 5 filesMessage 45 · ThinInformational 19Details
Commit message · scgbckbone

USB send keystrokes for all BIP-85 secret types

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
authentication path
AI analysis · Informational 19/100

This commit adds a new convenience feature: after deriving a secret using the BIP-85 standard, the COLDCARD can now type that secret out as USB keyboard keystrokes for all supported secret types (seed words, xprv, WIF, hex, password). Previously this USB typing was only available for password-type secrets. The change also cleans up how the on-screen prompt offers the '(6)' keystroke option. There is no direct evidence in the commit that this fixes a security bug; it appears to be a user-experience feature addition.

Security candidateallow viewing QR codes for XOR split mnemonicsby scgbckbone · b3cd82ed · Nov 18, 2025 · 3 filesMessage 45 · ThinInformational 18Details
Commit message · scgbckbone

allow viewing QR codes for XOR split mnemonics

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
seed or entropy path
AI analysis · Informational 18/100

This commit adds a small user-interface convenience: after splitting a secret backup phrase into XOR parts on a COLDCARD hardware wallet, users can now view those parts as QR codes by pressing the '4' key (in addition to the existing QR key on Q models). It is a feature enhancement, not a security fix or vulnerability.

Security candidatebugfix: allow setting block_h from tmp seedby scgbckbone · 52a090e3 · Oct 30, 2025 · 4 filesMessage 45 · ThinLow 44Details
Commit message · scgbckbone

bugfix: allow setting block_h from tmp seed

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
authentication path
AI analysis · Low 44/100

This is a bugfix for the COLDCARD's 'SSSP' (a spending-policy/velocity-limit feature). Previously, when a user was operating with a temporary seed, the device could not update the stored 'last signed block height' after signing a transaction. That meant a temporary-seed session could not advance the anti-rollback counter, so later signing attempts could be wrongly rejected as 'rewound' or could, in some configurations, leave the velocity-limit tracking stale. The fix lets the block-height update be saved to the shared settings area even when the current active key is a temporary seed, rather than requiring the master seed's settings area.

Security candidateaddress format matching from PSBT witness/redeem script instead of PSBT_XPUBs derivation pathsby scgbckbone · ef0ba6a5 · Oct 29, 2025 · 4 filesMessage 50 · ThinModerate 63Details
Commit message · scgbckbone

address format matching from PSBT witness/redeem script instead of PSBT_XPUBs derivation paths

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing boundarysigning or wallet path
AI analysis · Moderate 63/100

This change fixes how COLDCARD figures out the address format for multisig transactions. Previously it guessed based on the derivation path numbers in the PSBT's XPUB records, which can be misleading or attacker-controlled. Now it looks directly at the actual witness/redeem script in the transaction input, which is harder to fake. A wrong address format could make the wallet think it is signing one type of address while the transaction really pays to another, potentially tricking the user into approving a payment they did not intend.

Security candidatedeltamode timing fixby Peter D. Gray · fcd848d8 · Sep 29, 2025 · 1 fileMessage 28 · OpaqueHigh 80Details
Commit message · Peter D. Gray

deltamode timing fix

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
access controlsigning or wallet path
AI analysis · High 80/100

This commit fixes a bug in COLDCARD's 'deltamode' duress feature. Delta mode is meant to let a thief who knows a slightly wrong PIN sign transactions with corrupted signatures that look valid but don't actually protect any bitcoin. The bug was that the fake signature was produced from a fixed, predictable placeholder instead of from the real transaction data. A security research team claims this predictability could let an attacker who captures two such signatures recover the wallet's private keys, potentially stealing all funds. The patch makes the corrupted signature depend on the real transaction hash, removing that mathematical shortcut.

Security candidatefix SSSP unable to find unlock policy PINby scgbckbone · 52e7c755 · Sep 25, 2025 · 1 fileMessage 45 · ThinLow 42Details
Commit message · scgbckbone

fix SSSP unable to find unlock policy PIN

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
access controlauthentication path
AI analysis · Low 42/100

This is a small bug fix in the COLDCARD hardware wallet's 'trick PIN' feature. Trick PINs let users set up special PINs that do things like wipe the device or unlock specific spending policies. The fix makes the device refresh its trick-PIN list before looking for a PIN that unlocks a spending policy. Without the refresh, the device might fail to find a newly added or changed unlock-policy PIN, which could leave a legitimate user unexpectedly unable to access funds or use a protective feature as intended. There is no direct evidence in the commit that this is exploitable by an attacker.

Security candidatereload Trick Pins before deleting unlock pinsby scgbckbone · f3aaf3d5 · Sep 25, 2025 · 1 fileMessage 45 · ThinModerate 57Details
Commit message · scgbckbone

reload Trick Pins before deleting unlock pins

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
authentication path
AI analysis · Moderate 57/100

This change fixes a potential bug in how COLDCARD's 'trick PIN' feature removes special unlock PINs. Before deleting those PINs, the code now reloads the trick PIN data from storage. Without the reload, the function might operate on stale in-memory data and fail to delete some trick PINs that should have been removed. That could leave behind an unintended bypass PIN after a feature is turned off, which is a security-relevant state.

Security candidatedo not allow empty BIP-39 passphrase over USBby scgbckbone · 91f10c2f · Sep 25, 2025 · 1 fileMessage 45 · ThinModerate 64Details
Commit message · scgbckbone

do not allow empty BIP-39 passphrase over USB

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
access control
AI analysis · Moderate 64/100

This update prevents a COLDCARD hardware wallet from accepting an empty BIP-39 passphrase when the command comes over the USB connection. A BIP-39 passphrase is an extra word or phrase users can add to their seed to create a separate wallet. Previously, an empty passphrase could be sent through USB, which might let software on the connected computer silently access the user's default/no-passphrase wallet without the user typing anything on the device. Now the device rejects empty passphrases over USB, so the user must intentionally enter a passphrase on the device itself.

Security candidatemk4 fix word entry after restore via USBby scgbckbone · 2445b4d4 · Sep 22, 2025 · 5 filesMessage 45 · ThinInformational 21Details
Commit message · scgbckbone

mk4 fix word entry after restore via USB

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
seed or entropy pathauthentication path
AI analysis · Informational 21/100

This commit fixes a user-interface bug on the COLDCARD MK4 that occurred when restoring a wallet backup over USB. After a USB restore, the device was supposed to let the user enter the backup password as a series of seed words, but the on-screen word-entry menu did not work correctly because the device was not coming from the normal menu flow. The fix detects the USB case and uses a simpler, direct word-entry path instead. There is no direct evidence this is a security vulnerability; it appears to be a usability/functional bug fix.

Security candidateseedxor allowed when hobbledby Peter D. Gray · 41b81678 · Sep 22, 2025 · 2 filesMessage 35 · OpaqueLow 44Details
Commit message · Peter D. Gray

seedxor allowed when hobbled

35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
seed or entropy path
AI analysis · Low 44/100

This commit fixes a security policy bug in the COLDCARD hardware wallet. In 'hobbled mode'—a restricted operating mode meant to limit what secrets can leave or be combined—the device was incorrectly allowing users to include the wallet's master seed as one of the parts when restoring a seed via XOR. The patch removes that option when hobbled, so a locked-down COLDCARD can no longer be tricked or misused into mixing its master seed into an externally reconstructed secret.

Security candidateQ becomes calculator rather than e-wasteby Peter D. Gray · 4457576a · Sep 22, 2025 · 9 filesMessage 45 · ThinLow 27Details
Commit message · Peter D. Gray

Q becomes calculator rather than e-waste

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

This update changes what happens on the COLDCARD Q hardware wallet after someone enters the wrong PIN 13 times and the device becomes permanently locked ("bricked"). Instead of showing only a useless "I Am Brick!" screen, the Q model now turns into a simple calculator. The change also lets the calculator's login prompt check whether PIN attempts remain before trying to log in, and adds simulator options so developers can test bricked devices. There is no direct evidence in the commit that this fixes an active security vulnerability; it reads as a usability enhancement for a device that is already considered lost.

Security candidatereviewby scgbckbone · 038199a3 · Sep 22, 2025 · 4 filesMessage 0 · OpaqueLow 42Details
Commit message · scgbckbone

review

0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
authentication path
AI analysis · Low 42/100

This commit reorganizes how a COLDCARD device decides it is 'bricked' and what it does next. It moves the brick check from the main boot code into the PIN-handling code, and slightly cleans up a calculator/login helper. The change appears intended to make bricked devices stop earlier in boot and still offer a calculator-only recovery screen on QWERTY models. There is no clear vulnerability being fixed; it reads more like a defensive hardening or refactor.

Security candidateQ: brick into forever calculatorby scgbckbone · 1929067a · Sep 22, 2025 · 3 filesMessage 45 · ThinLow 42Details
Commit message · scgbckbone

Q: brick into forever calculator

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
authentication path
AI analysis · Low 42/100

This commit changes what a COLDCARD Q device does when its secure element (SE) is 'bricked'—a state where the hardware security chip is no longer usable. Previously, the device immediately entered DFU (device firmware update) mode and stopped. After this change, the device first opens a calculator-like text interface that can run forever, and only then enters DFU mode. The commit title 'Q: brick into forever calculator' suggests this is intentional behavior for bricked devices, not a vulnerability. The change also removes the ability to enter a PIN from within that calculator when reached through this bricked path, so it does not appear to provide a way to bypass authentication.

Security candidateadd "Restore from XOR" to Temporary Seed menuby scgbckbone · 2b115059 · Sep 22, 2025 · 1 fileMessage 25 · OpaqueInformational 17Details
Commit message · scgbckbone

add "Restore from XOR" to Temporary Seed menu

25/100 · OpaqueMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body! Contains work-in-progress language! Opaque security-relevant change
Why it was queued
seed or entropy path
AI analysis · Informational 17/100

This commit adds a new menu option called 'Restore Seed XOR' to the Temporary Seed menu on a COLDCARD device. It simply exposes an existing feature (restoring a seed from XOR-encoded parts) in a new place where users can reach it more easily. There is no code change to how seeds are stored, processed, or protected.

Security candidatetxout explorer do not yikes on big QRsby scgbckbone · 0237fd29 · Sep 18, 2025 · 8 filesMessage 45 · ThinLow 36Details
Commit message · scgbckbone

txout explorer do not yikes on big QRs

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathauthentication path
AI analysis · Low 36/100

This update fixes a user-interface crash in the COLDCARD hardware wallet when it tries to display very large QR codes. Before the change, certain long transaction outputs (for example, OP_RETURN data or unusual scripts) could make the on-device QR generator fail and throw an error, interrupting transaction review. The patch catches that failure, shows a 'QR too big' placeholder instead, and lets the user keep reviewing the transaction. It is a denial-of-service-style reliability fix rather than a theft-of-funds vulnerability.

Security candidaterestore backup via USBby scgbckbone · de043f22 · Sep 18, 2025 · 8 filesMessage 28 · OpaqueModerate 59Details
Commit message · scgbckbone

restore backup via USB

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
authentication path
AI analysis · Moderate 59/100

This commit adds a new USB command that lets a connected computer restore a COLDCARD wallet backup onto the device. The user must confirm on the device screen, and the backup file's checksum is verified. However, because restoring a backup replaces the wallet seed, the feature is security-sensitive. The commit also blocks this command in HSM (unattended signing) mode, which is a good protective measure. There is no direct evidence of a vulnerability in the patch, but the feature increases the attack surface available over USB.

Security candidatetest deltamode worksby Peter D. Gray · 7daa67cc · Sep 16, 2025 · 4 filesMessage 38 · OpaqueInformational 15Details
Commit message · Peter D. Gray

test deltamode works

38/100 · OpaqueMessage clarity
✓ Subject identifies a change✓ Mentions testing or verification! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
access control
AI analysis · Informational 15/100

This commit only adds automated tests for an existing firmware feature called 'deltamode' trick PINs. It does not change the actual COLDCARD firmware code that users run. The tests confirm that when a deltamode trick PIN is active, the device produces an intentionally invalid Bitcoin signature and does not wipe the seed. No security bug is introduced or fixed here.

Security candidatenitsby Peter D. Gray · 1a1daf32 · Sep 16, 2025 · 3 filesMessage 0 · OpaqueInformational 15Details
Commit message · Peter D. Gray

nits

0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
authentication path
AI analysis · Informational 15/100

This commit contains only trivial non-code changes: a comment rewording, a stylistic Python list change with identical behavior, a typo fix in a user-facing message, and a hyphenation fix in a test file docstring. There is no security-relevant change.

Security candidateforgotten pinby Peter D. Gray · 8d84979d · Sep 16, 2025 · 1 fileMessage 18 · OpaqueInformational 15Details
Commit message · Peter D. Gray

forgotten pin

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
access controldocumentation-only discount
AI analysis · Informational 15/100

This commit only updates user documentation. It fixes a typo in a menu path and adds a new section explaining what to do if a user forgets their 'Bypass PIN' for the Spending Policy feature: perform a factory reset via 'Destroy Seed' and restore from backup. There is no code change and no security vulnerability is being fixed.

Security candidatebug noteby Peter D. Gray · 6b1c38fe · Sep 16, 2025 · 1 fileMessage 0 · OpaqueLow 41Details
Commit message · Peter D. Gray

bug note

0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
boot or update path
AI analysis · Low 41/100

A developer added a comment in the COLDCARD MK4 bootloader code flagging that a function reads a configuration byte from a secure chip but does not check whether the read operation failed. If the read fails, the function could return an uninitialized or garbage value. This is a code-quality and potential security issue, but the patch only adds a comment—it does not fix the bug.