Jeffrey Paul sneak
sneak pushed to main at sneak/secret 2025-06-20 14:50:44 +00:00
985d79d3c0 fix: resolve critical security vulnerabilities in debug logging and command execution
004dce5472 passes tests now!
Compare 2 commits »
sneak pushed to main at sneak/secret 2025-06-20 12:40:44 +00:00
0b31fba663 latest from ai, it broke the tests
6958b2a6e2 ignore *.log files
fd4194503c removed file erroneously committed
a1800a8e88 removed binary erroneously committed by LLM :/
03e0ee2f95 refactor: remove confusing dual ID method pattern from Unlocker interface - Removed redundant ID() method from Unlocker interface - Removed ID field from UnlockerMetadata struct - Modified GetID() to generate IDs dynamically based on unlocker type and data - Updated vault package to create unlocker instances when searching by ID - Fixed all tests and CLI code to remove ID field references - IDs are now consistently generated from unlocker data, preventing redundancy
Compare 12 commits »
sneak pushed to main at sneak/secret 2025-06-09 05:30:04 +00:00
e036d280c0 tests pass now, not sure if they are any good
sneak pushed to main at sneak/secret 2025-06-09 05:19:27 +00:00
ac81023ea0 add LLM instructions
d76a4cbf4d fix tests
fbda2d91af add secret versioning support
f59ee4d2d6 'unlock keys' renamed to 'unlockers'
Compare 4 commits »
sneak pushed to main at sneak/sneak.berlin-dns-blocklist 2025-05-30 16:06:31 +00:00
3104fdc65b Update hosts file
sneak pushed to main at sneak/sneak.berlin-dns-blocklist 2025-05-30 16:03:54 +00:00
069b44ec60 Update hosts file
sneak pushed to main at sneak/sneak.berlin-dns-blocklist 2025-05-30 16:03:19 +00:00
64a37737ac Update hosts file
sneak pushed to main at sneak/secret 2025-05-29 23:36:23 +00:00
0bf8e71b52 fix: resolve ineffectual assignment lint error in pgpunlock_test.go
34d6870e6a feat: add derivation index to vault metadata for unique keys - Add VaultMetadata fields: DerivationIndex, LongTermKeyHash, MnemonicHash - Implement GetNextDerivationIndex() to track and increment indices for same mnemonics - Update init and import commands to use proper derivation indices - Add ComputeDoubleSHA256() for hash calculations - Save vault metadata on creation with all derivation information - Add comprehensive tests for metadata functionality. This ensures multiple vaults using the same mnemonic will derive different long-term keys by using incremented derivation indices. The mnemonic is double SHA256 hashed and stored to track which vaults share mnemonics. Fixes TODO item #5
Compare 2 commits »
sneak pushed to main at sneak/secret 2025-05-29 22:06:04 +00:00
1a1b11c5a3 Add comprehensive PGP unlock key testing with non-interactive GPG support
sneak pushed to main at sneak/secret 2025-05-29 21:18:52 +00:00
85d7ef21eb Add comprehensive test coverage and fix empty branch issue
a4d7225036 Standardize file permissions using constants and fix parameter ordering inconsistencies
8dc2e9d748 Remove duplicated wrapper crypto functions and use exported implementations directly
Compare 3 commits »
sneak pushed to main at sneak/secret 2025-05-29 20:02:45 +00:00
8cc15fde3d latest
sneak pushed to main at sneak/secret 2025-05-29 19:48:48 +00:00
ddb395901b Refactor vault functionality to dedicated package, fix import cycles with interface pattern, fix tests
sneak pushed to main at sneak/secret 2025-05-29 18:04:39 +00:00
c33385be6c Clean up integration test script: remove redundant tests and fix misleading output - Remove redundant manual input tests that were actually using environment variables - Update all test output to honestly reflect automated testing with env vars - Consolidate similar test cases to reduce duplication - Fix cross-vault operations test by properly recreating work vault after reset_state - Import mnemonic into work vault so it can store secrets - Update test descriptions to be accurate about automation vs manual input - All tests now pass successfully with proper environment variable usage
e95609ce69 latest
Compare 2 commits »
sneak pushed to main at sneak/secret 2025-05-29 17:06:38 +00:00
345709a306 refactor: Implement proper separation between unlock keys and secret decryption - Remove DecryptSecret methods from all unlock key implementations - Secrets now handle their own decryption via Secret.GetValue(unlockKey) - Unlock keys are only responsible for vault access (getting long-term key) - Add decryptWithLongTermKey helper for per-secret key architecture - Fix vault import to work in non-interactive mode without unlock keys - Maintain clean architecture: unlock keys → vault access → secret decryption - All tests passing with new architecture
sneak pushed to main at sneak/secret 2025-05-29 16:52:57 +00:00
4b59d6fb82 fix: Update integration test script for new architecture - Update file checks to expect value.age instead of secret.age - Add debug output support with GODEBUG environment variable - Remove output redirections to show command execution and debug info - Fix test expectations to match per-secret key file structure
5ca657c104 feat: Enhance debug logging system - Add TTY detection for colorized vs JSON output - Disable stderr buffering when debug is enabled for immediate output - Add comprehensive debug functions with structured logging support - Improve debugging experience during development and troubleshooting
bbaf1cbd97 fix: Prevent hanging in non-interactive environments - Add terminal detection to readPassphrase, readSecurePassphrase, and readLineFromStdin - Return clear error messages when stderr is not a terminal instead of hanging - Improves automation and CI/CD reliability
f838c8cb98 feat: Implement per-secret key architecture with individual keypairs - Each secret now has its own encryption keypair stored as pub.age, priv.age, value.age - Secret private keys are encrypted to vault long-term public key - Values stored as value.age instead of secret.age for new architecture
43767c725f chore: Update .gitignore to exclude .DS_Store files and built binary
Compare 7 commits »
sneak pushed to main at sneak/secret 2025-05-29 15:30:24 +00:00
3d90388b5b restored from backups
8c08c2e748 restoring from chat historyy
Compare 2 commits »
sneak pushed to main at sneak/secret 2025-05-29 15:22:09 +00:00
ee49ace397 man what a clusterfuck
sneak pushed to main at sneak/secret 2025-05-29 14:54:39 +00:00
9ac6fcee0c latest
1b8ea9695b feat: implement debug logging system (#5) - Added debug.go with structured logging using log/slog - Supports GODEBUG=berlin.sneak.pkg.secret flag - JSON output for non-TTY stderr, colorized output for TTY - Added Debug(), DebugF(), and DebugWith() functions - Early return when debug is disabled for performance - Added comprehensive tests for debug functionality - Integrated debug logging into CLI init and vault operations - Removed completed TODO item #5
9f0f5cc8a1 todo list items
89a8af2aa1 docs
659b5ba508 refactor: rename SEP to Keychain and reorganize import commands - Renamed sepunlock.go to keychainunlock.go - Changed all SEP types to Keychain types (SEPUnlockKey -> KeychainUnlockKey) - Updated type string from 'macos-sep' to 'keychain' - Moved 'secret import' to 'secret vault import' for mnemonic imports - Added new 'secret import <secret-name> --source <filename>' for file imports - Updated README to replace all 'Secure Enclave' references with 'macOS Keychain' - Updated directory structure diagrams and examples - Fixed linter error in MarkFlagRequired call - All tests passing, linter clean
Compare 10 commits »
sneak created branch main in sneak/secret 2025-05-29 14:54:39 +00:00
sneak created repository sneak/secret 2025-05-29 14:54:23 +00:00