What it is
The lowest-layer crate of the ADhammer workspace. Every other adhammer-*
subsystem imports this. Contains only pure types + a handful of small
utility helpers — no I/O, no protocol parsers, no network stack.
- AD identifiers —
Sid(Security Identifier),Guid,AdObject(the normalized snapshot row). - Finding surface —
Finding,Category,Severity,Evidence, MITRE ATT&CK tags, wire-frameWireExchangefor reproducible per-verb evidence. - Secret boundary —
Redacted<T>,SecretString,SecretByteswithzeroize-on-drop;Debug/Displayprint"***"so a straytracing::debug!cannot leak. - Scope + runner control-plane (1.4.10) —
EngagementScope,ScopeTarget,CheckId,CheckClass,Capability,CapabilityKind,RunnerRefusal-family types the black-box runner builds on. Cross-cutting exclude semantics (excludes win across every identity form the caller provides). - Terminal-safe output (1.4.10) —
sanitize_terminal_outputstrips C0 / DEL / Unicode C1 / CSI / OSC / 2-byte ESC sequences before network-derived text reaches stdout or a report body. - Secure artifact writes (1.4.10) —
write_secret_artifact+SecretArtifactenum. Unix: atomicO_CREAT|O_EXCL + mode(0o600). Windows:File::create_newwith parent-DACL responsibility documented on the caller.
Install
[]
= "1.4"
Example
use ;
use IpAddr;
use FromStr;
// Terminal-safe echo of untrusted text.
let hostile = "\x1b[31m\x07spoofed";
assert_eq!;
// Password never leaks via Debug.
let pw = from;
assert_eq!;
assert_eq!;
// Scope-driven target check with cross-cutting excludes.
let scope = new
.unwrap;
assert!;
Related
adhammer— the CLI + orchestrator.adhammer-sdk— pub-use façade over every subsystem.- Sibling crates:
adhammer-collector,adhammer-checks,adhammer-graph,adhammer-kerberos,adhammer-ldap,adhammer-sysvol,adhammer-report,adhammer-bloodhound,adhammer-secrets.
License
MIT — see LICENSE.