Skip to main content

ContainerProvenanceControl

Struct ContainerProvenanceControl 

Source
pub struct ContainerProvenanceControl;
Expand description

Verifies that container images have SLSA provenance attestations.

Maps to SOC2 PI1.4: processing integrity through artifact provenance. SLSA provenance attestations bind container images to the source commit and build workflow that produced them, enabling consumers to verify the build origin and integrity of the image.

Evaluation tiers:

  • Satisfied: all container images have provenance attestations
  • Violated: some container images lack provenance attestations
  • NotApplicable: no container images in evidence

Trait Implementations§

Source§

impl Control for ContainerProvenanceControl

Source§

fn id(&self) -> ControlId

Returns the unique identifier for this control.
Source§

fn description(&self) -> &'static str

Human-readable description for SARIF rule output.
Source§

fn evaluate(&self, evidence: &EvidenceBundle) -> Vec<ControlFinding>

Evaluates the evidence bundle and returns one finding per subject.
Source§

fn tsc_criteria(&self) -> &'static [&'static str]

SOC2 Trust Services Criteria this control maps to (e.g., &[“CC6.1”, “CC8.1”]). Returns empty slice for controls not mapped to SOC2.
Source§

fn remediation_hint(&self) -> Option<&'static str>

Actionable remediation hint shown when the control fails or needs review.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.