pub struct PackageSecurityScanner { /* private fields */ }Expand description
Pre-install package security scanner.
Scans package file paths and requested capabilities against a set of
suspicious patterns before the package is installed. This is distinct
from repository::SecurityScanner which operates at the repository level.
Implementations§
Source§impl PackageSecurityScanner
impl PackageSecurityScanner
Sourcepub fn add_pattern(&mut self, pattern: ScanPattern)
pub fn add_pattern(&mut self, pattern: ScanPattern)
Register an additional scan pattern.
Sourcepub fn pattern_count(&self) -> usize
pub fn pattern_count(&self) -> usize
Return the number of registered patterns.
Sourcepub fn scan_paths(&self, file_paths: &[&str]) -> Vec<SecurityFinding>
pub fn scan_paths(&self, file_paths: &[&str]) -> Vec<SecurityFinding>
Scan a list of file paths against suspicious-path patterns.
Checks each file path against all ScanPatternType::SuspiciousPath
and ScanPatternType::UnsafePattern patterns.
Sourcepub fn scan_capabilities(&self, requested_caps: &[&str]) -> Vec<SecurityFinding>
pub fn scan_capabilities(&self, requested_caps: &[&str]) -> Vec<SecurityFinding>
Scan requested capabilities against excessive-capability patterns.
Checks each requested capability against all
ScanPatternType::ExcessiveCapability patterns.
Sourcepub fn scan_hashes(&self, file_hashes: &[(&str, &str)]) -> Vec<SecurityFinding>
pub fn scan_hashes(&self, file_hashes: &[(&str, &str)]) -> Vec<SecurityFinding>
Scan file hashes against known-bad hash patterns.
file_hashes is a list of (file_path, hex_hash) pairs.
Sourcepub fn has_findings_at_severity(
findings: &[SecurityFinding],
min_severity: ScanSeverity,
) -> bool
pub fn has_findings_at_severity( findings: &[SecurityFinding], min_severity: ScanSeverity, ) -> bool
Check if any finding is at or above the given severity threshold.