Amber nodes are monitored by CommitWatch. Gray nodes are sampled from authenticated GitHub public commit search and may not represent complete contribution history.
This commit simply adds a new Bitcoin wallet integration file named 'coconut.py' to the firmware build list. It is a one-line manifest change with no visible security implications on its own.
This firmware update fixes a bug in how Passport checks whether a Bitcoin transaction's 'change' output is safe to send back to the user's own wallet. For modern Taproot-style transactions, the device was skipping an important ownership ch…
dangerous change check bypass on Taproot inputsmissing validation path for tap_subpathsPSBT input ownership verification gap
This commit tweaks the code that converts a user's BIP39 recovery phrase (mnemonic words) into secret bits inside a hardware wallet. The change removes an 'if' branch during word copying so the loop always writes to the same positions, reg…
Branchless, constant-time-style copy of sensitive input wordsMasking of post-delimiter bytes to zero to avoid information leakage via memory access patternsRemoval of conditional stores that depended on word length
This commit only rewrites two code comments in a BIP39 mnemonic parser to be shorter and clearer. It does not change any executable code, logic, or behavior. There is no security-relevant change.
This commit only rewrites comments in a source file that handles BIP39 seed phrases. No code logic, buffer sizes, or function behavior were changed. It is a documentation-only cleanup and does not affect security.
This commit hardens the code that converts a user's BIP39 recovery phrase (seed words) into secret bits. It fixes a bug where 8-character words were wrongly rejected, makes the loop length independent of the number of words to reduce timin…
Timing-side-channel mitigation: outer loop iteration count made independent of mnemonic word countOut-of-bounds read prevention: inner loop index bounded against sizeof(padded)-1Off-by-one fix: inner loop bound changed from BIP39_MAX_WORD_LEN-1 to BIP39_MAX_WORD_LEN
This commit hardens the code that converts a user's BIP-39 seed phrase into secret data. It removes timing and loop-behavior clues that an attacker with physical access might measure to learn how many words the phrase has, how long each wo…
Constant-time / secret-independent control-flow hardeningRemoval of input-length-dependent loops in mnemonic parsingRemoval of early returns on invalid word length
This commit is a defensive hardening change for the BIP-39 seed-word handling code in the Passport hardware wallet firmware. It restructures how the English word list is stored so that a constant-time word comparison function can safely re…
Constant-time/side-channel hardeningFixed-width wordlist storage to avoid out-of-bounds reads in constant-time comparisonRemoval of unreliable wall-clock timing assertions from CI tests
This is a small build-tool fix in the factory/secrets-injection utility used during Passport device manufacturing. It replaces a non-portable type name (`ulong`) with the standard C type (`unsigned long`) and removes a compiler flag that w…
Type portability fix in a secrets-injection build toolRemoval of a compiler warning suppression that masked a type errorNo change to runtime logic, buffer size, or secret handling observed
This commit fixes a minor return-value bug in the Passport hardware wallet's health-check flow. When the user cancels message signing, the flow now returns 'None' instead of 'False'. This is a correctness fix that likely prevents a downstr…
Return-type correction in user-cancellation path of signing flowPotential semantic confusion between 'cancelled' and 'failed' health check result
This commit is purely cosmetic: it reformats Python code to follow style rules, fixes spacing around '@classmethod' decorators, and adds an auto-formatting tool (autopep8) to the developer environment. No program behavior or security prope…
This firmware update fixes a bug where the Bitcoin address shown on the Passport hardware wallet screen before signing could differ from the address actually used to create the signature. The fix makes the signing task verify that the addr…
Address mismatch check added between previewed and signed addressesSeparation of display-formatted address from canonical address used for signingRefactoring to consolidate signing logic through HealthCheckCommonFlow
This commit simply removes an unused feature that let users sign a text file from a microSD card. There is no indication of a security bug being fixed; it appears to be dead-code cleanup.
This commit removes unused build dependencies from a Nix build script that adds secrets to Passport firmware. The change drops references to pkg-config and OpenSSL that were apparently not actually needed. There is no direct evidence this …
Reduction of build dependencies can be considered a minor supply-chain/attack-surface hardening measure, but no explicit security claim is made.No memory safety, cryptographic, authentication, or authorization changes are visible.
This commit adds a developer-only build helper called 'add-secrets' to the project's Nix development shell. It does not change the firmware that runs on user devices, nor does it alter how secrets are generated, stored, or protected in pro…
This firmware update fixes two issues in the Passport hardware wallet's message-signing feature. First, it adds a user confirmation screen when signing a message from a microSD card in normal (non-health-check) mode, so the user can see th…
Missing user confirmation before signing from microSD in normal modeAddress not shown to user prior to signature productionExported signed-message format used mismatched/ambiguous delimiters
This commit is a housekeeping change. It removes an old license metadata file (.reuse/dep5) and replaces it with a newer TOML-format file (REUSE.toml). It also updates a build helper script (Justfile) to remove a now-unnecessary command-li…
This commit tightens how Passport checks that all inputs in a Bitcoin transaction belong to the same wallet account. Previously, the firmware only compared a partial derivation path prefix, which could have allowed mixing inputs from diffe…
Input validation change in PSBT signing pathNew explicit purpose-field check for BIP-44/49/84/86 derivation pathsDefensive tightening of 'super-account' path-mismatch logic
This firmware update changes how Passport checks whether a Bitcoin transaction's change output looks suspicious. The device previously compared the full beginning portion of the derivation path, which caused false alarms when a user combin…
Relaxation of change-output path-prefix validationExplicit handling of multi-purpose 'super-account' walletsWarning message still displays the full original prefix for user visibility