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 4 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 candidateGithub Actions CI timestamp format bugfixby kdmukai · 3394d0cb · Dec 26, 2025 · 2 filesMessage 45 · ThinInformational 19Details
Commit message · kdmukai

Github Actions CI timestamp format bugfix

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 fixes a small date-parsing bug in the software's version helper. When the code runs in GitHub Actions, Git reports the latest commit time ending in 'Z' (a common UTC notation), but the Python function used to read that date didn't understand 'Z' before Python 3.11. The patch simply replaces 'Z' with '+00:00' so the date parses correctly. It is a compatibility fix, not a security fix.

Security candidateSimplify SeedSigner OS builder pathby kdmukai · d2914c33 · Dec 26, 2025 · 4 filesMessage 45 · ThinInformational 20Details
Commit message · kdmukai

Simplify SeedSigner OS builder path

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

This commit refactors how SeedSigner determines and records its software version. It removes an environment-variable-based build path and instead reads version info directly from git. The change is mostly cleanup and testing improvements. There is no obvious security vulnerability, but the code still uses shell commands (os.popen) and parses git output, which can be risky if inputs are ever attacker-controlled. Here, the inputs come from the local git state or trusted environment variables, so the practical risk is low.

Security candidateRemove unnecessary error messageby kdmukai · 9d6a93b9 · Dec 26, 2025 · 1 fileMessage 35 · OpaqueInformational 15Details
Commit message · kdmukai

Remove unnecessary error message

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 simplifies a custom camera error exception by removing a hard-coded user-facing error message. The exception still exists and will still be raised; it just no longer automatically includes the text 'Camera error. Check camera connections.' There is no security-relevant change visible in the diff.

AI review queuedRemove unnecessary patchby kdmukai · 075d66a6 · Dec 26, 2025 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · kdmukai

Remove unnecessary patch

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 removes a temporary workaround (mocking the operating system type) from a single automated test file. It does not change any production code, user-facing behavior, or security-sensitive logic. The change simply makes the test rely on the real environment instead of pretending to be a specific OS.

AI review queuedMinor refactorby kdmukai · eed16f73 · Dec 25, 2025 · 1 fileMessage 18 · OpaqueInformational 15Details
Commit message · kdmukai

Minor refactor

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 code cleanup in a helper script that writes a version information file. It removes four comment lines and combines two variable assignments into one line. There is no functional change and no security relevance.

Lower-prioritySimplify version.json file write; standardize on matching SeedSigner OS builder output even in local devby kdmukai · 7b5d21f6 · Dec 25, 2025 · 1 fileMessage 50 · ThinInformational 12Details
Commit message · kdmukai

Simplify version.json file write; standardize on matching SeedSigner OS builder output even in local dev

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 12/100

This commit refactors a small developer utility that writes a version.json file. It changes how the script decides whether it is running in the official build environment versus a local development copy, and makes the generated version file match the official build format even when built locally. There is no obvious security problem in the diff itself.

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 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 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 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.