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.
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
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
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
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
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 …
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
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…
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
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
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,…
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…
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.
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 …
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
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.
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
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…
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.
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
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
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
Expand any commit for its author, full message, clarity score, changed files, triage signals, analysis, and source link.
AI review queuednitsby Peter D. Gray · 863e0d85 · Sep 19, 2025 · 1 fileMessage 0 · OpaqueLow 30Details
Commit message · Peter D. Gray
nits
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 30/100
This tiny code change fixes a likely bug in the COLDCARD's NFC feature. Previously, after an NFC operation finished and the device wiped sensitive data, the code continued running in a loop instead of stopping. The added 'break' makes it exit the loop immediately after wiping. This could prevent repeated or unnecessary NFC transmissions of sensitive wallet data, reducing the chance of leaking secrets or leaving the device in an unexpected state.
AI review queuedownershipby Peter D. Gray · 2109ab4a · Sep 18, 2025 · 2 filesMessage 0 · OpaqueInformational 15Details
Commit message · Peter D. Gray
ownership
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 a routine test update and build timestamp refresh. It adds a new test parameter to exercise wallet-name handling with both short and long names (including spaces), and bumps the firmware build date and version. There is no security-relevant code change.
AI review queuedbugby Peter D. Gray · e5dce710 · Sep 18, 2025 · 1 fileMessage 0 · OpaqueInformational 23Details
Commit message · Peter D. Gray
bug
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 23/100
This commit fixes a Python indentation bug in the COLDCARD firmware's export function. The exception handlers for missing microSD card and write failures were placed outside the code block that actually tries to write, meaning they would never catch those errors. The fix simply indents them so they sit inside the try block. Without the fix, if a write fails, the user may see an unhandled error instead of a friendly message, and the normal cleanup/return path after a write may not run as intended.
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.
bugfix: ownership check needed re-run for values near max
50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Low 46/100
This commit fixes a bug in the COLDCARD hardware wallet's address-ownership cache. When users tried to verify they owned an address with a very high index (near the cache limit of about 760), the first check could wrongly fail and only succeed on a second attempt. The patch also refactors how addresses are saved to the cache so exports starting in the middle of the range don't leave gaps, and it tightens BIP-21 URL parsing. The bug is a reliability issue rather than a direct theft path, but it could mislead a user into thinking a valid receive address is not theirs.
! 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 is a minor cleanup and documentation update for the COLDCARD firmware. It adds a short document explaining a BIP-21 wallet parameter, replaces a hardcoded number with a named constant, tweaks on-screen text to fit smaller screens, and updates tests to match the new display strings. There is no security fix or vulnerability here.
AI review queuedownership: search particular named wallet via BIP-21 wallet query paramby scgbckbone · 8b3603b1 · Sep 18, 2025 · 7 filesMessage 50 · ThinInformational 20Details
Commit message · scgbckbone
ownership: search particular named wallet via BIP-21 wallet query param
50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
parser or protocol pathsecond-pass: security-sensitive path
AI analysis · Informational 20/100
This commit adds a new feature to Coldcard hardware wallets: when verifying ownership of a Bitcoin address, users can now include a wallet name in the BIP-21 URL (for example, bitcoin:address?wallet=my_wallet). This tells the Coldcard to search only that specific multisig wallet, rather than checking all wallets. It is a user-facing convenience feature, not a security fix, and does not appear to introduce any obvious vulnerability.
AI review queuededitby Peter D. Gray · 9e762d29 · Sep 18, 2025 · 1 fileMessage 0 · OpaqueInformational 15Details
Commit message · Peter D. Gray
edit
0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body
This commit is a trivial one-word edit to a changelog file. It changes a parenthetical note about a feature requiring an updated companion tool. There is no code change and no security relevance.
✓ 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.
AI review queuededitsby Peter D. Gray · 20ce5f2b · Sep 18, 2025 · 2 filesMessage 0 · OpaqueInformational 15Details
Commit message · Peter D. Gray
edits
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 just a documentation polish and a build timestamp update. It rewords the upcoming release changelog and bumps an auto-generated date/version marker in a source file. There are no code behavior changes and no security fixes or new features implemented here.
Lower-priorityrename files on SD card via List Filesby scgbckbone · 3353f3d4 · Sep 18, 2025 · 3 filesMessage 45 · ThinInformational 22Details
Commit message · scgbckbone
rename files on SD card via List Files
45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 22/100
This commit adds a small new feature to the COLDCARD hardware wallet: users can now rename files stored on the device's SD card through the on-device menu. The change is a user-experience enhancement, not a security fix. It includes basic input validation to block slashes and spaces in filenames, and adds automated tests for the new behavior.
Lower-prioritylower Mk4 default wrap-around from 16 to 10 (same as Q)by scgbckbone · 4d2349fe · Sep 18, 2025 · 5 filesMessage 50 · ThinInformational 15Details
Commit message · scgbckbone
lower Mk4 default wrap-around from 16 to 10 (same as Q)
50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 15/100
This commit changes a user-interface preference on the COLDCARD Mk4 hardware wallet: how many menu items a list must have before the up/down keys wrap around from top to bottom. The threshold is lowered from 16 to 10, matching the Q model. It is a cosmetic/UX consistency change, not a security fix.
AI review queuedlittle bugby Peter D. Gray · 54dcf2dc · Sep 17, 2025 · 2 filesMessage 0 · OpaqueLow 38Details
Commit message · Peter D. Gray
little bug
0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
parser or protocol pathsecond-pass: opaque commit messagesecond-pass: security-sensitive path
AI analysis · Low 38/100
This commit fixes a small parsing bug in how COLDCARD handles BIP-21 payment URLs (the 'bitcoin:...' links used to request payments). Previously, the code looked for a colon anywhere in the entire string to decide whether a URL protocol like 'bitcoin:' was present. Now it only checks the first 16 characters. The change also updates tests so they exercise both URLs with and without the 'bitcoin:' prefix, including one with a colon inside the label text. The bug could have caused a BIP-21 URL containing a colon later in the string—such as in a label like 'total due: 500'—to be split incorrectly, potentially misinterpreting the address or parameters.
Lower-prioritybugfix: premature wipe while exporting secret material via NFC - only first export loop (0th) was actually sending databy scgbckbone · bbac20b4 · Sep 17, 2025 · 2 filesMessage 50 · ThinModerate 57Details
Commit message · scgbckbone
bugfix: premature wipe while exporting secret material via NFC - only first export loop (0th) was actually sending data
50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Moderate 57/100
This commit fixes a bug in the COLDCARD hardware wallet's NFC export feature. When exporting secret material (like a seed or private key) over NFC, the device was supposed to keep broadcasting the data in a loop until the user aborted or the recipient confirmed it was read. Due to a logic error, the device would wipe the temporary secret from its NFC chip after the very first loop, even though the user was still trying to export it. This meant subsequent NFC reads would fail or return nothing, making the export unreliable. The fix ensures the wipe only happens when the user actually aborts the operation.
decouple wiping NFC chip from `ux_animation` routine
50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Low 41/100
This change moves the cleanup step that wipes sensitive data from the NFC chip so it happens when sharing is complete, rather than inside a lower-level animation routine. The old code only wiped the chip when the user aborted the NFC operation, which could mean secret data sat on the NFC chip longer than intended after a normal, successful share. The patch makes wiping happen reliably at the end of a successful share, but removes the wipe that used to occur on abort, so the security behavior depends on whether abort paths now clean up elsewhere.
✓ Descriptive subject✓ Mentions testing or verification! No meaningful explanatory body
AI analysis · Informational 18/100
This commit fixes a small bug in the COLDCARD's built-in self-test for the MicroSD card slot. The test was accidentally using the wrong value returned by a helper function, which meant the self-test could fail or behave incorrectly even though the hardware was fine. It is a routine bugfix in factory diagnostics, not a security vulnerability that attackers can exploit.
AI review queuedversion bumpby Peter D. Gray · 5b26b306 · Sep 16, 2025 · 3 filesMessage 18 · OpaqueInformational 15Details
Commit message · Peter D. Gray
version bump
18/100 · OpaqueMessage clarity
✓ Subject identifies a change! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100
This commit is a routine version bump and changelog tidy-up for the COLDCARD firmware. It changes two Makefile version numbers (5.4.3 → 5.4.4 for Mk4, 1.3.3Q → 1.3.4Q for Q1) and rewrites the draft release notes. No code, cryptographic, or security logic is modified.
AI review queuedimprovementsby Peter D. Gray · d9a601e8 · Sep 16, 2025 · 5 filesMessage 18 · OpaqueLow 49Details
Commit message · Peter D. Gray
improvements
18/100 · OpaqueMessage clarity
✓ Subject identifies a change! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
parser or protocol pathsecond-pass: opaque commit messagesecond-pass: security-sensitive path
AI analysis · Low 49/100
This commit makes several small changes to the COLDCARD firmware. It removes a debug print statement that exposed internal warnings, blocks certain key-teleport QR codes when the device is in a restricted 'hobbled' mode, and removes a 'has_secrets' safety check from wallet export menu items in hobbled mode. The changes appear to be hardening and UI consistency fixes rather than a clear security patch, but one change weakens an access-control predicate while others strengthen restrictions.
AI review queuednotesby Peter D. Gray · bc49347a · Sep 16, 2025 · 1 fileMessage 0 · OpaqueInformational 15Details
Commit message · Peter D. Gray
notes
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 new test file with only comments and TODO items. It contains no actual code changes, no bug fixes, and no security patches. It is purely a placeholder for future tests of a 'hobble' restricted-access mode.
Security candidatenitsby Peter D. Gray · 3f24307d · Sep 16, 2025 · 2 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
seed or entropy path
AI analysis · Informational 15/100
This commit is a minor code cleanup ('nits'). It moves a helper function, adds a comment, and removes an unused local import. There is no change to user-facing behavior or security logic.
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 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 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.
Security candidatehobbled mode support for spending policyby Peter D. Gray · c3a454ab · Sep 16, 2025 · 13 filesMessage 45 · ThinLow 37Details
Commit message · Peter D. Gray
hobbled mode support for spending policy
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 · Low 37/100
This commit adds a new 'hobbled mode' feature to the COLDCARD hardware wallet firmware. It lets a user set a 'Spending Policy' that restricts what the device can do even when the main PIN is entered. The policy can limit access to seed words, backups, secure notes, and certain signing operations. A special bypass PIN is required to disable or change the policy. The change is a feature addition, not a fix for a known vulnerability, and the commit message and code comments describe it as a user-controlled self-protection mechanism.
AI review queuedimprove --eff handlingby Peter D. Gray · ab1b6562 · Sep 16, 2025 · 1 fileMessage 28 · OpaqueInformational 18Details
Commit message · Peter D. Gray
improve --eff handling
28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 18/100
This commit changes a developer-only simulator script so that when the '--eff' flag is used, settings are kept in memory during a single run instead of being completely disabled. Previously the flag made all settings loading and saving do nothing, which meant pre-login values were lost while the simulator was running. The change makes the simulator behave more realistically for testing. It does not affect real COLDCARD hardware or production firmware.