pub struct ScannerConfig {Show 17 fields
pub mode: AnalysisMode,
pub min_severity: Severity,
pub max_file_size_mb: Option<u64>,
pub excluded_extensions: Vec<String>,
pub excluded_directories: Vec<String>,
pub excluded_files: Vec<String>,
pub read_global_ignore: bool,
pub read_vcsignore: bool,
pub require_git_to_read_vcsignore: bool,
pub one_file_system: bool,
pub follow_symlinks: bool,
pub scan_hidden_files: bool,
pub include_nonprod: bool,
pub enable_state_analysis: bool,
pub enable_auth_analysis: bool,
pub enable_panic_recovery: bool,
pub enable_auth_as_taint: bool,
}Fields§
§mode: AnalysisModeThe analysis mode to use.
min_severity: SeverityThe minimum severity level to output
max_file_size_mb: Option<u64>The maximum file size to scan, in megabytes.
excluded_extensions: Vec<String>File extensions to exclude from scanning.
excluded_directories: Vec<String>Directories to exclude from scanning.
excluded_files: Vec<String>Excluded files
read_global_ignore: boolRESERVED: not yet wired to walker. Whether to respect the global ignore file.
read_vcsignore: boolWhether to respect VCS ignore files (.gitignore, ..) or not.
require_git_to_read_vcsignore: boolWhether to require a .git directory to respect gitignore files.
one_file_system: boolWhether to limit the search to starting file system or not.
follow_symlinks: boolWhether to follow symlinks or not.
Whether to scan hidden files or not.
include_nonprod: boolWhether to include findings from non-production paths (tests, vendor, benchmarks, etc.) at their original severity. When false (default), findings in these paths are downgraded by one severity tier.
enable_state_analysis: boolEnable the state-model dataflow engine for resource lifecycle and auth-state analysis. Default: true.
enable_auth_analysis: boolEnable auth-state analysis within the state engine. When false, only resource lifecycle findings (leak, use-after-close, double-close) are produced. Default: true.
enable_panic_recovery: boolWhen true, per-file panics during analysis are caught and logged as warnings; the scan continues with the remaining files. Default false: a panic aborts the scan, preserving existing behaviour for users who want to catch engine bugs loudly.
enable_auth_as_taint: boolFold auth_analysis into the SSA/taint engine using the
Cap::UNAUTHORIZED_ID cap. When true, request-bound handler
parameters seed UNAUTHORIZED_ID into the taint state and a
complementary set of sink / sanitizer rules participates in the
flow. Default false while the standalone auth_analysis
subsystem still carries the stable detection; flipping to true
enables the taint-based path alongside it.
Trait Implementations§
Source§impl Clone for ScannerConfig
impl Clone for ScannerConfig
Source§fn clone(&self) -> ScannerConfig
fn clone(&self) -> ScannerConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ScannerConfig
impl Debug for ScannerConfig
Source§impl Default for ScannerConfig
impl Default for ScannerConfig
Source§impl<'de> Deserialize<'de> for ScannerConfigwhere
ScannerConfig: Default,
impl<'de> Deserialize<'de> for ScannerConfigwhere
ScannerConfig: Default,
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>,
Auto Trait Implementations§
impl Freeze for ScannerConfig
impl RefUnwindSafe for ScannerConfig
impl Send for ScannerConfig
impl Sync for ScannerConfig
impl Unpin for ScannerConfig
impl UnsafeUnpin for ScannerConfig
impl UnwindSafe for ScannerConfig
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
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: 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>
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>
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