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 queuedundo-rcby Peter D. Gray · c6ec1020 · Sep 26, 2025 · 1 fileMessage 0 · OpaqueInformational 15Details
Commit message · Peter D. Gray
undo-rc
0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
signing or wallet pathdocumentation-only discountsecond-pass: opaque commit messagesecond-pass: security-sensitive path
AI analysis · Informational 15/100
This commit updates a signed release manifest file (signatures.txt). It removes the file hashes for firmware versions 5.4.4 (Mk4) and 1.3.4Q (Q1) and replaces the ChangeLog.md hash. The commit title 'undo-rc' suggests this is reverting a release-candidate or release that was previously added to the manifest. There is no code change, no vulnerability fix, and no security-relevant behavior change visible in the diff.
AI review queuedcleanupsby Peter D. Gray · 88a9f471 · Sep 26, 2025 · 2 filesMessage 0 · OpaqueInformational 12Details
Commit message · Peter D. Gray
cleanups
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 12/100
This commit is a minor code cleanup in the COLDCARD firmware's file picker. It moves the validation of filename suffixes earlier in the function and slightly changes the wording of an on-screen message shown when no matching files are found. There is no indication this fixes a security bug or introduces a vulnerability.
AI review queuedbugfix: only list files with proper extension delimited by dot; fix UX showing suffixes in file_picker when no suitable files foundby scgbckbone · 6a3eec50 · Sep 26, 2025 · 5 filesMessage 50 · ThinLow 40Details
Commit message · scgbckbone
bugfix: only list files with proper extension delimited by dot; fix UX showing suffixes in file_picker when no suitable files found
50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 40/100
This commit fixes a file-picker bug in the COLDCARD hardware wallet firmware. Previously, callers passed file extensions without a leading dot (e.g., 'txt' or 'psbt'), so the picker would match any filename ending in those characters, not just proper dotted extensions. A file named 'backuptxt' could be treated as a .txt file, and 'backup7z' as a .7z backup. The patch forces every extension to start with a dot and updates all callers. The main risk is that a maliciously named file on the SD card could be offered to the user as if it were a valid PSBT, backup, text message, or other sensitive file type, potentially tricking the user into signing or restoring from the wrong data.
AI review queuedadd heartbeats, cleanupsby Peter D. Gray · 722facf0 · Sep 26, 2025 · 2 filesMessage 28 · OpaqueInformational 17Details
Commit message · Peter D. Gray
add heartbeats, cleanups
28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 17/100
This commit is a small cleanup and user-experience improvement for the COLDCARD's spending-policy settings. It renames an internal function and parameter, adds 'Saving...' progress messages so users know the device is busy, and simplifies a couple of checks. There is no direct evidence in the diff of a security vulnerability being fixed.
AI review queuedtweakby Peter D. Gray · 0a9d9942 · Sep 26, 2025 · 1 fileMessage 0 · OpaqueInformational 15Details
Commit message · Peter D. Gray
tweak
0/100 · OpaqueMessage clarity
! Generic or placeholder subject! Too few words to establish purpose! No meaningful explanatory body
This commit only edits a changelog text file. It rewords a description of an existing product feature (a 'forever calculator' mode that activates after too many failed PIN attempts) and removes a mention of 'bricked' devices. No source code, firmware logic, or security behavior was changed.
AI review queuedSigned for mk4 release.by Peter D. Gray · 57640738 · Sep 25, 2025 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · Peter D. Gray
Signed for mk4 release.
28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
signing or wallet pathdocumentation-only discountsecond-pass: opaque commit messagesecond-pass: security-sensitive path
AI analysis · Informational 15/100
This commit only updates the release signature file (signatures.txt) for the COLDCARD Mk4 hardware wallet. It adds SHA-256 hashes for two new firmware files (normal and factory versions of v5.4.4) and refreshes the PGP signature that covers the file. There are no code changes, no bug fixes, and no security-relevant behavior changes in this commit.
AI review queuedSigned for q1 release.by Peter D. Gray · 248e0b56 · Sep 25, 2025 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · Peter D. Gray
Signed for q1 release.
28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
signing or wallet pathdocumentation-only discountsecond-pass: opaque commit messagesecond-pass: security-sensitive path
AI analysis · Informational 15/100
This commit only updates the release signature file (releases/signatures.txt). It refreshes SHA-256 hashes for several changelog files and adds hashes for two new Q1 hardware firmware files (v1.3.4Q), plus a new PGP signature over the whole file. There is no source code change, no bug fix, and no security patch in the diff itself.
AI review queuedEditsby Peter D. Gray · ca00ee07 · Sep 25, 2025 · 5 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
This commit only edits documentation and release notes. It moves changelog entries from an upcoming-release file into the published changelog and history files, and rewords a BIP-21 extension description. No source code, firmware logic, or security behavior is changed.
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100
This commit adds a single 'Wait...' loading screen while the COLDCARD searches its ownership cache for a Bitcoin address. It is purely a user-interface improvement to indicate that work is happening; there is no security-relevant code change.
✓ Descriptive subject! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 12/100
This commit updates a single configuration number in the COLDCARD firmware that tells the device the earliest Bitcoin block height at which a certain feature (likely related to 'ccc' or CoinJoin-style coordination) should be considered active. It is a routine date/height bump, not a code change that fixes a vulnerability. By itself it does not appear to introduce or patch a security flaw.
AI review queuedrewordby Peter D. Gray · 1a591a70 · Sep 23, 2025 · 1 fileMessage 0 · OpaqueInformational 15Details
Commit message · Peter D. Gray
reword
0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body
This commit only changes one word in a documentation file. It rephrases a sentence about how COLDCARD handles PSBT warnings under a policy rule. There is no code change, no behavior change, and no security fix or vulnerability introduced.
✓ Mentions testing or verification! Very short subject! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100
This commit only updates test files in the COLDCARD firmware repository. It adjusts test cases to use new internal constants, skips some secure-notes/password checks on non-Q1 hardware, replaces a slow wallet-creation helper with a faster import helper, updates menu navigation labels in a test, and adds a missing assertion for a classic P2PKH address format. There are no changes to firmware source code, no security fixes, and no disclosed vulnerability.
! 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 · Informational 0/100
This commit is titled 'ckcc bump' and changes one line in one file: external/ckcc-protocol. No diff content is available, and no verified references were supplied. There is no visible information about what was changed, why it was changed, or whether it has any security relevance.
AI review queuededitsby Peter D. Gray · 74fd862c · Sep 23, 2025 · 1 fileMessage 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
This commit only edits a documentation file (docs/limitations.md). It updates descriptions of product limitations, such as noting that a previously reserved PIN code is now available, explaining backup file timestamps, adding a note about unsupported pay-to-pubkey transactions, and renaming a feature section. There are no code changes, no bug fixes, and no security-relevant behavior changes in the firmware itself.
AI review queuedcommentsby Peter D. Gray · 0625aa46 · Sep 23, 2025 · 3 filesMessage 0 · OpaqueInformational 15Details
Commit message · Peter D. Gray
comments
0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100
This commit only adds explanatory comments to two source files and makes a tiny, non-functional cleanup in a USB error handler (removing an unused exception variable). It also adds one line to the changelog noting a separate multisig address-format bugfix. The code changes themselves do not alter program behavior or fix any security issue.
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · High 72/100
This commit fixes how COLDCARD handles different Bitcoin address formats in multisig transactions. Previously, the wallet could be tricked into treating inputs or change outputs as belonging to the wrong address type (for example, treating a classic P2SH multisig input as if it were a wrapped SegWit P2SH-P2WSH input, or vice versa). The patch makes the device strictly check that the script type matches the wallet's configured address format and verifies that the script in the transaction actually produces the expected on-chain scriptPubKey. This prevents attackers from deceiving the device about which coins are being spent or where change is going.
✓ Subject identifies a change✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100
This commit only changes test code for the COLDCARD firmware. It adjusts how a test sets up a 'hobbled' Teleport signing scenario by importing wallet data before hobbled mode is enabled, and removes an unused test parameter. There is no change to the actual firmware or wallet behavior, and no security issue is present in the diff.
AI review queuedhide empty menuby Peter D. Gray · 50d20713 · Sep 23, 2025 · 1 fileMessage 28 · OpaqueInformational 20Details
Commit message · Peter D. Gray
hide empty menu
28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 20/100
This commit hides the 'Spending Policy' menu item when the COLDCARD wallet does not actually have a real secret key loaded. Previously, the menu item was always shown, even though it would be empty or non-functional without a real secret. This is a minor UI cleanup rather than a serious security fix.
AI review queuednitsby Peter D. Gray · a8366f55 · Sep 22, 2025 · 1 fileMessage 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
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100
This is a tiny test-only change. It removes an unused function argument (`only_q1`) from a test and adds a short delay (`time.sleep(0.1)`) during a test that simulates user button presses. There is no change to the actual COLDCARD firmware code that users run, and nothing here affects security.
AI review queuednitby Peter D. Gray · 3461ce33 · Sep 22, 2025 · 2 filesMessage 0 · OpaqueInformational 15Details
Commit message · Peter D. Gray
nit
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 is a tiny cleanup commit. It fixes a wording error in the changelog ('after 13 PIN failures, when device is bricked' becomes 'after 13 PIN failures or when device is bricked') and removes an unused local import inside a calculator feature. There is no security-relevant code change.
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body! Contains work-in-progress language
Why it was queued
second-pass: opaque commit message
AI analysis · Moderate 59/100
This commit fixes a security bug in the COLDCARD firmware where the 'SSSP' (a spending-limit / hobbled mode feature) settings were being saved under the current temporary seed instead of the master seed. That meant switching to a different temporary seed could bypass or corrupt the spending policy. The patch forces SSSP settings to be read from and written to the master seed only, and hides the 'Destroy Seed' menu item when only a temporary seed is loaded.
✓ 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 0/100
This commit updates a linked external component (ckcc-protocol) to its latest master version. No actual code changes are shown, and no security-related description is provided. There is not enough information to assess whether this update fixes or introduces any security issue.
✓ Mentions testing or verification! Very short subject! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: opaque commit messagesecond-pass: security-sensitive path
AI analysis · Informational 15/100
This commit only adjusts test files and removes a couple of unused imports from production code. There is no security fix or vulnerability being patched.
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.