pub trait ScanModule {
// Required methods
fn scan(
&self,
scan_object: &ScanObject,
) -> Result<Vec<Finding>, ArmorlibError>;
fn required_preprocessors(&self) -> Vec<&'static str>;
fn info(&self) -> (&'static str, &'static str);
// Provided methods
fn name(&self) -> &'static str { ... }
fn description(&self) -> &'static str { ... }
fn subscribed_filetypes(&self) -> Option<Vec<&'static str>> { ... }
}Expand description
A trait that defines the necessary functions for ScanModules to implement. To contribute a
new scan module, it will also need to be included in mod.rs inside the scan_modules
directory. A scan module is a modular component that finds vulnerabilities to privacy and
security inside ScanObjects. The ScanModule is the core component of ArmorLib.
Required Methods§
Sourcefn scan(&self, scan_object: &ScanObject) -> Result<Vec<Finding>, ArmorlibError>
fn scan(&self, scan_object: &ScanObject) -> Result<Vec<Finding>, ArmorlibError>
Scan the given scan_object and return either a vector of Findings or, in case of an
error, an ArmorlibError.
Sourcefn required_preprocessors(&self) -> Vec<&'static str>
fn required_preprocessors(&self) -> Vec<&'static str>
Return a Vec of &'static strs indicating the preprocessors that the scan module relies
on for running. These names should match the name provided by the processor in its name()
function.
Provided Methods§
Sourcefn name(&self) -> &'static str
fn name(&self) -> &'static str
Returns a &'static str of the name of the scan module. This information is drawn from
the information provided by info() in its default implementation.
Sourcefn description(&self) -> &'static str
fn description(&self) -> &'static str
Returns a &'static str of the description of the scan module. This information is drawn
from the information provided by info() in its default implementation.
Sourcefn subscribed_filetypes(&self) -> Option<Vec<&'static str>>
fn subscribed_filetypes(&self) -> Option<Vec<&'static str>>
Returns an Option<Vec<&'static str>> of the filetypes that the scan module is subscribed
to. If a scan module subscribes to a filetype, it will only be run if the data is detected
to be of any of the subscribed filetypes. If a scan module’s subscribed_filetypes()
function returns None (default), it will be run for every filetype.
These filetypes must match those defined in preprocessors/filetype.