pub struct SecurityScanReport {
pub schema: String,
pub extension_id: String,
pub overall_tier: RiskTier,
pub tier_counts: SecurityTierCounts,
pub findings: Vec<SecurityFinding>,
pub verdict: String,
pub rulebook_version: String,
}Expand description
Aggregate risk classification for an extension.
Fields§
§schema: StringSchema version.
extension_id: StringExtension identifier.
overall_tier: RiskTierOverall risk tier (worst finding).
tier_counts: SecurityTierCountsCounts per tier.
findings: Vec<SecurityFinding>Individual findings sorted by tier (worst first).
verdict: StringHuman-readable one-line verdict.
rulebook_version: StringRulebook version that produced this report.
Implementations§
Source§impl SecurityScanReport
impl SecurityScanReport
Sourcepub fn from_findings(
extension_id: String,
findings: Vec<SecurityFinding>,
) -> Self
pub fn from_findings( extension_id: String, findings: Vec<SecurityFinding>, ) -> Self
Build from a list of findings.
Findings are sorted deterministically: first by risk tier (Critical first), then by file path, then by line number, then by rule ID name. This guarantees identical output for identical input regardless of scan traversal order.
Sourcepub const fn should_block(&self) -> bool
pub const fn should_block(&self) -> bool
Whether the report recommends blocking the extension.
Sourcepub const fn needs_review(&self) -> bool
pub const fn needs_review(&self) -> bool
Whether the report recommends manual review.
Trait Implementations§
Source§impl Clone for SecurityScanReport
impl Clone for SecurityScanReport
Source§fn clone(&self) -> SecurityScanReport
fn clone(&self) -> SecurityScanReport
Returns a duplicate of the value. Read more
1.0.0 · 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 SecurityScanReport
impl Debug for SecurityScanReport
Source§impl<'de> Deserialize<'de> for SecurityScanReport
impl<'de> Deserialize<'de> for SecurityScanReport
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
Auto Trait Implementations§
impl Freeze for SecurityScanReport
impl RefUnwindSafe for SecurityScanReport
impl Send for SecurityScanReport
impl Sync for SecurityScanReport
impl Unpin for SecurityScanReport
impl UnsafeUnpin for SecurityScanReport
impl UnwindSafe for SecurityScanReport
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, _span: NoopSpan) -> Self
fn instrument(self, _span: NoopSpan) -> Self
Instruments this future with a span (no-op when disabled).
Source§fn in_current_span(self) -> Self
fn in_current_span(self) -> Self
Instruments this future with the current span (no-op when disabled).
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 moreSource§impl<T> ModelDump for Twhere
T: Serialize,
impl<T> ModelDump for Twhere
T: Serialize,
Source§fn model_dump(&self, options: DumpOptions) -> Result<Value, Error>
fn model_dump(&self, options: DumpOptions) -> Result<Value, Error>
Serialize a model to a JSON value. Read more
Source§fn model_dump_json(&self) -> Result<String, Error>
fn model_dump_json(&self) -> Result<String, Error>
Serialize a model to a JSON string with default options.
Source§fn model_dump_json_pretty(&self) -> Result<String, Error>
fn model_dump_json_pretty(&self) -> Result<String, Error>
Serialize a model to a pretty-printed JSON string.
Source§fn model_dump_json_with_options(
&self,
options: DumpOptions,
) -> Result<String, Error>
fn model_dump_json_with_options( &self, options: DumpOptions, ) -> Result<String, Error>
Serialize a model to a JSON string with full options support. Read more
Source§impl<T> ModelValidate for Twhere
T: DeserializeOwned,
impl<T> ModelValidate for Twhere
T: DeserializeOwned,
Source§fn model_validate(
input: impl Into<ValidateInput>,
options: ValidateOptions,
) -> Result<T, ValidationError>
fn model_validate( input: impl Into<ValidateInput>, options: ValidateOptions, ) -> Result<T, ValidationError>
Create and validate a model from input. Read more
Source§fn model_validate_json(json: &str) -> Result<Self, ValidationError>
fn model_validate_json(json: &str) -> Result<Self, ValidationError>
Create and validate a model from JSON string with default options.
Source§fn model_validate_dict(
dict: HashMap<String, Value>,
) -> Result<Self, ValidationError>
fn model_validate_dict( dict: HashMap<String, Value>, ) -> Result<Self, ValidationError>
Create and validate a model from a HashMap with default options.