feat(security): Phase 6 — DerivedKey zeroing hardening
slip010.py: - SecretByteArray: bytearray subclass with zero() method and __del__ safety net - DerivedKey.__del__: calls zero() as GC backstop for forgotten explicit calls
hdkeys.py: - derive_agent_sub_seed now returns SecretByteArray instead of bytearray - public_bytes_from_seed: try/finally around dk.zero()
keypair.py: - derive_hd_public_info: try/finally around dk.zero() - generate_hd_keypair: try/finally around dk.zero()
identity.py: - resolve_signing_identity._derive: try/finally; exception returns None, dk always zeroed
auth.py: - run_register inline derivation: try/finally around dk.zero()
Tests: Z1-Z7 (test_security_zeroing.py) Doc: Phases 1-6 complete, Phase 7 pending
sha256:7ee0315af150d5a334c4668b5fbd944174095711a13e432568f66ad9fec528cd
sha
+34
~19
−2
symbols
sha256:daabee059e081141393c7965383e57e72aea2dc54904c1af659a3f860c338007
snapshot
+34
symbols added
~19
symbols modified
−2
symbols removed
0
dead code introduced
Semantic Changes
55 symbols
+
test_Z5_derive_agent_sub_seed_returns_secret_bytearray
method
method test_Z5_derive_agent_sub_seed_returns_secret_bytearray L171–181
+
test_Z6_dk_zeroed_when_from_private_bytes_raises
method
method test_Z6_dk_zeroed_when_from_private_bytes_raises L216–261
+
test_Z2_dk_zeroed_even_when_materialise_raises
method
method test_Z2_dk_zeroed_even_when_materialise_raises L99–126
+
test_Z7_dk_zeroed_when_materialise_raises_in_register
method
method test_Z7_dk_zeroed_when_materialise_raises_in_register L270–314
−
Phase 5 — Orphan PEM Cleanup 🔴 IN PROGRESS
section Phase 5 — Orphan PEM Cleanup 🔴 IN PROGRESS L187–203
−
Phase 6 — DerivedKey Zeroing Hardening (M1, M2)
section Phase 6 — DerivedKey Zeroing Hardening (M1, M2) L203–212
+
Phase 6 — DerivedKey Zeroing Hardening (M1, M2) ✅ COMPLETE
section Phase 6 — DerivedKey Zeroing Hardening (M1, M2) ✅ COMPLETE L196–225
~
hardened
~
__all__
0 comments
To add a comment, use the Muse CLI:
muse hub commit comment sha256:7ee0315af150d5a334c4668b5fbd944174095711a13e432568f66ad9fec528cd --body "your comment"
No comments yet. Be the first to start the discussion.