Commit Graph
2392 Commits
Author SHA1 Message Date
google-labs-jules[bot]andPR0M3TH3AN 1f43f9f731 Add tests for modify_entry invalid fields validation
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-16 17:43:42 +00:00
google-labs-jules[bot]andPR0M3TH3AN 154fb8d9cd ⚡ Optimize Nostr snapshot retrieval with concurrent fetching
Refactored `_fetch_chunks_with_retry` in `src/nostr/client.py` to fetch snapshot chunks concurrently using `asyncio.gather`.
Introduced a `asyncio.Semaphore(10)` to limit concurrency and prevent overwhelming relays.
Extracted single chunk fetch logic into `_fetch_single_chunk` helper method.
Added `sys.path` fix to `src/tests/test_nostr_snapshot.py` to enable running tests.

Performance improvement: ~10x speedup for 10 chunks (1.0s -> 0.1s in local reproduction).

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-16 17:43:30 +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
google-labs-jules[bot]andPR0M3TH3AN fe6334523c Remove unused EventHandler class and its tests
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-16 17:43:16 +00:00
google-labs-jules[bot]andPR0M3TH3AN 379d4ee98d Refactor BIP85: Remove redundant elif block
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-16 17:40:47 +00:00
thePR0M3TH3AN c1cbab8c70 Merge pull request #871 from PR0M3TH3AN/perf/optimize-totp-loop-8292868580025877023
⚡ Optimize TOTP derivation in GUI loop
2026-02-16 12:38:04 -05:00
google-labs-jules[bot]andPR0M3TH3AN afa35a1782 Optimize TOTP derivation in GUI loop by caching secrets
- Add `get_totp_secret` to `EntryManager` and `EntryService` to allow retrieving the secret (derived or imported) without calculating the code.
- Update `TotpViewerWindow` in GUI to cache TOTP secrets locally. This prevents expensive PBKDF2/BIP39 derivation on every UI refresh (every second).
- Clean up unused imports and f-strings in `entry_management.py`.

Benchmarks show a ~9x speedup for 10 frames (50 entries) and >100x speedup for steady state.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-16 17:37:03 +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
thePR0M3TH3AN 8adc1e7220 Merge pull request #869 from PR0M3TH3AN/improve-inmemory-secret-error-handling-18204251655789169400
Improve InMemorySecret wiped state error handling and testing
2026-02-16 12:23: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
thePR0M3TH3AN 21c25a0b63 Merge pull request #868 from PR0M3TH3AN/security-fix-path-traversal-17059275168502501133
🔒 Security Fix: Arbitrary File Read via Path Traversal in import_vault
2026-02-16 12:21:21 -05:00
thePR0M3TH3AN a442229629 Merge pull request #867 from PR0M3TH3AN/fix-path-traversal-backup-parent-seed-11848666276588647800
Fix arbitrary file write via path traversal in backup_parent_seed
2026-02-16 12:20:37 -05:00
google-labs-jules[bot]andPR0M3TH3AN 9c6b6d221c Fix Arbitrary File Read via Path Traversal in import_vault endpoint
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-16 17:20:28 +00:00
thePR0M3TH3AN 2a376ec91f update 2026-02-16 12:19:26 -05:00
google-labs-jules[bot]andPR0M3TH3AN 91f39007f0 Fix arbitrary file write via path traversal in backup_parent_seed
The `backup_parent_seed` API endpoint was vulnerable to arbitrary file write via path traversal.
The `path` parameter was used directly to create a `Path` object, which was then passed to `_pm.handle_backup_reveal_parent_seed`.
This allowed an attacker to specify an arbitrary path (e.g., `../../evil_file`), which would be used by `encrypt_and_save_file` to write the encrypted seed to that location.

This commit fixes the vulnerability by validating that the `path` parameter is a valid filename (i.e., does not contain path separators or parent directory references) before processing it. This ensures that the backup file is always created within the intended fingerprint directory.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-16 17:17:44 +00:00
google-labs-jules[bot]andPR0M3TH3AN e03385c569 Investigated TORCH system availability and provided answers.
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-16 17:04:00 +00:00
thePR0M3TH3AN 335de7abe3 Merge pull request #865 from PR0M3TH3AN/fix-sensitive-token-leak-stdout-13051886765392610577
🔒 Fix sensitive API token exposure in stdout
2026-02-16 11:48:09 -05:00
google-labs-jules[bot]andPR0M3TH3AN 99baf16b1b 🔒 Fix sensitive API token exposure in stdout
Removed the `print` statement in `src/seedpass/api.py` that leaked the
API token to stdout.

Enhanced the API server and CLI to support secure token management:
- Added `SEEDPASS_API_TOKEN` environment variable support in both
  `api.py` and `cli.py`.
- Added a `--token` option to the `api start` CLI command.
- Redirected the auto-generated token output to stderr instead of stdout.
- Updated `api stop` to respect the `SEEDPASS_API_TOKEN` environment
  variable.

These changes prevent the API token from being easily logged in insecure
environments where stdout is captured.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-16 16:47:51 +00:00
thePR0M3TH3AN d594d689d1 Merge pull request #864 from PR0M3TH3AN/remove-dead-code-imghdr-stub-1860538532359934490
🧹 [code health] Remove dead code from src/utils/imghdr_stub.py
2026-02-16 11:42:20 -05: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
thePR0M3TH3AN 8436311fa3 Merge pull request #863 from PR0M3TH3AN/agents/weekly/changelog-agent-2026-02-16-10358382466638125890
docs(ai): weekly changelog draft
2026-02-16 08:22:18 -05:00
thePR0M3TH3AN 61e7a9b045 Merge pull request #862 from PR0M3TH3AN/agents/daily/style-agent-16187229397196533781
style-agent: daily run
2026-02-16 08:21:39 -05:00
google-labs-jules[bot]andPR0M3TH3AN 9a2a8fd77d docs(ai): weekly changelog draft
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-16 12:56:27 +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 4dbd1db8c2 Merge pull request #861 from PR0M3TH3AN/agents/weekly/bug-reproducer-agent-innerhtml-repro-16374670332915725002
Weekly Scheduler Run: bug-reproducer-agent
2026-02-16 07:14:21 -05:00
google-labs-jules[bot]andPR0M3TH3AN 39f0407143 feat: reproduce innerhtml usage in torch/landing/index.html
- added reproduction script `torch/examples/reproducers/ISSUE_daily_style-agent_innerhtml/repro.py`
- updated `torch/src/issues/ISSUE_daily_style-agent_innerhtml.md` with reproduction results
- added `torch/KNOWN_ISSUES.md` with issue entry
- added missing scripts to `torch/package.json`
- generated scheduler artifacts (CONTEXT, TODO, DECISIONS, TEST_LOG, task-logs/weekly)

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-16 12:08:16 +00:00
google-labs-jules[bot]andPR0M3TH3AN 5f3d790822 feat: reproduce innerhtml usage in torch/landing/index.html
- added reproduction script `torch/examples/reproducers/ISSUE_daily_style-agent_innerhtml/repro.py`
- updated `torch/src/issues/ISSUE_daily_style-agent_innerhtml.md` with reproduction results
- added `torch/KNOWN_ISSUES.md` with issue entry
- added missing scripts to `torch/package.json`
- generated scheduler artifacts (CONTEXT, TODO, DECISIONS, TEST_LOG, task-logs/weekly)

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-16 11:57:32 +00:00
thePR0M3TH3AN 1e2c865b04 Merge pull request #860 from PR0M3TH3AN/agents/daily/scheduler-update-agent-1850363096375555446
docs(prompts): sync roster.json and scheduler rosters with prompt directories
2026-02-16 06:40:19 -05:00
google-labs-jules[bot]andPR0M3TH3AN 6871ce2b68 docs(prompts): sync roster.json and scheduler rosters with prompt directories
- Update src/prompts/roster.json with current agents
- Update src/prompts/daily-scheduler.md roster table
- Update src/prompts/weekly-scheduler.md roster table
- Create run artifacts (context, todo, decisions, test_logs)
- Create daily task log

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-16 11:32:13 +00:00
thePR0M3TH3AN 5bdde403e6 Merge pull request #859 from PR0M3TH3AN/setup-torch-14198365201963154658
Setup TORCH agent system
2026-02-16 06:15:19 -05:00
google-labs-jules[bot]andPR0M3TH3AN 77be82c09a Setup TORCH agent system
- Created `torch/` directory and initialized package.json
- Installed TORCH dependency from https://github.com/PR0M3TH3AN/TORCH
- Initialized TORCH environment with `npx torch-lock init`
- Updated .gitignore to exclude node_modules and generated files

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-16 05:33:36 +00:00
google-labs-jules[bot]andPR0M3TH3AN c884f8d8f0 feat: install and setup TORCH in torch/ directory
- Added `torch/` directory with `package.json` and `package-lock.json`.
- Ran `npx torch-lock init` to generate `torch-config.json`.
- Updated `.gitignore` to exclude `torch/node_modules` and `torch/torch/`.
- Documented findings and recommendations for improving the installation process.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-16 01:42:36 +00:00
thePR0M3TH3AN e5c210b4a5 Merge pull request #857 from PR0M3TH3AN/revert-856-setup-torch-493395281474527772
Revert "Install and setup TORCH agent system"
2026-02-15 18:45:09 -05:00
thePR0M3TH3AN f8b92e0806 Revert "Install and setup TORCH agent system" 2026-02-15 18:44:54 -05:00
thePR0M3TH3AN efd5bd117a Merge pull request #856 from PR0M3TH3AN/setup-torch-493395281474527772
Install and setup TORCH agent system
2026-02-15 18:40:55 -05:00
google-labs-jules[bot]andPR0M3TH3AN 55eec8c490 Install and setup TORCH agent system
- Initialize Node.js environment with `package.json`
- Install `torch-lock` from GitHub
- Initialize `torch/` configuration and prompts
- Add `node_modules` to `.gitignore`
- Add `lock:*` scripts to `package.json` for scheduler integration
- Update `check-file-size.mjs` and `check-innerhtml.mjs` to support `--update` and `BASELINE` logic required by prompts

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-15 23:36:50 +00:00
thePR0M3TH3AN a31db2bcd6 Update installation command in README.md
Add SEEDPASS_HEADLESS environment variable for installation.
2025-11-04 17:57:34 -05:00
thePR0M3TH3AN c9e7278c57 update 2025-11-04 17:36:36 -05:00
thePR0M3TH3AN c7f4617bba update 2025-11-04 17:09:34 -05:00
thePR0M3TH3AN 7bbe63261d update 2025-11-04 16:56:23 -05:00
thePR0M3TH3AN 80ea67e832 update 2025-11-04 16:47:19 -05:00
thePR0M3TH3AN ca733be2e3 Merge pull request #854 from PR0M3TH3AN/codex/reduce-log-verbosity-in-tui
Refine console logging
2025-08-23 13:33:21 -04:00
thePR0M3TH3AN e528bebae3 Refine console logging 2025-08-23 13:19:27 -04:00
thePR0M3TH3AN e760bf2b25 Merge pull request #853 from PR0M3TH3AN/codex/suppress-tui-warning-and-debug-messages
Reduce noisy logging in console
2025-08-23 13:02:41 -04:00
thePR0M3TH3AN d106802a18 Reduce console logging noise 2025-08-23 12:46:52 -04:00
thePR0M3TH3AN f2648a8c1d Merge pull request #852 from PR0M3TH3AN/codex/handle-encryption-exceptions-with-user-friendly-message
Handle decryption failures with friendly message
2025-08-23 12:30:05 -04:00
thePR0M3TH3AN d030cf9692 Raise InvalidToken-compatible errors 2025-08-23 12:21:56 -04:00
thePR0M3TH3AN bebbca8169 Add test for friendly decryption message? 2025-08-23 12:05:58 -04:00
thePR0M3TH3AN 4d7e3d4b63 Merge pull request #851 from PR0M3TH3AN/codex/revise-logging-configuration-and-wrap-ui-sections
Limit console logging noise during interactive prompts
2025-08-23 11:56:44 -04:00