SS
← All projectsSeedSigner

SeedSigner

Stateless, air-gapped Bitcoin signing software for Raspberry Pi hardware.

BitcoinHardware walletsNormal
Repository coverage

229 commits in the local evidence base

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.

168security candidates28second-pass queue223AI analyses
14commits · 30 days
40commits · 60 days
60commits · 180 days
204commits · 365 days
Backfill bands
Aug 5 → Feb 6150 seen8 candidatesComplete
Feb 6 → Jun 629 seen0 candidatesComplete
Jun 6 → Jul 60 seen0 candidatesComplete
Jul 6 → Aug 57 seen1 candidatesComplete
Commit communication

Does the history explain itself?

Message quality measures whether a commit identifies its scope, purpose, rationale, testing, and supporting references. It does not change the security-severity score.

49/100 average clarity
15Strong · 80–100
56Adequate · 60–79
92Thin · 40–59
66Opaque · 0–39
44security candidates with opaque commit messaging
Read the scoring rubric →
Developer activity

Who is changing the project?

Public Git author strings; identities are not independently verified.

DeveloperCommitsCandidatesAnalyzedHigh riskMessage avg.
Nick Klockenga282324268
kdmukai141100141145
okaybro191619064
PROWLERx15101010020
alvroble12711055
FazleRabbbiferdaus172868061
biel414037
securesigner111050
Chaitanya-Keyal111057
Kshitij111033
Advait111060
S1DDHEY111045
Analysis record

Published AI watches

Last scanned 51 minutes ago

Informational 15 AI analysisMessage 73 · Adequate
SS SeedSignerSeedSigner BitcoinHardware wallets

Merge pull request #722 from Chaitanya-Keyal/psbt-huge-fee-warning

This commit adds a new user-facing safety feature: a warning screen when a Bitcoin transaction's fee is unusually high compared to the amount being sent. It does not fix a bug or vulnerability; it helps users notice potentially costly mist…

New user-facing warning for high transaction feesThreshold-based fee check computed from PSBT outputsVisual warning mark and color change on fee display
088b144eby Nick Klockenga+238−55 files
No security note in commit
Informational 20 AI analysisMessage 68 · Adequate
SS SeedSignerSeedSigner BitcoinHardware wallets

Settle is_high_fee once in parse()

This commit is a performance cleanup, not a security fix. It calculates the 'is this fee unusually high?' flag once during transaction parsing instead of recalculating it every time a screen asks. The actual fee-checking logic and warning …

No security-relevant logic change: the same fee threshold and calculation are usedPerformance optimization only: eliminates repeated transaction re-summationNo input validation, cryptography, or authorization changes
2195adfdby okaybro+32−53 files
No security note in commit
High 80 AI analysisMessage 88 · Strong
SS SeedSignerSeedSigner BitcoinHardware wallets

Merge pull request #1032 from kdmukai/psbt_output_ownership

This commit fixes a security flaw in SeedSigner, a small hardware-wallet-like device used to sign Bitcoin transactions. Previously, the software trusted the PSBT file's own claim about which 'change' outputs belong back to the user's walle…

Fixes change-output ownership verification against PSBT coordinator claimsAdds independent scriptPubKey reconstruction from seed-derived keysAdds rejection of contradictory ownership claims (claim-ours/pay-other and pay-ours/claim-other)
b225ae77by Nick Klockenga+1756−2636 files
Vendor flagged security relevance
Moderate 63 AI analysisMessage 83 · Strong
SS SeedSignerSeedSigner BitcoinHardware wallets

Count an unresolved output cosigner set as a mismatch

This commit fixes a bug in SeedSigner's PSBT parser that could misclassify a payment to a different multisig wallet as 'change' (money going back to the user's own wallet). The bug occurred when the output's cosigner list could not be reso…

Change-vs-spend misclassification in multisig PSBT parsingCosigner resolution failure previously skipped instead of treated as mismatchFingerprint matching removed in favor of derivation-path + derived-key verification
45a5eabbby kdmukai+102−462 files
Vendor flagged security relevance
Low 34 AI analysisMessage 100 · Strong
SS SeedSignerSeedSigner BitcoinHardware wallets

Compare cosigners before presuming multisig change

This commit tightens how SeedSigner decides whether a multisig payment back to the user is real 'change' or actually a payment to a different wallet. Before, if an output contained the user's key and looked like the same kind of multisig (…

Multisig change-output presumption logic changed to compare input vs output cosigner listsOptional/unauthenticated PSBT global xpubs used only as a hygiene check, not a hard security controlMismatch demotes output from change to spend rather than raising an error
ff133966by kdmukai+244−62 files
Vendor flagged security relevance
Informational 15 AI analysisMessage 58 · Thin
SS SeedSignerSeedSigner BitcoinHardware wallets

Rename is_change to is_presumed_change

This commit only renames a variable from 'is_change' to 'is_presumed_change' and updates comments/docstrings to make it clearer that multisig outputs are only suspected—not proven—to belong to the user's wallet. The code logic is unchanged…

No functional code changeVariable rename and documentation clarification onlyCommit message explicitly states 'No behavior change'
321bf14dby kdmukai+19−131 file
No security note in commit
Moderate 60 AI analysisMessage 83 · Strong
SS SeedSignerSeedSigner BitcoinHardware wallets

Match policy types exactly and refuse an unsupported one

This commit fixes a bug in how SeedSigner parses Bitcoin transaction outputs. Previously, the code guessed script types using partial string matches (like checking if 'pkh' appears anywhere in the type name) and had no fallback for unknown…

CWE-20: Improper Input Validation - substring matching allowed ambiguous/unsupported script type handlingCWE-248: Uncaught Exception - unsupported script types caused bare TypeError instead of controlled failureCWE-754: Improper Check for Unusual or Exceptional Conditions - missing else branch for unsupported policy types
a929b8b3by kdmukai+38−112 files
No security note in commit
Moderate 59 AI analysisMessage 85 · Strong
SS SeedSignerSeedSigner BitcoinHardware wallets

Set is_change only after each branch's own checks

This commit fixes a logic bug in how SeedSigner decides whether a Bitcoin transaction output is 'change' coming back to the user's wallet. Previously, the code marked an output as change as soon as it looked like it paid to the user's seed…

Logic bug: default-true flag inside a conditional arm with branches responsible for undoing itPotential UI deception: unverified output could be displayed as user changeDefensive refactor: flag set only after branch-specific verification
12c72391by kdmukai+23−71 file
Vendor flagged security relevance
High 79 AI analysisMessage 78 · Adequate
SS SeedSignerSeedSigner BitcoinHardware wallets

Verify that change outputs actually pay this seed

This commit fixes a security flaw in how SeedSigner decides whether a Bitcoin transaction's 'change' output really returns coins to the user's own wallet. Previously, the device trusted too much of what the transaction coordinator (or a ma…

Fixes insufficient verification of change output ownership in PSBT parsingAdds explicit rejection of ownership-claim/scriptPubKey contradictions treated as attacksAdds rejection of surplus derivation path entries and mixed ecdsa/taproot derivation maps
bb2471a6by kdmukai+1390−2406 files
Vendor flagged security relevance
Informational 15 AI analysisMessage 68 · Adequate
SS SeedSignerSeedSigner BitcoinHardware wallets

Clarify psbt_parser.py docstrings and comments

This commit only rewrites comments and docstrings in one file and renames a single function parameter for clarity. The commit message explicitly says 'No behavior change,' and the diff contains no changes to executable logic, control flow,…

0d374bc7by kdmukai+28−371 file
No security note in commit
High 78 AI analysisMessage 78 · Adequate
SS SeedSignerSeedSigner BitcoinHardware wallets

Merge pull request #1013 from kdmukai/psbt_parser_ownership_scan

This commit hardens SeedSigner's PSBT (Bitcoin transaction) parser so it no longer trusts a transaction's claim that an output belongs to the user's wallet. Previously, a malicious or buggy transaction could mark a payment to an attacker's…

Fixes fake-change / ownership-spoofing vulnerability in PSBT parsingAdds explicit rejection of false seed-ownership claims on outputs and inputsAdds user-facing warning screens for forged ownership claims
e4af6a7eby Nick Klockenga+994−516 files
Vendor flagged security relevance
Informational 15 AI analysisMessage 73 · Adequate
SS SeedSignerSeedSigner BitcoinHardware wallets

Merge pull request #1005 from kdmukai/psbt_parser_trust_vocabulary

This commit is a code cleanup that renames internal data fields from 'fingerprint' and 'derivation_path' to 'claimed_fingerprints' and 'claimed_derivation_paths'. It does not change how the software verifies Bitcoin transaction data or how…

No functional security change; only identifier renaming and documentationExpanded docstring explicitly distinguishes claimed_ vs verified_ dataNo new validation, no removed validation, no algorithm change
d70b322fby Nick Klockenga+62−383 files
No security note in commit
Informational 15 AI analysisMessage 28 · Opaque
SS SeedSignerSeedSigner BitcoinHardware wallets

Improve comment accuracy

This commit only rewrites comments and docstrings in a single Python file to make them more accurate. No code logic, behavior, or security properties were changed.

c7eacfbdby kdmukai+18−141 file
No security note in commit
Informational 15 AI analysisMessage 68 · Adequate
SS SeedSignerSeedSigner BitcoinHardware wallets

Pluralize change_data's claimed keys

This commit simply renames two internal data keys from singular to plural (e.g., 'claimed_fingerprint' becomes 'claimed_fingerprints') because they actually hold lists of values. It also removes a commented-out debug print line. There is n…

4f00d32fby kdmukai+14−153 files
No security note in commit
Informational 15 AI analysisMessage 28 · Opaque
SS SeedSignerSeedSigner BitcoinHardware wallets

Improve comment accuracy

This commit only changes a comment in the source code to make it more accurate. It does not modify any actual code behavior, so it has no security impact on its own.

622a9fedby kdmukai+2−11 file
No security note in commit
Informational 19 AI analysisMessage 73 · Adequate
SS SeedSignerSeedSigner BitcoinHardware wallets

Merge pull request #1002 from kdmukai/psbt_parser_derivation_cache

This commit is a performance improvement for parsing Bitcoin transaction files (PSBTs). It adds a cache so the wallet doesn't repeatedly recalculate the same cryptographic key derivations, and it avoids rebuilding the whole transaction obj…

Removed p2sh redeem-script handling path in change detectionNew derivation cache keyed by id(parent_key) with explicit rejection of fingerprint-based keying due to collision riskFingerprint recovery now uses root.my_fingerprint instead of root.child(0).fingerprint
861d6e3cby Nick Klockenga+419−352 files
No security note in commit
Informational 15 AI analysisMessage 68 · Adequate
SS SeedSignerSeedSigner BitcoinHardware wallets

Mark coordinator-supplied change data as claimed

This commit is a code cleanup and documentation change, not a security fix. It renames variables and dictionary keys from 'fingerprint' and 'derivation_path' to 'claimed_fingerprint' and 'claimed_derivation_path' to make it clearer that da…

Renames unverified coordinator-supplied metadata keys to 'claimed_' prefixAdds trust-boundary documentation and naming convention in class docstringExplicitly states no logic changes in commit message
fc21710bby kdmukai+47−273 files
No security note in commit
Informational 15 AI analysisMessage 78 · Adequate
SS SeedSignerSeedSigner BitcoinHardware wallets

Tighten the derivation cache guard tests

This commit only changes test code. It tightens an existing unit test so it actually exercises the cache read path, and improves comments and docstrings. No production code was modified, so it cannot introduce or fix a security vulnerabili…

65b1d3d9by kdmukai+22−131 file
No security note in commit
Repository ledger

Explore captured commits

Expand any commit for its author, full message, clarity score, changed files, triage signals, analysis, and source link.

Security candidateNaming clean up; version.json gets "v" prefix; explicit SeedSigner OS builder pathsby kdmukai · 0a02616c · Dec 25, 2025 · 5 filesMessage 50 · ThinInformational 15Details
Commit message · kdmukai

Naming clean up; version.json gets "v" prefix; explicit SeedSigner OS builder paths

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
seed or entropy pathsigning or wallet path
AI analysis · Informational 15/100

This commit is a routine code cleanup and build-system improvement. It renames internal variables (for example, changing 'version_commit_hash' to 'short_commit_hash'), makes the version string consistently include a 'v' prefix, and adds explicit support for detecting the SeedSigner OS build environment. There is no change that affects security or user safety.

Security candidatere-org section placement; minor test name fixups after renamesby kdmukai · 6cd932ab · Dec 25, 2025 · 2 filesMessage 60 · AdequateInformational 15Details
Commit message · kdmukai

re-org section placement; minor test name fixups after renames

60/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
seed or entropy pathsigning or wallet path
AI analysis · Informational 15/100

This commit simply moves a block of existing code (the git shell command helpers) to a different location in the same file and renames a couple of test methods. No behavior changes, no security fixes, and no new vulnerabilities are introduced.

AI review queuedbugfix after renameby kdmukai · c475b8f7 · Dec 25, 2025 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · kdmukai

bugfix after rename

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 is a one-line bugfix in a build helper script. A previous code rename left a reference to an old method name, which would have caused the script to crash. The patch simply points the script to the correct new method name. There is no security-relevant change visible in the diff.

Security candidateSlight test case reorg; additional tests to maintain 100% coverageby kdmukai · 65009775 · Dec 25, 2025 · 2 filesMessage 60 · AdequateInformational 15Details
Commit message · kdmukai

Slight test case reorg; additional tests to maintain 100% coverage

60/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
seed or entropy pathsigning or wallet path
AI analysis · Informational 15/100

This commit is purely a code cleanup and test expansion. It renames internal helper methods in the version utility to be clearer (for example, changing `_get_version_name_from_env_var` to `_get_version_name_from_seedsigner_os_env_var`), reorganizes comments, and adds new tests to keep test coverage at 100%. There is no change to user-facing behavior, no fix for a bug, and no security-related change.

Lower-priorityGet coverage back to 100%by kdmukai · 38c55847 · Dec 25, 2025 · 1 fileMessage 55 · ThinInformational 15Details
Commit message · kdmukai

Get coverage back to 100%

55/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
AI analysis · Informational 15/100

This commit only adds a new unit test to the project's test suite. It verifies that a version-reporting override method works correctly and that the override is blocked when running on the actual SeedSigner OS. There are no changes to production code, no bug fixes, and no security-related behavior changes.

AI review queuedbugfixby kdmukai · 8cbf69d4 · Dec 24, 2025 · 1 fileMessage 0 · OpaqueInformational 18Details
Commit message · kdmukai

bugfix

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 18/100

This is a one-line bugfix in a test helper script that generates screenshots. The change swaps a public method call for directly clearing an internal singleton variable. It only affects the screenshot generator's cleanup routine and does not appear to be a security fix for user-facing code.

Security candidaterestore Version.override_data for screenshot generatorby kdmukai · 10767de9 · Dec 24, 2025 · 1 fileMessage 50 · ThinInformational 18Details
Commit message · kdmukai

restore Version.override_data for screenshot generator

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
seed or entropy pathsigning or wallet path
AI analysis · Informational 18/100

This commit restores a helper function that lets the project’s screenshot generator temporarily override version information shown in screenshots. The function is decorated so it cannot run on the actual SeedSigner OS device. It only affects display text used in documentation screenshots, not private keys, seeds, or transaction logic.

AI review queuedCI bugfixby kdmukai · b01de936 · Dec 24, 2025 · 1 fileMessage 0 · OpaqueInformational 15Details
Commit message · kdmukai

CI bugfix

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 changes a test file that checks how the software reports its version number when running inside GitHub Actions. It does not change the actual version-detection code or any security-sensitive behavior. There is no security issue here.

AI review queuedtest bugfixesby kdmukai · 70f86d09 · Dec 24, 2025 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · kdmukai

test bugfixes

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
second-pass: opaque commit message
AI analysis · Informational 15/100

This commit only changes test code in tests/test_version.py. It fixes test bugs by adding a fixture that controls an environment variable during tests and updates several test assertions to call the correct utility class (VersionUtils instead of Version). There are no changes to the actual application code that users run, so this has no direct security impact on the SeedSigner device or software.

Security candidateInterim commit; coverage at 100%by kdmukai · 74ebe10b · Dec 24, 2025 · 3 filesMessage 55 · ThinInformational 14Details
Commit message · kdmukai

Interim commit; coverage at 100%

55/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
seed or entropy pathsigning or wallet path
AI analysis · Informational 14/100

This commit is a routine internal refactor of how the app reads its own version information (version name, fork, timestamp, commit hash). It consolidates singleton setup, renames constants and methods, adds GitHub Actions CI detection, and expands unit tests to reach 100% code coverage. There is no direct evidence in the commit that this fixes a security vulnerability or introduces a new attack path. The changes are mostly about making version reporting more reliable and testable.

Security candidateAdding tests, bugfixes; interim commitby kdmukai · c5efda30 · Dec 23, 2025 · 4 filesMessage 55 · ThinInformational 15Details
Commit message · kdmukai

Adding tests, bugfixes; interim commit

55/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
seed or entropy pathsigning or wallet path
AI analysis · Informational 15/100

This commit is mostly a routine code cleanup and test expansion for how SeedSigner reports its software version. It renames a decorator, adds more tests, improves error handling when files are missing, and fixes a timestamp formatting bug when checking GitHub releases. There is no direct evidence in the commit that this fixes an active security vulnerability, but it does reduce risky behavior such as silently swallowing errors and making unverified shell calls in some contexts.

Security candidateHuge refactor; interim commitby kdmukai · 47212c98 · Dec 22, 2025 · 7 filesMessage 35 · OpaqueInformational 16Details
Commit message · kdmukai

Huge refactor; interim commit

35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
seed or entropy pathsigning or wallet path
AI analysis · Informational 16/100

This is a large code refactor that changes how SeedSigner detects and displays its software version. It replaces a simple version reader with a more complex singleton system that reads git state, environment variables, and a JSON file. The changes are mostly about version reporting and do not appear to alter how private keys, seeds, or Bitcoin transactions are handled. There is no clear security bug visible in the diff, but the refactor introduces new code paths that touch files and shell commands, which always carry some risk of mistakes.

Security candidatebugfixby kdmukai · 272db5df · Dec 20, 2025 · 1 fileMessage 0 · OpaqueInformational 15Details
Commit message · kdmukai

bugfix

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
seed or entropy pathsigning or wallet path
AI analysis · Informational 15/100

This commit fixes a bug in how SeedSigner determines and reports its software version. Previously, the version was set once and could be left blank or stale in certain build situations. The patch makes version detection more reliable by trying multiple sources: an environment variable, the current Git branch, the latest Git tag, and finally the short commit hash. There is no direct evidence this is a security fix, but reliable version reporting helps users and developers confirm they are running the expected software.

Lower-priorityAdd version.json to .gitignoreby kdmukai · 516a76ba · Dec 20, 2025 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · kdmukai

Add version.json to .gitignore

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 15/100

This commit simply adds one file path to the project's .gitignore list, telling Git not to track a generated version.json file. There is no code change, no security fix, and no vulnerability introduced.

Security candidatedebuggingby kdmukai · 906f21cc · Dec 20, 2025 · 1 fileMessage 0 · OpaqueInformational 15Details
Commit message · kdmukai

debugging

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
seed or entropy pathsigning or wallet path
AI analysis · Informational 15/100

This commit adds a single debug print statement that displays the value of an environment variable used during the build process. It does not change how the software works, does not introduce a security flaw, and does not affect end-user security. It is a routine development/debugging change.

Security candidateUse `git log` for most recent commit's edit time when writing version.jsonby kdmukai · 3f7803fa · Dec 20, 2025 · 1 fileMessage 50 · ThinInformational 14Details
Commit message · kdmukai

Use `git log` for most recent commit's edit time when writing version.json

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
seed or entropy pathsigning or wallet path
AI analysis · Informational 14/100

This commit changes how SeedSigner records the 'last edit time' in its version.json file. Previously it scanned all source files for the most recent modification time. Now it runs a git command to use the most recent commit timestamp. The main concern is that it uses os.popen(), which executes a shell command, and does not validate the output. In normal use this is benign, but if an attacker can control the working directory or git executable, it could become a command-injection or misleading-metadata issue. There is no direct evidence this is being exploited.

Security candidateUse SeedSigner OS env var; enforce utc timeby kdmukai · 37531c03 · Dec 20, 2025 · 1 fileMessage 45 · ThinInformational 19Details
Commit message · kdmukai

Use SeedSigner OS env var; enforce utc time

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
seed or entropy pathsigning or wallet path
AI analysis · Informational 19/100

This commit changes how SeedSigner records its software version and build timestamp. It now reads a version name from an environment variable used by SeedSigner OS and forces the last-edit timestamp to UTC. These are build-process improvements, not fixes for an active security vulnerability. The only security-relevant aspect is a small hardening of how external shell commands and environment input are handled.

Security candidaterename and bugfixby kdmukai · 657167ac · Dec 20, 2025 · 3 filesMessage 28 · OpaqueInformational 15Details
Commit message · kdmukai

rename and bugfix

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
seed or entropy pathsigning or wallet path
AI analysis · Informational 15/100

This commit simply renames a method from get_last_edit to get_last_edit_timestamp and updates the places that call it and test it. There is no security issue here—just a cleanup to fix a naming mismatch (the caller was already using a name that did not exist).

Security candidateUse `git` directly to get branch or tag nameby kdmukai · d02e9805 · Dec 20, 2025 · 1 fileMessage 45 · ThinInformational 18Details
Commit message · kdmukai

Use `git` directly to get branch or tag name

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
seed or entropy pathsigning or wallet path
AI analysis · Informational 18/100

This commit removes a leftover debug print statement and changes how the software figures out its own version name by asking the Git tool directly instead of relying on a pre-existing file. The change itself is not a security fix, but it removes a minor information leak (the hostname) and avoids a build-time dependency on a generated file. There is no evidence this was reported as a security issue or credited to a researcher.

Security candidateTry to pull version name from CI env varsby kdmukai · 97386fff · Dec 20, 2025 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · kdmukai

Try to pull version name from CI env vars

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
seed or entropy pathsigning or wallet path
AI analysis · Informational 15/100

This commit changes how the SeedSigner software figures out its own version number when it cannot read version info from the local git repository. Instead of immediately giving up, it now checks whether it is running inside GitHub Actions and, if so, uses environment variables provided by GitHub to determine the version. There is no security issue visible in this change.

Security candidateWrite src/version.jsonby kdmukai · 9b717624 · Dec 20, 2025 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · kdmukai

Write src/version.json

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
seed or entropy pathsigning or wallet path
AI analysis · Informational 15/100

This commit adds a helper that can write the project's version number and last source-edit time into a small JSON file. It is a build/infrastructure change with no apparent security relevance.

Security candidateRemove hard-coded VERSIONby kdmukai · 5ff2e25d · Dec 20, 2025 · 2 filesMessage 35 · OpaqueInformational 18Details
Commit message · kdmukai

Remove hard-coded VERSION

35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
seed or entropy pathsigning or wallet path
AI analysis · Informational 18/100

This commit removes a hard-coded version number from the SeedSigner software and instead reads the version from a generated file or git metadata. It also adds a debug print statement that exposes the device's hostname setting to standard output. There is no direct security vulnerability in the diff itself, but the change makes version reporting depend on build-time files and local git state, and it leaks an internal configuration value in logs or console output.

Security candidateFix inadvertantly persistent test artifactsby kdmukai · d0b29d22 · Dec 20, 2025 · 2 filesMessage 55 · ThinInformational 15Details
Commit message · kdmukai

Fix inadvertantly persistent test artifacts

55/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
seed or entropy path
AI analysis · Informational 15/100

This commit only changes test files. It removes direct assignments to a shared Settings.HOSTNAME variable inside tests and replaces one with a temporary mock. This prevents test runs from accidentally leaving the simulated device hostname in an unexpected state for later tests. There is no change to the actual SeedSigner application or its security behavior.

Security candidatebetter path handlingby kdmukai · 5eb8d08b · Dec 20, 2025 · 1 fileMessage 28 · OpaqueInformational 18Details
Commit message · kdmukai

better path handling

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
seed or entropy pathsigning or wallet path
AI analysis · Informational 18/100

This commit is a small code-quality improvement that cleans up how a file path is constructed. It uses a standard function (os.path.normpath) to remove redundant '..' segments from a path and prints the actual resolved path instead of a hardcoded string. There is no direct evidence this fixes an exploitable security vulnerability.

Security candidatedir handling improvementsby kdmukai · 722d9986 · Dec 20, 2025 · 1 fileMessage 35 · OpaqueInformational 15Details
Commit message · kdmukai

dir handling improvements

35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
seed or entropy pathsigning or wallet path
AI analysis · Informational 15/100

This commit is a small code cleanup in SeedSigner's version helper. It extracts a repeated file-path calculation into a shared method and updates a comment about where the version file is written. There is no security-relevant change: the same file is read/written, the same JSON parsing occurs, and no new inputs or trust decisions are introduced.