mirror of
https://github.com/PR0M3TH3AN/SeedPass.git
synced 2026-10-27 16:02:05 +00:00
1.8 KiB
1.8 KiB
Memory Update (2026-02-25)
Security Item 2 Progress
- Raised PBKDF2 default policy for new profiles from
50_000to200_000viaConfigManager.DEFAULT_PBKDF2_ITERATIONS. - Added policy-floor enforcement in
PasswordManager._get_kdf_iterations()so downgraded configured values are ignored during normal seed-key derivation. - Kept unlock backward compatibility for legacy profiles by preserving fallback attempts for
50_000and100_000iterations.
KDF Metadata Consistency
- Added
PasswordManager._build_seed_kdf_config(...)and wired all seed re-encryption callsites to persist explicit KDF metadata (pbkdf2orargon2id) matching active derivation policy.
Plaintext Export Safeguard
- Hardened
handle_export_databaseinteractive flow: plaintext export now requires explicit warning + second confirmation. - Added audit metadata for backup exports (
encryption_modefield).
Nonce Lifecycle Decision
- Removed CRC32 nonce tracking from
EncryptionManager.encrypt_data. - Policy now relies on fresh random 96-bit AES-GCM nonces per encryption call to avoid CRC false positives and in-memory collision bookkeeping.
Added/Updated Tests
- Expanded
src/tests/test_kdf_modes.pywith negatives for:- wrong Argon2 params on unlock,
- tampered KDF wrapper payload,
- downgraded KDF policy attempt (floor enforcement).
- Added
src/tests/test_export_plaintext_policy.pyfor double-confirm plaintext export guard. - Updated expectations in
test_config_manager.pyandtest_kdf_strength_slider.pyfor new PBKDF2 baseline.
Validation
- Ran targeted suite:
src/tests/test_kdf_modes.pysrc/tests/test_export_plaintext_policy.pysrc/tests/test_config_manager.pysrc/tests/test_kdf_strength_slider.pysrc/tests/test_noninteractive_init_unlock.pysrc/tests/test_password_unlock_after_change.py
- Result:
28 passed.