Trait armorlib::scan_module::ScanModule [] [src]

pub trait ScanModule {
    fn scan(
        &self,
        scan_object: &ScanObject
    ) -> Result<Vec<Finding>, ArmorlibError>;
fn required_preprocessors(&self) -> Vec<&'static str>;
fn info(&self) -> (&'static str, &'static str); fn name(&self) -> &'static str { ... }
fn description(&self) -> &'static str { ... }
fn subscribed_filetypes(&self) -> Option<Vec<&'static str>> { ... } }

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

Scan the given scan_object and return either a vector of Findings or, in case of an error, an ArmorlibError.

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.

Returns a tuple containing the name and description of the scan module.

Provided Methods

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.

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.

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.

Implementors