#[non_exhaustive]pub enum EvidenceClaim {
TerminalOutcome,
CapturedStreams,
ResourceUsage,
AllowedActions,
DeniedAttempts,
FilesystemDelta,
ProcessTree,
NetworkActivity,
ArtifactLineage,
MechanismAttestation,
}Expand description
One kind of evidence a backend can produce for a requirement.
The members of the EVIDENCE axis — orthogonal to Enforcement. A scalar
“coverage” level would be dishonest: a backend that witnesses denied attempts
but not allowed actions is incomparable to one that does the reverse. So
evidence is a SET of explicit claims, and composition is set intersection.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
TerminalOutcome
The run’s terminal outcome + exit status are observable.
CapturedStreams
Captured stdout/stderr are observable.
ResourceUsage
CPU/memory/IO resource usage is observable.
AllowedActions
The operations the workload performed are observable.
DeniedAttempts
Each attempt the boundary blocked is observable.
FilesystemDelta
Filesystem creations/modifications are observable.
ProcessTree
The child process tree is observable.
NetworkActivity
Network connections/traffic are observable.
ArtifactLineage
Produced-artifact provenance is observable.
MechanismAttestation
The confinement mechanism actually applied is attestable.
Trait Implementations§
Source§impl Clone for EvidenceClaim
impl Clone for EvidenceClaim
Source§fn clone(&self) -> EvidenceClaim
fn clone(&self) -> EvidenceClaim
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for EvidenceClaim
Source§impl Debug for EvidenceClaim
impl Debug for EvidenceClaim
Source§impl<'de> Deserialize<'de> for EvidenceClaim
impl<'de> Deserialize<'de> for EvidenceClaim
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for EvidenceClaim
Source§impl FromIterator<EvidenceClaim> for EvidenceSet
impl FromIterator<EvidenceClaim> for EvidenceSet
Source§fn from_iter<I: IntoIterator<Item = EvidenceClaim>>(iter: I) -> Self
fn from_iter<I: IntoIterator<Item = EvidenceClaim>>(iter: I) -> Self
Source§impl Hash for EvidenceClaim
impl Hash for EvidenceClaim
Source§impl Ord for EvidenceClaim
impl Ord for EvidenceClaim
Source§fn cmp(&self, other: &EvidenceClaim) -> Ordering
fn cmp(&self, other: &EvidenceClaim) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for EvidenceClaim
impl PartialEq for EvidenceClaim
Source§fn eq(&self, other: &EvidenceClaim) -> bool
fn eq(&self, other: &EvidenceClaim) -> bool
self and other values to be equal, and is used by ==.Source§impl PartialOrd for EvidenceClaim
impl PartialOrd for EvidenceClaim
Source§impl Serialize for EvidenceClaim
impl Serialize for EvidenceClaim
impl StructuralPartialEq for EvidenceClaim
Auto Trait Implementations§
impl Freeze for EvidenceClaim
impl RefUnwindSafe for EvidenceClaim
impl Send for EvidenceClaim
impl Sync for EvidenceClaim
impl Unpin for EvidenceClaim
impl UnsafeUnpin for EvidenceClaim
impl UnwindSafe for EvidenceClaim
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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