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 queuedReject witness-only UTXO for legacy inputs; Suppress fee for unverified witness UTXOs;normalize legacy inputs to proper utxoby scgbckbone · 59eb529a · Jun 23, 2026 · 6 filesMessage 50 · ThinHigh 78Details
Commit message · scgbckbone
Reject witness-only UTXO for legacy inputs; Suppress fee for unverified witness UTXOs;normalize legacy inputs to proper utxo
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 · High 78/100
This update fixes a bug in the COLDCARD hardware wallet where a malicious or malformed Bitcoin transaction file (PSBT) could trick the device into using the wrong amount of money for a non-SegWit (legacy) input. Specifically, if the file only provided a lightweight 'witness UTXO' for a legacy input, the device would trust that amount. An attacker could lie about the amount, making the transaction look like it had a normal fee when it actually sent much more to the miner or another recipient. The fix rejects such files for legacy inputs, prefers the full previous transaction when both types are present, and suppresses fee calculation when a witness-only UTXO cannot be verified as genuinely SegWit.
AI review queuedimprove USB validationby scgbckbone · d5aba396 · Jun 23, 2026 · 4 filesMessage 28 · OpaqueModerate 66Details
Commit message · scgbckbone
improve USB validation
28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Moderate 66/100
This commit tightens input-length checks for commands that COLDCARD receives over its USB interface. Before the change, several commands would accept packets that were too short, too long, or internally inconsistent. That could let a malicious or buggy host computer read beyond intended memory boundaries, pass malformed data deeper into the firmware, or in some cases crash the device. The patch adds explicit length and bounds assertions for many USB commands and adds tests that confirm malformed packets are rejected.
AI review queuedbugfix: 1of1 multisigby scgbckbone · 6fd256db · Jun 23, 2026 · 4 filesMessage 28 · OpaqueLow 42Details
Commit message · scgbckbone
bugfix: 1of1 multisig
28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: opaque commit messagesecond-pass: security-sensitive path
AI analysis · Low 42/100
This commit fixes a bug in the COLDCARD hardware wallet firmware that prevented signing of 1-of-1 multisignature transactions. The change also hardens how the wallet detects single-key P2SH-wrapped SegWit inputs so it no longer misclassifies them as multisig when extra unrelated key paths are present. The bug could cause legitimate transactions to fail, but the patch also reduces the chance that a malformed PSBT could trick the device into treating a simple single-key input as a multisig one.
AI review queuedstabilize testsby scgbckbone · 74d34cfc · Jun 22, 2026 · 5 filesMessage 28 · OpaqueInformational 15Details
Commit message · scgbckbone
stabilize tests
28/100 · OpaqueMessage clarity
✓ Subject identifies a change✓ Mentions testing or verification! 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 changes test files in the COLDCARD firmware repository. It adds setup steps (like returning to the home screen before tests), updates menu navigation to match renamed menu items, and makes test assertions more flexible. There are no changes to the actual firmware or wallet code that users rely on, so this cannot directly affect device security.
AI review queuedtest nitsby scgbckbone · f5a1ef32 · Jun 19, 2026 · 4 filesMessage 0 · OpaqueInformational 15Details
Commit message · scgbckbone
test nits
0/100 · OpaqueMessage clarity
✓ 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 touches test helper code in the COLDCARD firmware repository. It fixes small test issues: allowing PSBT parsing from string input, validating a setting name in a hobble-mode test, and correctly setting sequence numbers and fallback locktimes in fake transaction generators used by multisig and general transaction tests. There is no change to the actual firmware or wallet security logic.
AI review queuedtesting: cope with bitcoin core v30by scgbckbone · 38616234 · Jun 19, 2026 · 2 filesMessage 55 · ThinInformational 15Details
Commit message · scgbckbone
testing: cope with bitcoin core v30
55/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100
This commit only updates the project's automated test harness to work with newer versions of Bitcoin Core (specifically version 30). It changes how tests detect Bitcoin Core's version, handle removed legacy wallet features, and adjust an expected test result about data size limits. There is no change to the COLDCARD firmware itself or to any code that runs on the device, so this has no security relevance for end users.
AI review queuedcreditby Peter D. Gray · f9b65ce9 · Jun 19, 2026 · 1 fileMessage 0 · OpaqueInformational 15Details
Commit message · Peter D. Gray
credit
0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body
This commit only adds a thank-you credit to an upcoming release changelog. It does not change any source code, firmware behavior, or fix anything by itself. The actual bugfix it references (ignoring an unexpected 'bkpw' field in backups) was made in some earlier commit not shown here.
AI review queuedDon't restore cached backup password (bkpw) from backup fileby Dmitry Monakhov · 8d71040a · Jun 19, 2026 · 1 fileMessage 73 · AdequateHigh 72Details
Commit message · Dmitry Monakhov
Don't restore cached backup password (bkpw) from backup file
Restore mirrored the write-side strip of bkpw: a crafted backup could inject setting.bkpw and fixate the password used for future backups. Drop it on restore
73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Why it was queued
second-pass: broader security terminology
AI analysis · High 72/100
This update fixes a security flaw in how the COLDCARD wallet restores its settings from a backup file. Previously, a tampered backup could secretly set the password used for future backups, letting an attacker who later gets physical access predict or control backup encryption. The fix ignores that 'cached backup password' field during restore, so backups cannot smuggle in a chosen password.
AI review queuedBump requests from 2.32.4 to 2.33.0 in /testingby dependabot[bot] · 5feae87e · Jun 19, 2026 · 1 fileMessage 86 · StrongInformational 15Details
Commit message · dependabot[bot]
Bump requests from 2.32.4 to 2.33.0 in /testing
Bumps [requests](https://github.com/psf/requests) from 2.32.4 to 2.33.0. - [Release notes](https://github.com/psf/requests/releases) - [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md) - [Commits](https://github.com/psf/requests/compare/v2.32.4...v2.33.0)
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification✓ Links an issue, advisory, or supporting reference
This is an automated dependency update by Dependabot that bumps the Python 'requests' library used only in the project's testing environment from version 2.32.4 to 2.33.0. It changes one line in a test requirements file. There is no indication this affects the COLDCARD firmware itself or introduces a security issue.
AI review queuedbugfix: "Send Password" menu item visibility reversed, do not store password as None, UX fixesby scgbckbone · 2b5178bd · Apr 20, 2026 · 3 filesMessage 50 · ThinLow 38Details
Commit message · scgbckbone
bugfix: "Send Password" menu item visibility reversed, do not store password as None, UX fixes
50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
second-pass: broader security terminology
AI analysis · Low 38/100
This update fixes three small but real bugs in the COLDCARD's Notes & Passwords feature. The most important fix corrects a reversed menu setting: the 'Send Password' option was accidentally shown only when USB was disabled, and hidden when USB was enabled. It also prevents the device from storing a blank password as the special value 'None', which could crash the device later when sending a password. Finally, it stops a misleading 'Saving...' message from appearing after a failed import.
! Very short subject! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: opaque commit messagesecond-pass: security-sensitive path
AI analysis · Low 26/100
This commit only fixes spelling mistakes in comments and user-facing text strings across nine source files. There are no code logic changes, no security fixes, and no functional behavior differences.
AI review queuedSigned for Edge release.by Peter D. Gray · 29ef16be · Mar 25, 2026 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · Peter D. Gray
Signed for Edge 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 signed release manifest file (signatures.txt). It refreshes SHA-256 hashes for changelog files and adds hashes for two new firmware build files, then re-signs the file with a PGP signature. There is no source code change and no security fix or vulnerability present in the diff itself.
AI review queuededitsby Peter D. Gray · 15191eaa · Mar 12, 2026 · 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 README file in the hardware documentation folder. It reformats a list of spreadsheet filenames and updates a sentence from singular to plural. There are no code changes, no firmware changes, and no security-related content.
AI review queuedMk5 hardware detailsby Peter D. Gray · 717a3f59 · Mar 12, 2026 · 3 filesMessage 28 · OpaqueInformational 15Details
Commit message · Peter D. Gray
Mk5 hardware details
28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100
This commit simply adds public hardware documentation for the COLDCARD Mk5 (a schematic image and a bill-of-materials spreadsheet) and updates the README to list them. There is no code change, no firmware change, and nothing that alters security behavior.
AI review queuedmk5 now publicby Peter D. Gray · 50b1704c · Mar 10, 2026 · 4 filesMessage 28 · OpaqueInformational 15Details
Commit message · Peter D. Gray
mk5 now public
28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100
This commit is a routine documentation and asset update announcing that the COLDCARD Mk5 hardware is now publicly supported. It updates the README to reference Mk5 images and wording, adds a changelog note that firmware 5.5.0 supports both Mk4 and Mk5, and replaces/adds simulator background images for the Mk5. There is no code change and no security-relevant behavior is modified.
AI review queuedupdate logsby Peter D. Gray · 6f6563c2 · Mar 5, 2026 · 4 filesMessage 0 · OpaqueInformational 15Details
Commit message · Peter D. Gray
update logs
0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body
This commit only edits release notes and changelogs. It moves completed feature and bugfix descriptions from an unpublished 'Next-ChangeLog' file into the published 'ChangeLog' and historic release notes, and resets the draft file to placeholder 'tbd' entries. No source code, firmware logic, or security behavior is changed.
AI review queuedSigned for mk release.by Peter D. Gray · 1ea83d9b · Mar 5, 2026 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · Peter D. Gray
Signed for mk 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. It adds two new cryptographic hashes for recently built firmware files and refreshes the PGP signature that covers the file. There are no code changes, no bug fixes, and no security-relevant behavior changes in the firmware itself.
AI review queuedSigned for q1 release.by Peter D. Gray · 6541812e · Mar 5, 2026 · 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. It adds cryptographic hashes and a PGP signature for a new COLDCARD firmware release (version 1.4.0Q for the Q1 hardware model) and updates the hash for the Next-ChangeLog.md file. There are no code changes, bug fixes, or security patches in this commit.
AI review queuedmby Peter D. Gray · 2604f4d0 · Mar 5, 2026 · 1 fileMessage 0 · OpaqueInformational 15Details
Commit message · Peter D. Gray
m
0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body
This commit only updates placeholder release dates in a changelog file (from '2065-03-xx' to '2065-03-05'). It makes no code changes and has no security relevance.
AI review queuedhandle WIF import duplicatesby scgbckbone · c6da2612 · Mar 5, 2026 · 2 filesMessage 35 · OpaqueLow 27Details
Commit message · scgbckbone
handle WIF import duplicates
35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Low 27/100
This commit fixes a bug in the COLDCARD hardware wallet's WIF (Wallet Import Format) key import feature. Previously, if a user tried to import a file containing the same private key twice, the code could incorrectly count it as a duplicate of an already-saved key rather than as a duplicate within the import file itself. This could cause the import to fail with a misleading 'duplicate WIF(s)' error even when no keys were actually saved yet. The fix properly distinguishes between duplicates inside the import file and duplicates of already-stored keys. There is no direct evidence this is a security vulnerability—it's primarily a usability/robustness fix.
AI review queuedrc2+factoryby Peter D. Gray · 538b1a6d · Mar 5, 2026 · 1 fileMessage 0 · OpaqueInformational 15Details
Commit message · Peter D. Gray
rc2+factory
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 build-system step that creates an additional release file for factory programming. It does not change any firmware code, cryptographic checks, or user-facing behavior. There is no indication of a security vulnerability.
AI review queuednitsby Peter D. Gray · 2edf3c72 · Mar 5, 2026 · 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 commit makes only cosmetic changes to the COLDCARD firmware: it changes a screen title from 'WIF' to 'WIF Key' and adds a few blank lines for readability. There is no functional code change and no security impact.
AI review queuedbump ccc_min_blockby scgbckbone · 00beed7b · Mar 5, 2026 · 1 fileMessage 18 · OpaqueInformational 19Details
Commit message · scgbckbone
bump ccc_min_block
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 19/100
This commit simply updates a date-based block-height threshold in the COLDCARD firmware from a November 2025 value to a March 2026 value. It appears to be a routine scheduling change for a feature tied to a specific Bitcoin block height, not a security fix in itself. There is no evidence in the commit of a vulnerability being patched.
AI review queuedWIF store testingby scgbckbone · 12e0af3f · Mar 5, 2026 · 8 filesMessage 38 · OpaqueInformational 15Details
Commit message · scgbckbone
WIF store testing
38/100 · OpaqueMessage clarity
✓ Subject identifies a change✓ Mentions testing or verification! 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 purely a test-code reorganization. It moves existing WIF-store-related test cases from several scattered test files into a single dedicated test file (test_wif.py), updates test runner configuration, and removes duplicate imports. There is no change to the actual firmware or security-sensitive code.
AI review queuedbumpby Peter D. Gray · d893575e · Mar 5, 2026 · 2 filesMessage 0 · OpaqueInformational 15Details
Commit message · Peter D. Gray
bump
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 version and date bump for two auto-generated files. It updates copyright year, build date, firmware version number, and a corresponding timestamp constant used when the device writes files to a microSD card. There is no code logic change and no security relevance visible in the diff.