Joseph O'Brien
|
e388d75cf1
|
feat(notsecrets): Decryptor — identity-driven age decryption with MAC verification
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-01 21:06:55 -04:00 |
|
Joseph O'Brien
|
9863af6b45
|
feat(notsecrets): Encryptor — multi-recipient age encryption
|
2026-04-01 21:02:57 -04:00 |
|
Joseph O'Brien
|
545a45b3d3
|
feat(notsecrets): EncryptedIdentity stub — passphrase-protected identity file
|
2026-04-01 20:57:22 -04:00 |
|
Joseph O'Brien
|
a0fe6f7128
|
feat(notsecrets): SSH RSA identity and recipient (OAEP-SHA256)
|
2026-04-01 20:55:42 -04:00 |
|
Joseph O'Brien
|
566501cb42
|
feat(notsecrets): SSH Ed25519 identity and recipient
|
2026-04-01 20:53:59 -04:00 |
|
Joseph O'Brien
|
b899198e98
|
feat(notsecrets): scrypt identity and recipient (passphrase-based)
|
2026-04-01 20:51:40 -04:00 |
|
Joseph O'Brien
|
6202c5dfe9
|
feat(notsecrets): X25519 identity and recipient with wrap/unwrap
Implements ECDH key wrapping via HKDF-SHA256 + ChaCha20Poly1305,
bech32 encode/decode for age1... recipients and AGE-SECRET-KEY-1... identities.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-01 20:49:31 -04:00 |
|
Joseph O'Brien
|
2476daafa6
|
feat(notsecrets): age wire format parser/serializer with unit tests
|
2026-04-01 20:47:00 -04:00 |
|
Joseph O'Brien
|
34d9e3d677
|
feat(notsecrets): scaffold age-native domain types and trait ports
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-01 20:44:05 -04:00 |
|
Joseph O'Brien
|
55d68ee92f
|
fix: address security findings from devkit-review (#1–#7)
notsecrets:
- install_age_key_at: create key file with mode 0600 via OpenOptions,
eliminating TOCTOU window where file was transiently world-readable (#3)
- sops_args: extract arg-builder and add -- separator before path,
preventing leading-dash flag injection (#2)
- use .context() instead of .with_context(closure) for string literal (#7)
notstrap:
- extract parse_env_line: validates env lines before set_var — rejects
null bytes (#4) and blocks dangerous keys (LD_PRELOAD, PATH, etc.) (#5)
- wire parse_env_line into injection loop; errors abort the step cleanly
- correct SAFETY comment: documents single-threaded invariant and notes
that subsequent spawns inherit injected env (#6)
Tests: 12 new tests covering all fixes; workspace grows from 44 to 56 passing.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-01 15:00:47 -04:00 |
|
Joseph O'Brien
|
403bcc4436
|
fix: address blocking sentinel findings (unsafe SAFETY comment, unwrap panics)
Public Repo Readiness / Check Public Repo Readiness (push) Failing after 4s
|
2026-04-01 08:59:28 -04:00 |
|
Joseph O'Brien
|
0ff89234e8
|
chore: add dual MIT/Apache-2.0 license, update Cargo.toml and README
Public Repo Readiness / Check Public Repo Readiness (push) Failing after 4s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-31 22:00:10 -04:00 |
|
Joseph O'Brien
|
6e78778543
|
feat(notsecrets): add age key retrieval with bw/file/prompt sources
|
2026-03-31 17:26:10 -04:00 |
|
Joseph O'Brien
|
6b0bd3beb6
|
feat(notcore): add shared types, config, paths, error crate
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-31 17:17:35 -04:00 |
|