MCPcopy Create free account

hub / github.com/andreafortuna/malhunt / functions

Functions138 in github.com/andreafortuna/malhunt

↓ 18 callersMethod_run_command
Run a volatility command with retry and caching. Args: *args: Arguments to pass to volatility use_cache: Whet
src/malhunt/volatility.py:120
↓ 8 callersMethodscan
Run YARA scan on memory dump. Returns: List of suspicious processes found
src/malhunt/scanner.py:32
↓ 6 callersFunctioncheck_exclusions
Check if line contains excluded words. Args: line: The line to check excluded_words: List of words to filter out
src/malhunt/utils.py:20
↓ 6 callersFunctionsanitize_yara_rules_file
Sanitize a merged YARA file by removing unsupported imports/rules. This is designed for very large merged rule files where dropping the whole
src/malhunt/utils.py:79
↓ 6 callersFunctionvalidate_and_prune_yara_rules_file
Validate a YARA file by compiling it and pruning failing rule blocks. Args: source: Input YARA file path destination: Output vali
src/malhunt/utils.py:199
↓ 5 callersMethodidentify_profile
Identify the memory dump OS and version. The method consults the output of the `windows.info` plugin and applies several heuristics:
src/malhunt/core.py:362
↓ 4 callersMethod_make_mh
(self, tmp_path)
tests/test_core.py:396
↓ 4 callersFunctionremove_incompatible_imports
Filter out YARA files with incompatible imports. Args: files: List of YARA file paths Returns: Filtered list of
src/malhunt/utils.py:53
↓ 4 callersMethodscan
Scan for suspicious network connections. Returns: List of suspicious processes found
src/malhunt/scanner.py:158
↓ 4 callersMethodyarascan
Run YARA scan on memory dump. Args: rule_file: Path to YARA rule file Returns: Scan outp
src/malhunt/volatility.py:602
↓ 3 callersMethod_drop_rule_block_at_line
Drop the YARA rule block around a 1-based line number. Returns True if a block (or at least a line) was removed.
src/malhunt/volatility.py:679
↓ 3 callersMethod_find_volatility
Find Volatility3 executable in PATH. Tries multiple common names: - vol (most common) - volatility3 - vol.py
src/malhunt/volatility.py:90
↓ 3 callersMethod_get_windows_symbol_root
(symbol_dirs: Optional[List[Path]])
src/malhunt/volatility.py:287
↓ 3 callersMethod_validate_profile
Check whether a given Windows profile works against the dump. Runs a lightweight command (`pslist`) with `--profile` and returns True
src/malhunt/core.py:347
↓ 3 callersFunctionbanner_logo
Return malhunt ASCII banner.
src/malhunt/utils.py:344
↓ 3 callersFunctionfix_duplicated_rules
Remove duplicate rule definitions from merged YARA content. Args: content: Merged YARA rules content Returns: Cl
src/malhunt/utils.py:313
↓ 3 callersFunctionflush_rule_block
()
src/malhunt/utils.py:112
↓ 3 callersMethodimageinfo
Get image identification information using windows.info plugin. Returns: Dictionary with OS information and detected prop
src/malhunt/volatility.py:502
↓ 3 callersMethodprepare_rules
Backward-compatible helper to prepare only YARA rules. Returns: True if YARA rules are available, False otherwise
src/malhunt/core.py:107
↓ 3 callersMethodraise_for_status
(self)
tests/test_core.py:145
↓ 2 callersMethod_build_symbol_download_candidates
(self, url: str)
src/malhunt/volatility.py:294
↓ 2 callersMethod_extract_symbol_download_urls
Extract symbol-server download URLs from Volatility output text.
src/malhunt/volatility.py:253
↓ 2 callersMethodclear_cache
Clear the result cache.
src/malhunt/volatility.py:895
↓ 2 callersMethodenrich_symbol_diagnostics
Enrich diagnostics with local availability and recovery helper path.
src/malhunt/volatility.py:380
↓ 2 callersMethodget_symbol_diagnostics
Build a human-friendly diagnostics report for symbol failures. Args: error: VolatilityError raised by a plugin invocation
src/malhunt/volatility.py:453
↓ 2 callersMethodis_available
Check if ClamAV is available. Returns: True if clamscan is available
src/malhunt/artifacts.py:118
↓ 2 callersMethodis_yara_dependency_error
Return True if error indicates missing YARA backend for Volatility.
src/malhunt/volatility.py:241
↓ 2 callersMethodnetscan
Scan network connections. Returns: Network scan output
src/malhunt/volatility.py:777
↓ 2 callersFunctionprint_usage
Print usage information. Args: prog: Program name
src/malhunt/__main__.py:30
↓ 2 callersMethodscan
Scan for injected code. Returns: List of suspicious processes found
src/malhunt/scanner.py:100
↓ 1 callersMethod_alternate_symbol_url
Build alternate symbol URL variant (.pdb <-> .pd_) if possible.
src/malhunt/volatility.py:265
↓ 1 callersMethod_extract_symbol_parts
(url: str)
src/malhunt/volatility.py:309
↓ 1 callersMethod_extract_yara_syntax_error_line
(error: VolatilityError)
src/malhunt/volatility.py:668
↓ 1 callersMethod_find_clamscan
Find clamscan executable. Returns: Path to clamscan, or None if not found
src/malhunt/artifacts.py:96
↓ 1 callersFunction_find_yara_block_bounds
Find bounds of a rule/orphan block around a 0-based line index.
src/malhunt/utils.py:265
↓ 1 callersMethod_find_yara_block_bounds
Find the most likely malformed block around an error line. First tries to remove a full `rule ... { ... }` block. If no rule header i
src/malhunt/volatility.py:702
↓ 1 callersMethod_preflight_volatility_symbols
Validate symbol availability before running scanning plugins. Returns: True when Volatility can resolve kernel symbol table requi
src/malhunt/core.py:276
↓ 1 callersMethod_scheme_variants
(url: str)
src/malhunt/volatility.py:274
↓ 1 callersMethodauto_recover_windows_symbols
Best-effort recovery of missing Windows symbol files. Attempts to download referenced symbol files from URLs present in Volatility ou
src/malhunt/volatility.py:319
↓ 1 callersFunctionclean_up
Clean up old cache files. Args: malhunt_home: Path to malhunt home directory
src/malhunt/utils.py:33
↓ 1 callersMethodcollect_artifacts
Collect artifacts for all suspicious processes.
src/malhunt/core.py:495
↓ 1 callersMethodcollect_handles
Collect process handles information. Args: process: Process to collect handles for Returns:
src/malhunt/artifacts.py:53
↓ 1 callersMethoddump_process
Dump suspicious process memory. Args: process: Suspicious process to dump Returns: Path
src/malhunt/artifacts.py:27
↓ 1 callersFunctionfind_rule_start
(index: int)
src/malhunt/utils.py:161
↓ 1 callersMethodget_cache_stats
Get cache statistics. Returns: Dictionary with cache info
src/malhunt/volatility.py:900
↓ 1 callersFunctionget_malhunt_home
Get malhunt home directory, creating it if necessary.
src/malhunt/utils.py:13
↓ 1 callersMethodhandles
Get process handles. Args: pid: Process ID Returns: Handles output
src/malhunt/volatility.py:878
↓ 1 callersMethodis_symbol_requirement_error
Return True if error indicates missing/unsatisfied Volatility symbols.
src/malhunt/volatility.py:229
↓ 1 callersFunctionmain
Main entry point. Args: args: Command-line arguments (defaults to sys.argv[1:]) Returns: Exit code (0 for succes
src/malhunt/__main__.py:48
↓ 1 callersMethodmalfind
Scan for suspicious injected code. Returns: Malfind output
src/malhunt/volatility.py:763
↓ 1 callersMethodprepare_rules_and_symbols
Prepare YARA rules and Volatility symbol tables, downloading if necessary. Returns: True if both rules and symbols are available,
src/malhunt/core.py:168
↓ 1 callersMethodprocdump
Dump process memory. Args: pid: Process ID to dump output_dir: Directory to save dump Re
src/malhunt/volatility.py:818
↓ 1 callersMethodrun_full_analysis
Run the complete malhunt analysis workflow.
src/malhunt/core.py:547
↓ 1 callersMethodrun_scans
Run all configured scans. Returns: List of suspicious processes found
src/malhunt/core.py:421
↓ 1 callersFunctionsetup_logging
Configure logging. Args: verbose: Enable debug logging
src/malhunt/__main__.py:14
↓ 1 callersMethodwrite_symbol_recovery_helper
Write a shell helper script to attempt manual symbol recovery.
src/malhunt/volatility.py:414
Method__init__
Initialize Malhunt. Args: dump_path: Path to memory dump file rules_file: Optional path to custom YARA rules
src/malhunt/core.py:33
Method__init__
Initialize YARA scanner. Args: vol: Volatility wrapper instance rule_file: Path to YARA rules file
src/malhunt/scanner.py:19
Method__init__
Initialize Malfind scanner. Args: vol: Volatility wrapper instance
src/malhunt/scanner.py:92
Method__init__
Initialize Network scanner. Args: vol: Volatility wrapper instance ip_checker: Optional callable to check if
src/malhunt/scanner.py:148
Method__init__
( self, message: str, plugin: Optional[str] = None, returncode: Optional[int]
src/malhunt/volatility.py:21
Method__init__
Initialize Volatility wrapper. Args: dump_path: Path to the memory dump file config: Optional VolatilityConfi
src/malhunt/volatility.py:62
Method__init__
Initialize artifact collector. Args: vol: Volatility wrapper instance output_dir: Directory to save artifacts
src/malhunt/artifacts.py:15
Method__init__
Initialize ClamAV scanner.
src/malhunt/artifacts.py:86
Method__repr__
(self)
src/malhunt/models.py:22
Method_check_malicious_ip
Check if IP is malicious using external service. Args: ip: IP address to check Returns:
src/malhunt/core.py:590
Method_normalize_symbol_layout
(os_name: str)
src/malhunt/core.py:237
Methodchecker
(ip)
tests/test_scanner.py:184
Methodconnscan
Scan for connection objects (legacy, older Windows versions). Returns: Connection scan output
src/malhunt/volatility.py:808
Methodfake_run
(*args, **kwargs)
tests/test_core.py:419
Methodflush_record
()
src/malhunt/scanner.py:182
Methodpslist
List processes in memory dump. Returns: Process list output
src/malhunt/volatility.py:592
Methodscan
Scan file with ClamAV. Args: file_path: Path to file to scan Returns: Scan result (OK, I
src/malhunt/artifacts.py:126
Methodtest_banner_contains_title
Test banner contains expected text.
tests/test_core.py:455
Methodtest_banner_not_empty
Test banner is not empty.
tests/test_core.py:463
Methodtest_cache_stats
Test cache statistics.
tests/test_volatility.py:331
Methodtest_case_sensitive
Test that filtering is case-sensitive.
tests/test_core.py:64
Methodtest_clear_cache
Test clearing cache.
tests/test_volatility.py:317
Methodtest_creation
Test creating a SuspiciousProcess.
tests/test_core.py:20
Methodtest_custom_config
Test custom configuration.
tests/test_core.py:378
Methodtest_deduplication
Test that duplicate PIDs are deduplicated.
tests/test_scanner.py:77
Methodtest_deduplication
Test that duplicate PIDs are deduplicated.
tests/test_scanner.py:193
Methodtest_default_config
Test default configuration.
tests/test_core.py:369
Methodtest_detects_yara_dependency_error_signature
(self, mock_find)
tests/test_volatility.py:276
Methodtest_drop_orphan_block_when_rule_header_missing
(self, tmp_path)
tests/test_volatility.py:374
Methodtest_drop_rule_block_with_loose_rule_header
(self, tmp_path)
tests/test_volatility.py:350
Methodtest_enrich_diagnostics_generates_helper_script
(self, mock_find, tmp_path)
tests/test_volatility.py:438
Methodtest_excluded_word_found
Test filtering excluded words.
tests/test_core.py:50
Methodtest_excluded_words_filtering
Test exclusion of rules.
tests/test_scanner.py:52
Methodtest_extract_missing_symbol_details
(self, mock_find)
tests/test_volatility.py:409
Methodtest_filters_by_ip_checker
Test filtering by IP checker.
tests/test_scanner.py:169
Methodtest_filters_cuckoo_import
Test filtering rules with cuckoo import.
tests/test_core.py:229
Methodtest_filters_hash_import
Test filtering rules with hash import.
tests/test_core.py:246
Methodtest_filters_imphash
Test filtering rules with imphash.
tests/test_core.py:259
Methodtest_filters_math_import
Test filtering rules with math import.
tests/test_core.py:210
Methodtest_find_volatility_not_found
Test when volatility is not installed.
tests/test_volatility.py:72
Methodtest_find_volatility_with_vol
Test finding 'vol' command.
tests/test_volatility.py:60
Methodtest_guess_profile_success
(self, tmp_path, monkeypatch)
tests/test_core.py:410
Methodtest_handles_multiple_duplicates
Test handling multiple duplicate sections.
tests/test_core.py:106
Methodtest_imageinfo_parsing
Test parsing imageinfo output.
tests/test_volatility.py:199
next →1–100 of 138, ranked by callers