pub struct ScopeDefinition {
pub name: String,
pub targets: Vec<String>,
pub depth: String,
pub approver: String,
pub loc: Loc,
pub leading_trivia: Vec<Trivia>,
pub trailing_trivia: Vec<Trivia>,
}Expand description
v2.43.0 — scope <Name> { targets:, depth:, approver: } — the
authorization scope a warden block runs within. The load-bearing safety
construct (paper section 5.2): it declares which resources may be analysed
(targets allowlist), how invasively (depth ceiling), and who authorised
it (approver capability). A warden with no resolvable in-scope
authorization does not compile (fail-closed). Named + referenced, like
cache/cors. Unknown fields are a hard parse error: a scope
governs an offensive-capable analysis, so a typo can never silently widen it.
Fields§
§name: String§targets: Vec<String>targets: [ "<resource>", … ] — the allowlist of resources the operator
owns/controls and authorises for analysis. Required + non-empty (v2.43.0
axon-T88x); a target outside this list is a typed rejection.
depth: Stringdepth: static_artifact | memory_dump | live_network — the MOST invasive
analysis depth this scope permits (the ceiling). Closed catalog, ordered
least→most invasive; empty ⇒ the safest default static_artifact (v2.43.0).
approver: Stringapprover: [requires] "<capability>" — the capability whose holder
authorised this scope (segregation of duties, the mandate v1.13.1 model).
Required (v2.43.0).
loc: Loc§leading_trivia: Vec<Trivia>v1.5.2 — leading comment trivia.
trailing_trivia: Vec<Trivia>v1.5.2 — trailing comment trivia.