pub struct FindingProofBundle {
pub finding_id: String,
pub query_id: String,
pub backend_id: String,
pub evidence_digest: String,
pub precision_contract: PrecisionContract,
pub soundness: Soundness,
pub primitive_soundness: Vec<DynamicPrimitiveSoundness>,
pub fact_ids: Vec<FactId>,
pub proof_path: Vec<FindingProofStep>,
pub confidence_bps: u16,
pub reason: String,
}Expand description
Fact-backed security finding proof bundle.
Fields§
§finding_id: StringStable finding id.
query_id: StringQuery Program or analysis query id that produced the finding.
backend_id: StringBackend that produced or verified the finding.
evidence_digest: StringDriver evidence bundle digest, report digest, or replay id.
precision_contract: PrecisionContractConsumer precision contract this finding claims to satisfy.
soundness: SoundnessConservative composed soundness marker for the primitive evidence.
primitive_soundness: Vec<DynamicPrimitiveSoundness>Primitive soundness evidence used by the query.
fact_ids: Vec<FactId>Facts used by the finding.
proof_path: Vec<FindingProofStep>Ordered proof path.
confidence_bps: u16Confidence in basis points, 0..=10000.
reason: StringOperator-facing explanation.
Implementations§
Source§impl FindingProofBundle
impl FindingProofBundle
Sourcepub fn validate_against(
&self,
table: &AnalysisFactTable,
) -> Result<(), AnalysisFactError>
pub fn validate_against( &self, table: &AnalysisFactTable, ) -> Result<(), AnalysisFactError>
Validate that a finding is backed by the supplied fact table.
§Errors
Returns AnalysisFactError when required identity fields are empty,
confidence is invalid, any referenced fact is missing, or the proof path
is empty.
Trait Implementations§
Source§impl Clone for FindingProofBundle
impl Clone for FindingProofBundle
Source§fn clone(&self) -> FindingProofBundle
fn clone(&self) -> FindingProofBundle
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for FindingProofBundle
impl Debug for FindingProofBundle
Source§impl<'de> Deserialize<'de> for FindingProofBundle
impl<'de> Deserialize<'de> for FindingProofBundle
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>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for FindingProofBundle
Source§impl PartialEq for FindingProofBundle
impl PartialEq for FindingProofBundle
Source§impl Serialize for FindingProofBundle
impl Serialize for FindingProofBundle
impl StructuralPartialEq for FindingProofBundle
Auto Trait Implementations§
impl Freeze for FindingProofBundle
impl RefUnwindSafe for FindingProofBundle
impl Send for FindingProofBundle
impl Sync for FindingProofBundle
impl Unpin for FindingProofBundle
impl UnsafeUnpin for FindingProofBundle
impl UnwindSafe for FindingProofBundle
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
Mutably borrows from an owned value. Read more
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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>
Converts
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>
Converts
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