[EPIC][module-options] Typed module options, datastore-style layering, validation, and operation scoping #195
Labels
No labels
bug
documentation
duplicate
enhancement
feature
good first issue
help wanted
invalid
question
refactor
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/hackmode#195
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent: #192
Mission
Give native Hackmode modules a typed configuration model that provides the useful ergonomics of a Metasploit-style datastore without introducing a second global mutable state store.
Configuration layers
Resolve module options deterministically from explicit layers such as:
The final effective configuration is frozen/recorded with the run for audit/replay.
Option schema
Support typed fields including:
Avoid ad-hoc stringly-typed option bags as the canonical representation.
Operation/workspace mapping
The Metasploit "workspace" concept maps to the canonical Hackmode operation. Module configuration must never create or infer a second target scope.
Operation-scoped defaults may reference the selected operation's assets/scope, but effectful values still pass authority/scope validation at run time.
Secrets
Secret-bearing options must support opaque secret references or backend resolution. Do not leak resolved secret values into module metadata, traces, LISH history or Tek9 evidence unless explicitly required and safely redacted.
UX/API
Expose typed APIs sufficient for LISH/Emacs to:
Acceptance
Non-goals
First slice
Implement typed defaults + instance override + operation-scoped value + validation for one harmless fixture module, then expose the effective config and source-of-value information to a test/LISH-facing API.