Expand description
This module defines and manages the default scan modules available to ArmorLib.
To contribute a new ScanModule
, you must:
1. publicly import it into this module via pub mod
.
2. instantiate it in make_default_scan_modules()
.
Modules§
- exif
- This scan module searches for EXIF metadata in JPEG and TIFF files. EXIF metadata often contains sensitive private information (like location), and poses a serious threat to privacy and security.
- strings
- This scan module searches for common problematic strings.
It uses the Aho–Corasick algorithm for
n*log(s) search time complexity, where
n` is the length of the string and s is the number of strings in the string database. - unicode_
watermark - Implements a module that attempts to catch a common techinique used to compromise privacy and find sources: Unicode watermarking. There are lots of techniques that are used to do this: right now, this library catches the most common one, using zero-width joiner characters which are invisible to humans but uniquely mark text depending on their locations.
Functions§
- make_
default_ scan_ modules - Create a
Vec<Box<ScanModule>>
of the core scan modules available to ArmorLib. This will instantiate the scan modules. - process
- Process the given
Vec<Box<ScanModule>>
on the givenScanObject
and return a ScanResult. While concurrency is not yet available in ArmorLib, it will be implemented in this function, if anywhere. Be sure that the givenScanObject
has the necessary metadata for the scan modules; no preprocessor checking is done here.