Commit Graph
86 Commits
Author SHA1 Message Date
thePR0M3TH3AN 37d0dffdc3 Merge branch 'beta' into main (safe conflict resolution) 2026-02-23 16:38:18 -05:00
google-labs-jules[bot]andPR0M3TH3AN 8e33f9c5e1 Fix formatting, linting, and logic errors from codebase scan
- Apply black formatting to 17 files.
- Fix F821 undefined name errors in:
  - src/main.py: Add missing `queue` import.
  - src/seedpass/core/encryption.py: Fix `JSONDecodeError` reference.
  - src/utils/__init__.py: Fix exception variable scope in fallback code.
  - src/utils/key_derivation.py: Add `TYPE_CHECKING` imports.
  - src/seedpass/core/config_manager.py: Add `TYPE_CHECKING` imports.
- Initialize torch environment and TODO file.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-16 18:09:48 +00:00
thePR0M3TH3AN 48711a7320 Merge pull request #878 from PR0M3TH3AN/test-key-validation-coverage-8412470545867749142
🧪 Add error handling tests for key validation utils
2026-02-16 12:48:21 -05:00
google-labs-jules[bot]andPR0M3TH3AN 3fd2470ccc Add error handling tests for key validation utils
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-16 17:45:53 +00:00
google-labs-jules[bot]andPR0M3TH3AN 267ac5c3ca Refactor src/utils/file_lock.py to reduce duplication
Extracts common logic for path preparation and lock acquisition into a private helper function `_get_portalocker_lock`. This simplifies `exclusive_lock` and `shared_lock` implementations.

Also updates the docstring for `exclusive_lock` to correctly describe the file mode as "binary read/write mode" (r+b) instead of "binary append mode".

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-16 17:43:29 +00:00
thePR0M3TH3AN 46f753a11a Merge pull request #870 from PR0M3TH3AN/fix-key-derivation-salt-12798847451274058286
🔒 Fix Weak Key Derivation by Adding Salt
2026-02-16 12:24:12 -05:00
google-labs-jules[bot]andPR0M3TH3AN 75fe5bc382 Fix weak key derivation by adding salt to parent seed encryption
Introduced a random salt to key derivation for parent seed encryption to prevent rainbow table attacks. The salt is now stored in the `parent_seed.enc` file header (V3 format).

*   Modified `src/utils/key_derivation.py` to accept optional `salt` argument.
*   Modified `src/seedpass/core/encryption.py` to read/write salt in `parent_seed.enc` using V3 format (V3:salt:nonce:ciphertext).
*   Modified `src/seedpass/core/manager.py` to generate salt for new seeds and read salt for existing ones.
*   Added auto-upgrade logic for legacy (no salt) seeds upon access.
*   Updated tests to verify salt usage and backward compatibility.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-16 17:22:54 +00:00
google-labs-jules[bot]andPR0M3TH3AN d729466513 test(utils): Add test and error handling for wiped InMemorySecret
- Updated `InMemorySecret.get_bytes()` in `src/utils/memory_protection.py` to raise a `RuntimeError` if the secret has been wiped, replacing the previous `AttributeError`.
- Added `test_access_after_wipe_raises_error` to `src/tests/test_memory_protection.py` to verify this behavior.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-16 17:21:45 +00:00
google-labs-jules[bot]andPR0M3TH3AN cc42e7d6f0 chore: remove dead code from src/utils/imghdr_stub.py
Removed the `test()` and `testall()` functions and the `if __name__ == "__main__":` block which were used for manual testing and are not needed by the codebase.
This improves maintainability and readability by focusing the module on its core functionality.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-16 16:42:01 +00:00
google-labs-jules[bot]andPR0M3TH3AN 0a349df058 chore(ai): style-agent run
- Formatted 8 files with black.
- Ran flake8 and logged warnings.
- Verified with pytest.
- Scheduler operations completed (lock check, lock, complete).
- Wrote task log to torch/task-logs/daily/.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-16 12:54:54 +00:00
thePR0M3TH3AN e528bebae3 Refine console logging 2025-08-23 13:19:27 -04:00
thePR0M3TH3AN 7b0344739f refactor: restrict console logging and pause during UI 2025-08-22 22:24:04 -04:00
thePR0M3TH3AN b307728c05 feat: support pausing console logs 2025-08-22 21:50:04 -04:00
thePR0M3TH3AN c0a6187478 Handle Ctrl-C in masked input 2025-08-22 21:32:18 -04:00
thePR0M3TH3AN 857b1ef0f9 Document memory zeroization caveat 2025-08-20 20:29:58 -04:00
thePR0M3TH3AN bbb26ca55a test: add key hierarchy tests 2025-08-20 17:57:50 -04:00
thePR0M3TH3AN 26632c0e70 Fix KDF metadata handling and headless password prompts 2025-08-20 17:23:10 -04:00
thePR0M3TH3AN 06ca51993a Add KDF config with per-file metadata 2025-08-19 09:53:46 -04:00
thePR0M3TH3AN 50532597b8 Test BIP85 init with seed bytes and xprv 2025-08-12 11:01:17 -04:00
thePR0M3TH3AN 199d02ab72 Clarify placeholder utils and clean imports 2025-08-08 15:47:52 -04:00
thePR0M3TH3AN 26a4a74131 Test duplicate seed profile creation 2025-08-06 22:01:28 -04:00
thePR0M3TH3AN edcf2787ee Add Argon2 calibration and encryption fuzz tests 2025-08-06 09:58:44 -04:00
thePR0M3TH3AN 099c24921f feat: add configurable prompt backoff 2025-08-05 22:48:18 -04:00
thePR0M3TH3AN b795d1236a Raise ClipboardUnavailableError on all platforms 2025-08-05 22:26:10 -04:00
thePR0M3TH3AN 6888fa2431 Remove duplicate import in test 2025-08-05 22:18:26 -04:00
thePR0M3TH3AN 68eaa34d76 Add dependency scanning and optional dependency checks 2025-08-05 21:04:50 -04:00
thePR0M3TH3AN 87cf2d837b Refine exception handling 2025-08-05 20:34:26 -04:00
thePR0M3TH3AN 1f669746db Handle empty profile cleanup 2025-08-05 12:24:53 -04:00
thePR0M3TH3AN d75cc760d3 Remove sensitive debug logging 2025-08-03 11:02:36 -04:00
thePR0M3TH3AN 5423c41b06 Include fingerprint salt in password key derivation 2025-08-03 09:37:59 -04:00
thePR0M3TH3AN 032caed3d0 Add atomic write utility and tests 2025-08-03 08:57:04 -04:00
thePR0M3TH3AN ccca399b09 docs: clarify manual clipboard dependencies 2025-08-03 08:12:25 -04:00
thePR0M3TH3AN cc8fba9f12 Add key validation utilities and integrate 2025-08-01 10:38:40 -04:00
thePR0M3TH3AN 764631b8ba Use masked input for all sensitive prompts 2025-07-17 10:04:06 -04:00
thePR0M3TH3AN 04548c44f5 Enhance seed entry prompts with masking and clear screen 2025-07-16 12:37:58 -04:00
thePR0M3TH3AN 04dc4e05da Add interactive seed word prompt 2025-07-16 03:40:24 -04:00
thePR0M3TH3AN d7547810fe Add cross-platform masked input utility with tests 2025-07-16 03:32:06 -04:00
thePR0M3TH3AN 113fd1181a Add custom seed profile names 2025-07-15 21:56:31 -04:00
thePR0M3TH3AN 74f5911bf7 Use notification helper consistently 2025-07-14 17:01:49 -04:00
thePR0M3TH3AN b8a5ed9f66 Add header clearing with notifications 2025-07-14 15:23:37 -04:00
thePR0M3TH3AN 5bf2bc458c Update menu notification handling 2025-07-14 12:53:53 -04:00
thePR0M3TH3AN 19d9c45d6f Add notification draining with color categories 2025-07-14 11:20:05 -04:00
thePR0M3TH3AN f86067c1d8 Add Argon2 key derivation option 2025-07-13 12:24:10 -04:00
thePR0M3TH3AN 496950c501 Improve password retry flow 2025-07-12 09:37:42 -04:00
thePR0M3TH3AN b82a816cab Persist last used fingerprint 2025-07-11 16:39:51 -04:00
thePR0M3TH3AN 76b28e49b9 Enhance fingerprint headers 2025-07-07 21:41:09 -04:00
thePR0M3TH3AN 368e44c56f Add managed account support 2025-07-07 21:27:30 -04:00
thePR0M3TH3AN c35c4d66a0 Enhance CLI breadcrumbs and update menu color 2025-07-06 09:25:45 -04:00
thePR0M3TH3AN 512a92a65b feat: show seed fingerprint on each screen 2025-07-06 08:10:12 -04:00
thePR0M3TH3AN 7b9b9a082e Pause before clearing screen 2025-07-05 21:53:17 -04:00