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 queuedbetter bumpageby Peter D. Gray · ee36d35a · Jul 31, 2026 · 3 filesMessage 18 · OpaqueInformational 15Details
Commit message · Peter D. Gray
better bumpage
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 only changes version numbers in the changelog and two build makefiles. It does not modify any code, fix any bug, or alter any behavior. The actual security-relevant fix for the 'limited entropy bug' is not present in this diff.
AI review queuedupdateby Peter D. Gray · 9b80afcc · Jul 31, 2026 · 2 filesMessage 0 · OpaqueInformational 15Details
Commit message · Peter D. Gray
update
0/100 · OpaqueMessage clarity
! Generic or placeholder 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 two automatically generated files that store a fixed build date and firmware version number used for timestamps on files written to SD cards. The actual code logic did not change; only the hardcoded date and version constants were bumped from June 30, 2026 to July 30, 2026, and from 5.5.1/1.4.1Q to 5.5.2/1.4.2Q. There is no security-relevant change visible in the diff.
AI review queuedupdate block heightby Peter D. Gray · 6691ba63 · Jul 31, 2026 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · Peter D. Gray
update block height
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 updates a hardcoded Bitcoin block height number in a firmware file, moving it forward by two blocks. There is no code change that affects security, user funds, or device behavior beyond reflecting a slightly later point in time.
AI review queuedupdate block heightby Peter D. Gray · ea19aeef · Jul 31, 2026 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · Peter D. Gray
update block height
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 updates a stored Bitcoin blockchain height number and its timestamp in a generated data file. It is a routine data refresh with no code changes and no apparent security relevance.
AI review queuedrelease notes udpatedby Peter D. Gray · c3f7529a · Jul 31, 2026 · 4 filesMessage 28 · OpaqueCritical 90Details
Commit message · Peter D. Gray
release notes udpated
28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
This commit updates Coldcard's release notes to announce an urgent security fix for a 'limited entropy' bug in how the device generates wallet seeds. On older Mk3 hardware, seeds created after firmware 4.0.1 may have only about 40 bits of randomness—far weaker than the intended 256 bits—making them far easier for an attacker to guess. Newer Mk4, Mk5, and Q devices may also have seeds with only about 72 bits. The company is telling users to regenerate their seeds with the new firmware and to stop generating seeds on Mk3 devices. This specific commit only changes documentation; the actual code fix is in a different commit.
Security candidatefixes rngby Peter D. Gray · ca724637 · Jul 31, 2026 · 11 filesMessage 0 · OpaqueCritical 91Details
Commit message · Peter D. Gray
fixes rng
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
entropy or randomnessseed or entropy path
AI analysis · Critical 91/100
This commit fixes a critical random-number bug in COLDCARD hardware wallets. The device was accidentally using a weak, software-based fallback random generator instead of its secure hardware one when creating Bitcoin seed phrases. Because the fallback generator had very little real randomness, attackers who captured a public transaction or signature could potentially figure out the wallet's private keys and steal funds. The patch forces the build to use the hardware random source and adds a build-time check to make sure the weak fallback is never linked in again. Coinkite issued an emergency hotfix and warned users to move funds from wallets created with affected firmware.
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing boundary
AI analysis · Low 44/100
This update fixes a bug in the COLDCARD hardware wallet where short PSBT (Partially Signed Bitcoin Transaction) files could be mistaken for partial firmware uploads when their size landed near a specific firmware-probe boundary. The fix adds a length check so the device only treats a chunk as a firmware header probe when the incoming data block is exactly 256 bytes long. If the bug were triggered, a legitimate PSBT upload might be misclassified, potentially causing the upload to fail or behave unexpectedly. There is no evidence in the commit of malicious exploitation or a security bypass.
✓ Descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
signing boundarysigning or wallet path
AI analysis · Informational 15/100
This commit only updates the COLDCARD firmware's internal test suite to remain compatible with Bitcoin Core version 32. It adds helper methods to read and set locktime in a way that works for both old PSBT version 0/1 and new PSBT version 2, and changes test calls to Bitcoin Core so they request PSBT version 0 when the newer Core would otherwise default to version 2. There is no change to the actual firmware code that runs on the device, and no security vulnerability is fixed or introduced.
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
secret or key materialcryptography-sensitive pathsigning or wallet path
AI analysis · Low 48/100
This commit tightens the rules for messages that COLDCARD will sign using the BIP-322 proof-of-reserves feature. Previously, non-ASCII characters were allowed with only a warning; now the message must be plain printable ASCII (with limited exceptions), must be 2-330 characters long, and cannot have tricky spacing. This reduces the chance that a crafted message could mislead the user into signing something they did not intend.
AI review queuedBump pillow from 12.1.1 to 12.3.0 in /misc/q1fontby dependabot[bot] · bcc2c382 · Jul 21, 2026 · 1 fileMessage 76 · AdequateInformational 12Details
Commit message · dependabot[bot]
Bump pillow from 12.1.1 to 12.3.0 in /misc/q1font
Bumps [pillow](https://github.com/python-pillow/Pillow) from 12.1.1 to 12.3.0. - [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/12.1.1...12.3.0)
This is a routine automated update by Dependabot that bumps the Python Pillow image-processing library from version 12.1.1 to 12.3.0 inside a small helper tool used only for font generation. The commit itself does not describe any security problem, and the changed file is not part of the COLDCARD firmware that runs on the device. It is best treated as normal maintenance, though any dependency update can in principle include undisclosed fixes.
AI review queuedfix: can crash if scanner not initializedby scgbckbone · aaab8a78 · Jul 21, 2026 · 1 fileMessage 57 · ThinLow 33Details
Commit message · scgbckbone
fix: can crash if scanner not initialized
57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
second-pass: broader security terminology
AI analysis · Low 33/100
This is a small bug-fix in the COLDCARD hardware wallet's battery monitoring code. It prevents a crash that could occur if a background battery check runs before the QR-code scanner module has finished starting up. The change makes the code safely skip the check when the scanner isn't ready yet, rather than trying to read a value that doesn't exist and crashing.
AI review queuedyearby Peter D. Gray · a9c99a9b · Jul 2, 2026 · 1 fileMessage 0 · OpaqueInformational 15Details
Commit message · Peter D. Gray
year
0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body
This commit only corrects two placeholder release dates in the changelog from the year 2065 to 2026. There are no code changes, no functional changes, and no security relevance.
AI review queuedSigned for mk release.by Peter D. Gray · e2e5bbe1 · Jul 1, 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 file checksums for a COLDCARD firmware release (version 5.5.1 for the 'mk' model) and refreshes the PGP signature that covers the file. There is no code change, no bug fix, and no security patch in the diff itself.
AI review queuedupdate block heightby Peter D. Gray · 336b8968 · Jul 1, 2026 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · Peter D. Gray
update block height
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 updates a hardcoded Bitcoin block height number in a single file by one block. There is no security issue visible in the change itself.
AI review queuedSigned for q1 release.by Peter D. Gray · 0212955c · Jul 1, 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 (signatures.txt). It refreshes SHA-256 hashes for changelog/history files and adds hashes for two new Q1 firmware release files, plus updates the PGP signature that covers the file. There is no source code change and nothing that directly affects device security.
AI review queuedupdate block heightby Peter D. Gray · 4a4442f1 · Jul 1, 2026 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · Peter D. Gray
update block height
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 updates a hardcoded Bitcoin blockchain height number and its timestamp in a firmware file. It is a routine data refresh with no code changes and no apparent security implications.
AI review queueddate slipby Peter D. Gray · 0c8122f5 · Jul 1, 2026 · 1 fileMessage 0 · OpaqueInformational 15Details
Commit message · Peter D. Gray
date slip
0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body
This commit only updates two release dates in a changelog file from June 30 to July 1, 2065. There are no code changes, no security fixes, and no functional changes of any kind.
AI review queuedupdates for Tahoeby Peter D. Gray · 02e054c8 · Jun 30, 2026 · 2 filesMessage 28 · OpaqueInformational 15Details
Commit message · Peter D. Gray
updates for Tahoe
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 only updates build instructions and a Makefile for compiling the COLDCARD simulator on macOS. It removes a hardcoded PKG_CONFIG_PATH workaround and updates the README to tell users to install pkgconf and libffi themselves. There is no change to firmware code, wallet logic, cryptography, or anything that handles secrets or transactions.
AI review queuedmore editingby Peter D. Gray · 2303b47c · Jun 30, 2026 · 1 fileMessage 18 · OpaqueInformational 15Details
Commit message · Peter D. Gray
more editing
18/100 · OpaqueMessage clarity
✓ Subject identifies a change! Too few words to establish purpose! No meaningful explanatory body
This commit only edits the release changelog text. It reorders and rewords bugfix entries, adds one new NFC-related note, and removes some duplicate lines. No source code, firmware logic, or security behavior was changed.
AI review queuedupdate block heightby Peter D. Gray · 5081f8cc · Jun 30, 2026 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · Peter D. Gray
update block height
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 updates a stored Bitcoin blockchain height number from 932,301 to 956,098, along with its timestamp. There is no code logic change, no bug fix, and no security-related content.
AI review queuedcorrect version!by Peter D. Gray · ec4c4853 · Jun 30, 2026 · 1 fileMessage 18 · OpaqueInformational 2Details
Commit message · Peter D. Gray
correct version!
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 · Informational 2/100
This commit appears to be a one-line version correction in a submodule reference (external/ckcc-protocol). No code changes are visible, and no security relevance is stated or inferable from the available information.
AI review queuedcleaner/better checkby Peter D. Gray · a4ae6c88 · Jun 30, 2026 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · Peter D. Gray
cleaner/better check
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 simplifies a build-time check that verifies the correct versions of submodules are being used. It does not change what is being checked, only how the result is reported. There is no indication this is a security fix.
AI review queuedUpdated for todayby Peter D. Gray · 81cbc472 · Jun 30, 2026 · 2 filesMessage 28 · OpaqueInformational 15Details
Commit message · Peter D. Gray
Updated for today
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 only updates two automatically-generated timestamp files used to set dates on files created by the COLDCARD hardware wallet. It changes the recorded build date from March 5, 2026 to June 30, 2026, and bumps the firmware version numbers from 5.5.0 to 5.5.1 (MK4) and 1.4.0Q to 1.4.1Q (Q1). There is no security-relevant code change.
AI review queueddebug helperby Peter D. Gray · e9552c5f · Jun 30, 2026 · 1 fileMessage 18 · OpaqueInformational 15Details
Commit message · Peter D. Gray
debug helper
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 is a tiny build-script change for the COLDCARD hardware wallet firmware. It makes two Makefile adjustments: the release-candidate build target now depends on a submodule-check step, and a cleanup command is silenced so it doesn't print to the screen. There is nothing here that affects device security, user funds, or runtime behavior.