Skip to main content

ReleaseAssetAttestationControl

Struct ReleaseAssetAttestationControl 

Source
pub struct ReleaseAssetAttestationControl;
Expand description

Validates that the latest release assets have build provenance attestations (GitHub Attestations / Sigstore).

Maps to SOC2 PI1.4: processing integrity through artifact provenance. Build provenance attestations bind release binaries to the source commit and CI workflow that produced them, enabling consumers to verify that artifacts were not tampered with after build.

Evaluation tiers:

  • Satisfied: release assets have attestations
  • Violated: release assets exist but lack attestations
  • NotApplicable: no release exists

Trait Implementations§

Source§

impl Control for ReleaseAssetAttestationControl

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.