credsweeper.deep_scanner package
Submodules
credsweeper.deep_scanner.abstract_scanner module
- class credsweeper.deep_scanner.abstract_scanner.AbstractScanner[source]
Bases:
ABCBase abstract class for all recursive scanners
- abstract data_scan(data_provider: DataContentProvider, depth: int, recursive_limit_size: int) List[Candidate] | None[source]
Abstract method to be defined in DeepScanner
- deep_scan_with_fallback(data_provider: DataContentProvider, depth: int, recursive_limit_size: int) List[Candidate][source]
Scans with deep scanners and fallback scanners if possible
- Parameters:
data_provider – DataContentProvider with raw data
depth – maximal level of recursion
recursive_limit_size – maximal bytes of opened files to prevent recursive zip-bomb attack
Returns: list with candidates
- abstract static get_deep_scanners(data: bytes, descriptor: Descriptor, depth: int) Tuple[List[Any], List[Any]][source]
Returns possibly scan methods for the data depends on content and fallback scanners
- static key_value_combination(structure: dict) Generator[Tuple[Any, Any], None, None][source]
Combine items by key and value from a dictionary for augmentation {…, “key”: “api_key”, “value”: “XXXXXXX”, …} -> (“api_key”, “XXXXXXX”)
- recursive_scan(data_provider: DataContentProvider, depth: int = 0, recursive_limit_size: int = 0) List[Candidate][source]
Recursive function to scan files which might be containers like ZIP archives
- Parameters:
data_provider – DataContentProvider object may be a container
depth – maximal level of recursion
recursive_limit_size – maximal bytes of opened files to prevent recursive zip-bomb attack
- scan(content_provider: ContentProvider, depth: int, recursive_limit_size: int | None = None) List[Candidate][source]
Initial scan method to launch recursive scan. Skips ByteScanner to prevent extra scan
- Parameters:
content_provider – ContentProvider that might contain raw data
depth – maximal level of recursion
recursive_limit_size – maximal bytes of opened files to prevent recursive zip-bomb attack
- static structure_processing(structure: Any) Generator[Tuple[Any, Any], None, None][source]
Yields pair key, value from given structure if applicable
- structure_scan(struct_provider: StructContentProvider, depth: int, recursive_limit_size: int) List[Candidate][source]
Recursive function to scan structured data
- Parameters:
struct_provider – DataContentProvider object may be a container
depth – maximal level of recursion
recursive_limit_size – maximal bytes of opened files to prevent recursive zip-bomb attack
credsweeper.deep_scanner.byte_scanner module
- class credsweeper.deep_scanner.byte_scanner.ByteScanner[source]
Bases:
AbstractScanner,ABCImplements plain data scanning
credsweeper.deep_scanner.bzip2_scanner module
credsweeper.deep_scanner.csv_scanner module
- class credsweeper.deep_scanner.csv_scanner.CsvScanner[source]
Bases:
AbstractScanner,ABCImplements CSV scanning
- data_scan(data_provider: DataContentProvider, depth: int, recursive_limit_size: int) List[Candidate] | None[source]
Tries to scan each row as structure with column name in key
- delimiters = ',;\t|\x1f'
- classmethod get_structure(text: str) List[Dict[str, Any]][source]
Reads a text as CSV standard with guessed dialect
- sniffer = <csv.Sniffer object>
credsweeper.deep_scanner.deb_scanner module
- class credsweeper.deep_scanner.deb_scanner.DebScanner[source]
Bases:
AbstractScanner,ABCImplements deb (ar) scanning
credsweeper.deep_scanner.deep_scanner module
- class credsweeper.deep_scanner.deep_scanner.DeepScanner(config: Config, scanner: Scanner)[source]
Bases:
ByteScanner,Bzip2Scanner,DocxScanner,CsvScanner,EncoderScanner,GzipScanner,HtmlScanner,JclassScanner,JksScanner,LangScanner,LzmaScanner,PatchScanner,PdfScanner,PkcsScanner,PptxScanner,RtfScanner,RpmScanner,Sqlite3Scanner,StringsScanner,TarScanner,DebScanner,XmlScanner,XlsxScanner,ZipScannerAdvanced scanner with recursive exploring of data
credsweeper.deep_scanner.docx_scanner module
credsweeper.deep_scanner.eml_scanner module
credsweeper.deep_scanner.encoder_scanner module
- class credsweeper.deep_scanner.encoder_scanner.EncoderScanner[source]
Bases:
AbstractScanner,ABCImplements recursive iteration when data might be encoded
credsweeper.deep_scanner.gzip_scanner module
credsweeper.deep_scanner.html_scanner module
- class credsweeper.deep_scanner.html_scanner.HtmlScanner[source]
Bases:
AbstractScanner,ABCImplements html scanning if possible
credsweeper.deep_scanner.jclass_scanner module
- class credsweeper.deep_scanner.jclass_scanner.JclassScanner[source]
Bases:
AbstractScanner,ABCImplements java .class scanning
- data_scan(data_provider: DataContentProvider, depth: int, recursive_limit_size: int) List[Candidate] | None[source]
Extracts data from binary
credsweeper.deep_scanner.jks_scanner module
credsweeper.deep_scanner.lang_scanner module
- class credsweeper.deep_scanner.lang_scanner.LangScanner[source]
Bases:
AbstractScanner,ABCImplements scanning of data if it is a script of some markup language
credsweeper.deep_scanner.lzma_scanner module
credsweeper.deep_scanner.mxfile_scanner module
credsweeper.deep_scanner.patch_scanner module
credsweeper.deep_scanner.pdf_scanner module
- class credsweeper.deep_scanner.pdf_scanner.PdfScanner[source]
Bases:
AbstractScanner,ABCImplements pdf scanning
credsweeper.deep_scanner.pkcs_scanner module
credsweeper.deep_scanner.pptx_scanner module
credsweeper.deep_scanner.rpm_scanner module
- class credsweeper.deep_scanner.rpm_scanner.RpmScanner[source]
Bases:
AbstractScanner,ABCImplements rpm scanning
credsweeper.deep_scanner.rtf_scanner module
credsweeper.deep_scanner.sqlite3_scanner module
- class credsweeper.deep_scanner.sqlite3_scanner.Sqlite3Scanner[source]
Bases:
AbstractScanner,ABCImplements SQLite3 database scanning
credsweeper.deep_scanner.strings_scanner module
- class credsweeper.deep_scanner.strings_scanner.StringsScanner[source]
Bases:
AbstractScanner,ABCImplements known binary file scanning with ASCII strings representations
credsweeper.deep_scanner.tar_scanner module
credsweeper.deep_scanner.tmx_scanner module
- class credsweeper.deep_scanner.tmx_scanner.TmxScanner[source]
Bases:
AbstractScanner,ABCRealises tmX files scanning for values only. Image tags are skipped.