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.
Security candidatebugfix: do not offer to show QR code of TXID if txn is not finalizedby scgbckbone · c19be4f4 · Mar 4, 2026 · 2 filesMessage 50 · ThinLow 28Details
Commit message · scgbckbone
bugfix: do not offer to show QR code of TXID if txn is not finalized
50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathauthentication path
AI analysis · Low 28/100
This commit fixes a small user-interface bug in the COLDCARD hardware wallet. Previously, after signing a transaction that was not yet finalized, the device still offered a menu option to display a QR code of the transaction ID (TXID). Because the transaction ID can only be reliably computed once the transaction is finalized, offering the QR code earlier could mislead the user or show invalid/incomplete data. The fix hides that QR-code option unless the transaction is finalized. There is no direct evidence of funds being stolen or a remote attack.
AI review queuededitsby Peter D. Gray · e92a8ccd · Mar 4, 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 the wording of an unreleased changelog file. It rephrases descriptions of upcoming features and reclassifies one item from 'Bugfix' to 'Enhancement'. No source code, firmware logic, or security behavior was changed.
AI review queuedcode formatingby Peter D. Gray · 7d937aca · Mar 4, 2026 · 1 fileMessage 18 · OpaqueInformational 15Details
Commit message · Peter D. Gray
code formating
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 purely cosmetic: it reformats a few lines of Python code in the COLDCARD firmware without changing what the code actually does. There is no security-relevant change.
AI review queuedadd ./debug/*by Peter D. Gray · 382eef61 · Mar 4, 2026 · 1 fileMessage 18 · OpaqueInformational 15Details
Commit message · Peter D. Gray
add ./debug/*
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 simply adds a 'debug/' directory to the .gitignore file in the project's testing folder. This tells Git to ignore files placed in that folder. It is a routine development housekeeping change with no visible security relevance.
Lower-priorityshow descriptor & key expression in story; signed key expression exportby scgbckbone · cfc46b56 · Mar 4, 2026 · 3 filesMessage 50 · ThinInformational 17Details
Commit message · scgbckbone
show descriptor & key expression in story; signed key expression export
50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 17/100
This commit changes how COLDCARD displays and exports Bitcoin wallet descriptors and key expressions. It shows the descriptor/key expression on the device screen before exporting, and it now cryptographically signs key-expression exports when saved to SD card or virtual disk. The change is a user-experience and anti-tampering improvement, not a fix for an active security flaw.
Security candidateprevent dupe inputs for specific kind of path_mappersby scgbckbone · 45542d1d · Mar 4, 2026 · 3 filesMessage 50 · ThinInformational 12Details
Commit message · scgbckbone
prevent dupe inputs for specific kind of path_mappers
50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
cryptography-sensitive path
AI analysis · Informational 12/100
This commit only changes test helper code that creates fake Bitcoin transactions for automated testing. It makes each fake transaction input use a slightly different placeholder identifier instead of reusing the same dummy identifier. There is no change to the actual COLDCARD firmware or wallet security code, and no indication this fixes a real-world vulnerability.
Lower-prioritybugfix: dramatic pause progress bar off by oneby scgbckbone · 470fe284 · Mar 4, 2026 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · scgbckbone
bugfix: dramatic pause progress bar off by one
45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 15/100
This is a tiny visual fix for a progress bar shown during a brief on-screen pause. The first frame was previously empty (0%) and the last frame was never reached, so the bar now starts at a small fraction and ends at 100%. There is no security relevance.
Lower-prioritytypo in Nuke Device UX messageby scgbckbone · 6c247d48 · Mar 4, 2026 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · scgbckbone
typo in Nuke Device UX message
45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 15/100
This commit fixes a single missing space in a user-facing warning message shown before the COLDCARD device wipes itself and becomes permanently unusable. The text previously read 'purgeall related settings' instead of 'purge all related settings'. There is no security issue, no code behavior change, and no risk to users beyond a slightly awkward sentence.
AI review queuedslight reworkby Peter D. Gray · 6f366d16 · Feb 25, 2026 · 3 filesMessage 18 · OpaqueHigh 79Details
Commit message · Peter D. Gray
slight rework
18/100 · OpaqueMessage clarity
✓ Subject identifies a change! 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 · High 79/100
This commit fixes a bug in the COLDCARD hardware wallet's handling of Bitcoin transaction files (PSBTs). Previously, the wallet only checked the most recent 50 inputs for duplicates, so a malicious transaction with more than 50 inputs could spend the same coin twice without being detected. The fix now checks up to 100 inputs and uses a more reliable data structure. This could have allowed an attacker to trick a user into signing a transaction that moves more money than it appears to.
AI review queuedoptimizations, pettyby Peter D. Gray · d53c7b2e · Feb 25, 2026 · 1 fileMessage 18 · OpaqueInformational 11Details
Commit message · Peter D. Gray
optimizations, petty
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 11/100
This is a tiny code cleanup in a Bitcoin transaction serialization helper. It removes an unused bytes-to-hex function and avoids creating an empty COutPoint object before deserializing one. There is no apparent security issue.
AI review queuededitsby Peter D. Gray · 598ccda8 · Feb 25, 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 the upcoming release changelog file. It reorders two bugfix entries and changes some backtick formatting to quotation marks in feature descriptions. No source code, firmware logic, or security behavior was changed.
AI review queuedbugfix: duplicate inputsby scgbckbone · 1bbaeef4 · Feb 25, 2026 · 3 filesMessage 28 · OpaqueModerate 66Details
Commit message · scgbckbone
bugfix: duplicate inputs
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 · Moderate 66/100
This commit fixes a bug in the COLDCARD hardware wallet where a Bitcoin transaction could contain the same input coin twice without being detected. The patch now checks for duplicate inputs while the wallet is reviewing a transaction to sign. However, the fix only remembers the last 50 inputs, so duplicates more than 50 positions apart are still missed. The included test confirms this limitation.
AI review queuedBump pillow from 10.3.0 to 12.1.1 in /misc/q1fontby dependabot[bot] · eb50a0e1 · Feb 25, 2026 · 1 fileMessage 76 · AdequateInformational 11Details
Commit message · dependabot[bot]
Bump pillow from 10.3.0 to 12.1.1 in /misc/q1font
Bumps [pillow](https://github.com/python-pillow/Pillow) from 10.3.0 to 12.1.1. - [Release notes](https://github.com/python-pillow/Pillow/releases) - [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst) - [Commits](https://github.com/python-pillow/Pillow/compare/10.3.0...12.1.1)
This is a routine automated update by Dependabot that bumps the Python Pillow image-processing library from version 10.3.0 to 12.1.1 inside a small helper tool used to build fonts for the COLDCARD hardware wallet. The change itself is a single line in a requirements file. It is not a fix for a known, actively exploited vulnerability in the COLDCARD firmware, and the affected helper tool is not part of the wallet's runtime security boundary.
AI review queuededitsby Peter D. Gray · 08d0a70d · Feb 25, 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 the upcoming release changelog file. It fixes two typos ('sesnsitive' to 'sensitive', 'your' to 'you'), capitalizes one bullet point, and adds a documentation link for a new BIP-322 proof-of-reserve feature. No source code, firmware logic, or security behavior was changed.
Security candidateMSG->Message when we have spaceby Peter D. Gray · a3d5d615 · Feb 25, 2026 · 2 filesMessage 45 · ThinInformational 15Details
Commit message · Peter D. Gray
MSG->Message when we have space
45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
cryptography-sensitive pathauthentication path
AI analysis · Informational 15/100
This commit only changes user-facing text labels in the COLDCARD firmware. It expands the abbreviation 'MSG' to 'Message' on screens that have enough space, and updates the corresponding automated tests to match the new wording. There is no change to security logic, cryptography, or how data is handled.
AI review queuedadd BIP-322 featureby Peter D. Gray · 9f832476 · Feb 25, 2026 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · Peter D. Gray
add BIP-322 feature
28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
This commit only adds a one-line note to the upcoming-release changelog announcing a new BIP-322 'Proof of Reserve' signing feature. No source code, tests, build files, or documentation beyond the changelog were changed. There is nothing in the diff that introduces, fixes, or changes any security-relevant behavior.
AI review queuededitsby Peter D. Gray · 78195d8f · Feb 25, 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 Markdown documentation file about BIP-322 Proof of Reserves. It rewords headings, fixes formatting, adds clarifying sentences, and updates a link style. No source code, firmware logic, or security behavior changed.
AI review queuedmove 2by scgbckbone · 4ce43c74 · Feb 25, 2026 · 2 filesMessage 0 · OpaqueInformational 11Details
Commit message · scgbckbone
move 2
0/100 · OpaqueMessage clarity
! 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 11/100
This commit makes a tiny code change and adds a few test cleanup button presses. It does not appear to fix or introduce any security issue. The code change updates one call to a user-prompt function to include a new 'Electrum' label argument, likely matching a recent refactor in that helper function. The test change presses 'cancel' three extra times after a test step, probably to close leftover menus.
✓ Descriptive subject! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
authentication path
AI analysis · Informational 22/100
This is a small code cleanup in the COLDCARD firmware that switches BIP-322 message hashing from a software double-SHA256 to a hardware-accelerated tagged-SHA256 function. The change removes a TODO comment and uses a dedicated function (ngu.hash.sha256t) that the hardware can speed up. There is no direct evidence in the commit of a security vulnerability being fixed; it appears to be a performance and maintainability improvement.
! Very short subject! Too few words to establish purpose! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
cryptography-sensitive pathauthentication path
AI analysis · Informational 21/100
This commit makes a small user-interface change in the COLDCARD firmware for BIP-322 proof-of-reserves signing. When the user chooses to type in the human-readable message manually, pressing Cancel on the empty text-entry screen now returns to the signing flow instead of aborting the entire operation. The change is accompanied by new tests that verify the device rejects empty or wrong messages with clear failure screens. There is no direct evidence in the commit that this fixes an exploitable security vulnerability; it appears to be a usability improvement to prevent accidental cancellation.
Security candidateBIP-322 Proof of Reservesby scgbckbone · 5d7d5d88 · Feb 25, 2026 · 7 filesMessage 45 · ThinLow 37Details
Commit message · scgbckbone
BIP-322 Proof of Reserves
45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
cryptography-sensitive pathsigning or wallet pathauthentication path
AI analysis · Low 37/100
This commit adds support for BIP-322 Proof of Reserves signing on COLDCARD hardware wallets. It lets users prove they control certain Bitcoin addresses by signing a special non-spending transaction, without actually moving funds. The change also allows transaction version 0 only for these proof-of-reserve transactions, and blocks it for normal payments to prevent potential misuse.
This commit adds a new user-facing verification step for BIP-322 'Proof of Reserves' messages on the COLDCARD hardware wallet. Before signing a proof-of-reserves transaction, the device now asks the user to import or type the original human-readable message, checks that it matches the cryptographic hash embedded in the transaction, and shows it on screen for approval. This is a security-hardening feature: it closes a gap where the user might otherwise sign a proof without seeing what message they are actually attesting to. The commit itself is defensive and does not appear to introduce an obvious vulnerability, but it is a partial implementation (marked with TODOs) and the change is large enough that bugs in the new input paths could affect signing safety.
Lower-prioritybump libngu to version with HW accelerated tagged_sha256by scgbckbone · 0c43c802 · Feb 25, 2026 · 1 fileMessage 50 · ThinInformational 15Details
Commit message · scgbckbone
bump libngu to version with HW accelerated tagged_sha256
50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 15/100
This commit updates an internal library (libngu) used by the COLDCARD hardware wallet to a newer version that adds hardware-accelerated tagged_sha256. Tagged SHA-256 is a special way of computing cryptographic hashes used in Bitcoin-related operations. The change itself is a one-line version bump of a submodule, with no diff showing what actually changed inside the library. There is no direct evidence this fixes a security vulnerability; it appears to be a performance or capability upgrade.
AI review queuedblue wallet export optionby scgbckbone · 5047512b · Feb 24, 2026 · 4 filesMessage 35 · OpaqueInformational 15Details
Commit message · scgbckbone
blue wallet export option
35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100
This commit adds a new menu option that lets COLDCARD users export their public wallet information in a format compatible with Blue Wallet. It reuses the existing Electrum export code and only changes labels and filenames. There is no indication of a security bug or vulnerability.
AI review queuedreviewby scgbckbone · 9862f53b · Feb 24, 2026 · 1 fileMessage 0 · OpaqueInformational 15Details
Commit message · scgbckbone
review
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 changes a single line in a test file. The test previously checked that a menu item called 'Menu Wrapping' was not present; it now checks that 'Buried Settings' is not present. This is purely a test-code update matching the test to the current user-interface labels. There is no firmware behavior change and no security relevance visible in the diff.