pub struct SecurityReport {
pub analyzed_at: DateTime<Utc>,
pub scan_duration: Duration,
pub overall_score: f32,
pub risk_level: SecuritySeverity,
pub total_findings: usize,
pub files_scanned: usize,
pub findings_by_severity: HashMap<SecuritySeverity, usize>,
pub findings_by_category: HashMap<SecurityCategory, usize>,
pub findings: Vec<SecurityFinding>,
pub recommendations: Vec<String>,
pub performance_metrics: PerformanceMetrics,
}Expand description
Security analysis report with comprehensive metrics
Fields§
§analyzed_at: DateTime<Utc>§scan_duration: Duration§overall_score: f32§risk_level: SecuritySeverity§total_findings: usize§files_scanned: usize§findings_by_severity: HashMap<SecuritySeverity, usize>§findings_by_category: HashMap<SecurityCategory, usize>§findings: Vec<SecurityFinding>§recommendations: Vec<String>§performance_metrics: PerformanceMetricsImplementations§
Source§impl SecurityReport
impl SecurityReport
Sourcepub fn has_critical_issues(&self) -> bool
pub fn has_critical_issues(&self) -> bool
Check if the scan found any critical issues
Sourcepub fn findings_by_severity_level(
&self,
severity: SecuritySeverity,
) -> Vec<&SecurityFinding>
pub fn findings_by_severity_level( &self, severity: SecuritySeverity, ) -> Vec<&SecurityFinding>
Get findings filtered by severity
Sourcepub fn to_json(&self) -> Result<String, SecurityError>
pub fn to_json(&self) -> Result<String, SecurityError>
Export report as JSON
Sourcepub fn to_sarif(&self) -> Result<String, SecurityError>
pub fn to_sarif(&self) -> Result<String, SecurityError>
Export report as SARIF (Static Analysis Results Interchange Format)
Trait Implementations§
Source§impl Debug for SecurityReport
impl Debug for SecurityReport
Source§impl<'de> Deserialize<'de> for SecurityReport
impl<'de> Deserialize<'de> for SecurityReport
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 SecurityReport
impl RefUnwindSafe for SecurityReport
impl Send for SecurityReport
impl Sync for SecurityReport
impl Unpin for SecurityReport
impl UnwindSafe for SecurityReport
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> 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