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
§Fase 88.a — scope <Name> { targets:, depth:, approver: } — the
authorization scope a warden block runs within. The load-bearing safety
construct (paper §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 (D83.7): 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 (§88.c
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 (§88.c).
approver: Stringapprover: [requires] "<capability>" — the capability whose holder
authorised this scope (segregation of duties, the mandate §21 model).
Required (§88.c).
loc: Loc§leading_trivia: Vec<Trivia>Fase 14.b — leading comment trivia.
trailing_trivia: Vec<Trivia>Fase 14.b — trailing comment trivia.
Trait Implementations§
Source§impl Debug for ScopeDefinition
impl Debug for ScopeDefinition
Source§impl Default for ScopeDefinition
impl Default for ScopeDefinition
Source§fn default() -> ScopeDefinition
fn default() -> ScopeDefinition
Auto Trait Implementations§
impl Freeze for ScopeDefinition
impl RefUnwindSafe for ScopeDefinition
impl Send for ScopeDefinition
impl Sync for ScopeDefinition
impl Unpin for ScopeDefinition
impl UnsafeUnpin for ScopeDefinition
impl UnwindSafe for ScopeDefinition
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more