souleyez 2.16.0__py3-none-any.whl → 2.26.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of souleyez might be problematic. Click here for more details.
- souleyez/__init__.py +1 -1
- souleyez/assets/__init__.py +1 -0
- souleyez/assets/souleyez-icon.png +0 -0
- souleyez/core/msf_sync_manager.py +15 -5
- souleyez/core/tool_chaining.py +221 -29
- souleyez/detection/validator.py +4 -2
- souleyez/docs/README.md +2 -2
- souleyez/docs/user-guide/installation.md +14 -1
- souleyez/engine/background.py +25 -1
- souleyez/engine/result_handler.py +129 -0
- souleyez/integrations/siem/splunk.py +58 -11
- souleyez/main.py +103 -4
- souleyez/parsers/crackmapexec_parser.py +101 -43
- souleyez/parsers/dnsrecon_parser.py +50 -35
- souleyez/parsers/enum4linux_parser.py +101 -21
- souleyez/parsers/http_fingerprint_parser.py +319 -0
- souleyez/parsers/hydra_parser.py +56 -5
- souleyez/parsers/impacket_parser.py +123 -44
- souleyez/parsers/john_parser.py +47 -14
- souleyez/parsers/msf_parser.py +20 -5
- souleyez/parsers/nmap_parser.py +145 -28
- souleyez/parsers/smbmap_parser.py +69 -25
- souleyez/parsers/sqlmap_parser.py +72 -26
- souleyez/parsers/theharvester_parser.py +21 -13
- souleyez/plugins/gobuster.py +96 -3
- souleyez/plugins/http_fingerprint.py +592 -0
- souleyez/plugins/msf_exploit.py +6 -3
- souleyez/plugins/nuclei.py +41 -17
- souleyez/ui/interactive.py +130 -20
- souleyez/ui/setup_wizard.py +424 -58
- souleyez/ui/tool_setup.py +52 -52
- souleyez/utils/tool_checker.py +75 -13
- {souleyez-2.16.0.dist-info → souleyez-2.26.0.dist-info}/METADATA +16 -3
- {souleyez-2.16.0.dist-info → souleyez-2.26.0.dist-info}/RECORD +38 -34
- {souleyez-2.16.0.dist-info → souleyez-2.26.0.dist-info}/WHEEL +0 -0
- {souleyez-2.16.0.dist-info → souleyez-2.26.0.dist-info}/entry_points.txt +0 -0
- {souleyez-2.16.0.dist-info → souleyez-2.26.0.dist-info}/licenses/LICENSE +0 -0
- {souleyez-2.16.0.dist-info → souleyez-2.26.0.dist-info}/top_level.txt +0 -0
souleyez/ui/tool_setup.py
CHANGED
|
@@ -82,32 +82,38 @@ def _ensure_path_configured():
|
|
|
82
82
|
os.environ["PATH"] = ":".join(new_paths) + ":" + current_path
|
|
83
83
|
|
|
84
84
|
|
|
85
|
-
def
|
|
86
|
-
"""Add tool paths to
|
|
87
|
-
bashrc = Path.home() / ".bashrc"
|
|
85
|
+
def _add_paths_to_shell_rc():
|
|
86
|
+
"""Add tool paths to shell rc files (bash and zsh) if not already present."""
|
|
88
87
|
paths_to_add = [
|
|
89
88
|
('export PATH="$HOME/go/bin:$PATH"', "go/bin"),
|
|
90
89
|
('export PATH="$HOME/.local/bin:$PATH"', ".local/bin"),
|
|
91
90
|
]
|
|
92
91
|
|
|
93
|
-
|
|
94
|
-
|
|
92
|
+
# Update both .bashrc and .zshrc (Kali Linux uses zsh by default)
|
|
93
|
+
rc_files = [
|
|
94
|
+
Path.home() / ".bashrc",
|
|
95
|
+
Path.home() / ".zshrc",
|
|
96
|
+
]
|
|
95
97
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
98
|
+
for rc_file in rc_files:
|
|
99
|
+
if not rc_file.exists():
|
|
100
|
+
continue
|
|
101
|
+
|
|
102
|
+
try:
|
|
103
|
+
content = rc_file.read_text()
|
|
104
|
+
additions = []
|
|
105
|
+
|
|
106
|
+
for line, marker in paths_to_add:
|
|
107
|
+
if marker not in content:
|
|
108
|
+
additions.append(line)
|
|
109
|
+
|
|
110
|
+
if additions:
|
|
111
|
+
with open(rc_file, "a") as f:
|
|
112
|
+
f.write("\n# Added by souleyez setup\n")
|
|
113
|
+
for line in additions:
|
|
114
|
+
f.write(line + "\n")
|
|
115
|
+
except Exception:
|
|
116
|
+
pass # Don't fail on PATH configuration issues
|
|
111
117
|
|
|
112
118
|
|
|
113
119
|
def _run_command(cmd: str, console, description: str = "", capture: bool = False) -> tuple:
|
|
@@ -319,15 +325,16 @@ def _ensure_msfdb_initialized(console):
|
|
|
319
325
|
|
|
320
326
|
if not click.confirm(" Initialize MSF database now?", default=True):
|
|
321
327
|
console.print()
|
|
322
|
-
console.print(" [yellow]Skipped.[/yellow] Run 'msfdb init' manually when needed.")
|
|
328
|
+
console.print(" [yellow]Skipped.[/yellow] Run 'sudo msfdb init' manually when needed.")
|
|
323
329
|
return
|
|
324
330
|
|
|
325
331
|
console.print()
|
|
326
332
|
console.print(" [dim]Initializing MSF database (this may take a minute)...[/dim]")
|
|
327
333
|
|
|
328
334
|
try:
|
|
335
|
+
# Use sudo for msfdb init (required on Kali and some other distros)
|
|
329
336
|
result = subprocess.run(
|
|
330
|
-
[msfdb_path, 'init'],
|
|
337
|
+
['sudo', msfdb_path, 'init'],
|
|
331
338
|
capture_output=True,
|
|
332
339
|
timeout=300 # 5 minute timeout
|
|
333
340
|
)
|
|
@@ -392,32 +399,12 @@ def run_tool_setup(check_only: bool = False, install_all: bool = False):
|
|
|
392
399
|
console.print(f" Detected OS: [bold]{distro_names.get(distro, distro)}[/bold]")
|
|
393
400
|
console.print()
|
|
394
401
|
|
|
402
|
+
# Show distro-specific messaging
|
|
395
403
|
if distro in ('kali', 'parrot'):
|
|
396
404
|
console.print(" [green]✓ You're on a pentesting distro![/green]")
|
|
397
|
-
console.print("
|
|
405
|
+
console.print(" Most tools are available via apt. Some may use pipx or direct download.")
|
|
398
406
|
console.print()
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
if check_only:
|
|
402
|
-
return
|
|
403
|
-
|
|
404
|
-
missing = get_missing_tools(distro)
|
|
405
|
-
if missing:
|
|
406
|
-
console.print()
|
|
407
|
-
if install_all or click.confirm(" Install missing tools via apt?", default=True):
|
|
408
|
-
_install_apt_tools(console, missing)
|
|
409
|
-
else:
|
|
410
|
-
console.print(" [green]✓ All tools are installed![/green]")
|
|
411
|
-
|
|
412
|
-
# Configure sudoers for privileged scans
|
|
413
|
-
_configure_sudoers(console)
|
|
414
|
-
|
|
415
|
-
# Initialize MSF database if needed
|
|
416
|
-
_ensure_msfdb_initialized(console)
|
|
417
|
-
return
|
|
418
|
-
|
|
419
|
-
# Ubuntu/Debian path
|
|
420
|
-
if distro in ('ubuntu', 'debian'):
|
|
407
|
+
elif distro in ('ubuntu', 'debian'):
|
|
421
408
|
console.print(" [yellow]Note:[/yellow] Some pentesting tools aren't in Ubuntu/Debian repos.")
|
|
422
409
|
console.print(" This wizard will install them using pipx, go, snap, or from source.")
|
|
423
410
|
console.print()
|
|
@@ -431,6 +418,8 @@ def run_tool_setup(check_only: bool = False, install_all: bool = False):
|
|
|
431
418
|
if not missing:
|
|
432
419
|
console.print()
|
|
433
420
|
console.print(" [green]✓ All tools are installed![/green]")
|
|
421
|
+
# Still need to run post-install tasks (sudoers, MSF db, etc.)
|
|
422
|
+
_run_post_install_tasks(console, distro)
|
|
434
423
|
return
|
|
435
424
|
|
|
436
425
|
console.print()
|
|
@@ -528,8 +517,8 @@ def run_tool_setup(check_only: bool = False, install_all: bool = False):
|
|
|
528
517
|
else:
|
|
529
518
|
failed_tools.append(tool['name'])
|
|
530
519
|
|
|
531
|
-
# Configure PATH in
|
|
532
|
-
|
|
520
|
+
# Configure PATH in shell rc files (bash and zsh)
|
|
521
|
+
_add_paths_to_shell_rc()
|
|
533
522
|
|
|
534
523
|
# Final status
|
|
535
524
|
console.print()
|
|
@@ -547,6 +536,15 @@ def run_tool_setup(check_only: bool = False, install_all: bool = False):
|
|
|
547
536
|
_ensure_path_configured()
|
|
548
537
|
_show_tool_status(console)
|
|
549
538
|
|
|
539
|
+
# Run post-install tasks
|
|
540
|
+
_run_post_install_tasks(console, distro)
|
|
541
|
+
|
|
542
|
+
|
|
543
|
+
def _run_post_install_tasks(console, distro: str):
|
|
544
|
+
"""Run tasks that should happen after tool installation or when all tools are present."""
|
|
545
|
+
# Ensure PATH is configured in shell rc files
|
|
546
|
+
_add_paths_to_shell_rc()
|
|
547
|
+
|
|
550
548
|
# Configure passwordless sudo for privileged scans
|
|
551
549
|
_configure_sudoers(console)
|
|
552
550
|
|
|
@@ -554,12 +552,14 @@ def run_tool_setup(check_only: bool = False, install_all: bool = False):
|
|
|
554
552
|
_ensure_msfdb_initialized(console)
|
|
555
553
|
|
|
556
554
|
# Remind about PATH for pipx/go tools
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
555
|
+
console.print()
|
|
556
|
+
console.print(" [yellow]Important:[/yellow] To use newly installed tools, either:")
|
|
557
|
+
console.print(" 1. Restart your terminal, OR")
|
|
558
|
+
if distro in ('kali', 'parrot'):
|
|
559
|
+
console.print(" 2. Run: [cyan]source ~/.zshrc[/cyan] (Kali uses zsh)")
|
|
560
|
+
else:
|
|
561
561
|
console.print(" 2. Run: [cyan]source ~/.bashrc[/cyan]")
|
|
562
|
-
|
|
562
|
+
console.print()
|
|
563
563
|
|
|
564
564
|
|
|
565
565
|
def _show_tool_status(console):
|
souleyez/utils/tool_checker.py
CHANGED
|
@@ -50,7 +50,7 @@ def version_meets_requirement(installed: str, required: str) -> bool:
|
|
|
50
50
|
return installed_tuple >= required_tuple
|
|
51
51
|
|
|
52
52
|
|
|
53
|
-
def get_tool_version(command: str, version_cmd: str = None, version_regex: str = None) -> Optional[str]:
|
|
53
|
+
def get_tool_version(command: str, version_cmd: str = None, version_regex: str = None, version_fallback: str = None) -> Optional[str]:
|
|
54
54
|
"""
|
|
55
55
|
Get the version of an installed tool.
|
|
56
56
|
|
|
@@ -58,6 +58,7 @@ def get_tool_version(command: str, version_cmd: str = None, version_regex: str =
|
|
|
58
58
|
command: The tool command (e.g., 'gobuster')
|
|
59
59
|
version_cmd: Command to get version (default: '{command} --version')
|
|
60
60
|
version_regex: Regex to extract version from output
|
|
61
|
+
version_fallback: Fallback version string if detection fails (e.g., 'v2.x (upgrade needed)')
|
|
61
62
|
|
|
62
63
|
Returns:
|
|
63
64
|
Version string or None if not found
|
|
@@ -99,6 +100,10 @@ def get_tool_version(command: str, version_cmd: str = None, version_regex: str =
|
|
|
99
100
|
if match:
|
|
100
101
|
return match.group(1)
|
|
101
102
|
|
|
103
|
+
# If no version found but tool exists, use fallback
|
|
104
|
+
if version_fallback:
|
|
105
|
+
return version_fallback
|
|
106
|
+
|
|
102
107
|
return None
|
|
103
108
|
except Exception:
|
|
104
109
|
return None
|
|
@@ -149,7 +154,8 @@ EXTERNAL_TOOLS = {
|
|
|
149
154
|
'install_kali': 'sudo apt install nmap',
|
|
150
155
|
'install_ubuntu': 'sudo apt install nmap',
|
|
151
156
|
'install_method': 'apt',
|
|
152
|
-
'description': 'Network scanner for host/port discovery'
|
|
157
|
+
'description': 'Network scanner for host/port discovery',
|
|
158
|
+
'needs_sudo': True # Required for SYN/UDP/OS detection scans
|
|
153
159
|
},
|
|
154
160
|
'theharvester': {
|
|
155
161
|
'command': 'theHarvester',
|
|
@@ -188,9 +194,11 @@ EXTERNAL_TOOLS = {
|
|
|
188
194
|
'install_method': 'kali_only',
|
|
189
195
|
'description': 'Directory/file & DNS brute-forcing tool (v3.x required)',
|
|
190
196
|
'min_version': '3.0.0',
|
|
191
|
-
'version_cmd': '{command}
|
|
192
|
-
'version_regex': r'
|
|
193
|
-
'version_note': 'SoulEyez requires gobuster v3+ (uses subcommand syntax)'
|
|
197
|
+
'version_cmd': '{command} -v',
|
|
198
|
+
'version_regex': r'version\s+(\d+\.\d+\.\d+)',
|
|
199
|
+
'version_note': 'SoulEyez requires gobuster v3+ (uses subcommand syntax)',
|
|
200
|
+
'upgrade_kali': 'go install github.com/OJ/gobuster/v3@latest',
|
|
201
|
+
'upgrade_ubuntu': 'go install github.com/OJ/gobuster/v3@latest'
|
|
194
202
|
},
|
|
195
203
|
'ffuf': {
|
|
196
204
|
'command': 'ffuf',
|
|
@@ -215,9 +223,9 @@ EXTERNAL_TOOLS = {
|
|
|
215
223
|
},
|
|
216
224
|
'dalfox': {
|
|
217
225
|
'command': 'dalfox',
|
|
218
|
-
'install_kali': '
|
|
219
|
-
'install_ubuntu': '
|
|
220
|
-
'install_method': '
|
|
226
|
+
'install_kali': 'go install github.com/hahwul/dalfox/v2@latest',
|
|
227
|
+
'install_ubuntu': 'go install github.com/hahwul/dalfox/v2@latest',
|
|
228
|
+
'install_method': 'go',
|
|
221
229
|
'description': 'XSS vulnerability scanner'
|
|
222
230
|
},
|
|
223
231
|
},
|
|
@@ -284,7 +292,9 @@ EXTERNAL_TOOLS = {
|
|
|
284
292
|
'install_kali': 'sudo apt install smbmap',
|
|
285
293
|
'install_ubuntu': 'pipx install --force smbmap && pipx inject smbmap impacket',
|
|
286
294
|
'install_method': 'kali_only',
|
|
287
|
-
'description': 'SMB share enumeration tool'
|
|
295
|
+
'description': 'SMB share enumeration tool',
|
|
296
|
+
'known_issues': 'All versions have pickling bug with impacket. Use netexec instead.',
|
|
297
|
+
'optional': True
|
|
288
298
|
},
|
|
289
299
|
'netexec': {
|
|
290
300
|
'command': 'nxc',
|
|
@@ -313,7 +323,8 @@ EXTERNAL_TOOLS = {
|
|
|
313
323
|
'install_kali': 'sudo apt install responder && sudo pip install aioquic',
|
|
314
324
|
'install_ubuntu': 'sudo git clone https://github.com/lgandx/Responder.git /opt/Responder && sudo pip install -r /opt/Responder/requirements.txt aioquic && sudo ln -sf /opt/Responder/Responder.py /usr/local/bin/responder',
|
|
315
325
|
'install_method': 'kali_only',
|
|
316
|
-
'description': 'LLMNR, NBT-NS and MDNS poisoner'
|
|
326
|
+
'description': 'LLMNR, NBT-NS and MDNS poisoner',
|
|
327
|
+
'needs_sudo': True # Required for network poisoning
|
|
317
328
|
},
|
|
318
329
|
},
|
|
319
330
|
'router_iot': {
|
|
@@ -376,6 +387,16 @@ def get_install_command(tool_info: dict, distro: Optional[str] = None) -> str:
|
|
|
376
387
|
return tool_info.get('install_ubuntu', tool_info.get('install_kali', ''))
|
|
377
388
|
|
|
378
389
|
|
|
390
|
+
def get_upgrade_command(tool_info: dict, distro: Optional[str] = None) -> Optional[str]:
|
|
391
|
+
"""Get upgrade command if available, else None."""
|
|
392
|
+
if distro is None:
|
|
393
|
+
distro = detect_distro()
|
|
394
|
+
if distro in ('kali', 'parrot'):
|
|
395
|
+
return tool_info.get('upgrade_kali')
|
|
396
|
+
else:
|
|
397
|
+
return tool_info.get('upgrade_ubuntu')
|
|
398
|
+
|
|
399
|
+
|
|
379
400
|
def check_tool(command: str, alt_commands: list = None) -> bool:
|
|
380
401
|
"""Check if a tool is installed and in PATH."""
|
|
381
402
|
if shutil.which(command) is not None:
|
|
@@ -534,6 +555,7 @@ def check_tool_version(tool_info: dict) -> Dict[str, any]:
|
|
|
534
555
|
# Always try to get version for display purposes
|
|
535
556
|
version_cmd = tool_info.get('version_cmd')
|
|
536
557
|
version_regex = tool_info.get('version_regex')
|
|
558
|
+
version_fallback = tool_info.get('version_fallback')
|
|
537
559
|
|
|
538
560
|
# Use actual_cmd for version detection, but version_cmd template uses {command}
|
|
539
561
|
if version_cmd:
|
|
@@ -542,7 +564,7 @@ def check_tool_version(tool_info: dict) -> Dict[str, any]:
|
|
|
542
564
|
else:
|
|
543
565
|
actual_version_cmd = None
|
|
544
566
|
|
|
545
|
-
installed_version = get_tool_version(actual_cmd, actual_version_cmd, version_regex)
|
|
567
|
+
installed_version = get_tool_version(actual_cmd, actual_version_cmd, version_regex, version_fallback)
|
|
546
568
|
result['version'] = installed_version
|
|
547
569
|
|
|
548
570
|
# Check against min_version if there is one
|
|
@@ -699,6 +721,7 @@ def check_msfdb_status() -> Dict[str, any]:
|
|
|
699
721
|
- message: str - Human-readable status message
|
|
700
722
|
"""
|
|
701
723
|
import subprocess
|
|
724
|
+
from pathlib import Path
|
|
702
725
|
|
|
703
726
|
result = {
|
|
704
727
|
'initialized': False,
|
|
@@ -712,6 +735,32 @@ def check_msfdb_status() -> Dict[str, any]:
|
|
|
712
735
|
result['message'] = 'msfdb command not found - Metasploit may not be installed'
|
|
713
736
|
return result
|
|
714
737
|
|
|
738
|
+
# Helper to check if PostgreSQL is running
|
|
739
|
+
def check_postgresql_running() -> bool:
|
|
740
|
+
try:
|
|
741
|
+
proc = subprocess.run(
|
|
742
|
+
['systemctl', 'is-active', 'postgresql'],
|
|
743
|
+
capture_output=True,
|
|
744
|
+
text=True,
|
|
745
|
+
timeout=5
|
|
746
|
+
)
|
|
747
|
+
return proc.returncode == 0 and 'active' in proc.stdout.lower()
|
|
748
|
+
except Exception:
|
|
749
|
+
return False
|
|
750
|
+
|
|
751
|
+
# Helper to check system-wide MSF database config (Kali fallback)
|
|
752
|
+
def check_system_config() -> bool:
|
|
753
|
+
"""Check if system-wide database.yml exists with valid PostgreSQL config."""
|
|
754
|
+
config_path = Path('/usr/share/metasploit-framework/config/database.yml')
|
|
755
|
+
if config_path.exists():
|
|
756
|
+
try:
|
|
757
|
+
content = config_path.read_text()
|
|
758
|
+
# Check for PostgreSQL adapter configuration
|
|
759
|
+
return 'adapter: postgresql' in content and 'database: msf' in content
|
|
760
|
+
except Exception:
|
|
761
|
+
return False
|
|
762
|
+
return False
|
|
763
|
+
|
|
715
764
|
try:
|
|
716
765
|
# Run msfdb status
|
|
717
766
|
proc = subprocess.run(
|
|
@@ -721,10 +770,23 @@ def check_msfdb_status() -> Dict[str, any]:
|
|
|
721
770
|
timeout=10
|
|
722
771
|
)
|
|
723
772
|
output = proc.stdout + proc.stderr
|
|
724
|
-
|
|
725
|
-
# Parse output for status indicators
|
|
726
773
|
output_lower = output.lower()
|
|
727
774
|
|
|
775
|
+
# Check if msfdb requires root (common on Kali)
|
|
776
|
+
if 'run as root' in output_lower or (proc.returncode != 0 and 'error' in output_lower):
|
|
777
|
+
# Fall back to checking system config file and PostgreSQL status
|
|
778
|
+
result['running'] = check_postgresql_running()
|
|
779
|
+
if check_system_config():
|
|
780
|
+
result['initialized'] = True
|
|
781
|
+
if result['running']:
|
|
782
|
+
result['connected'] = True
|
|
783
|
+
result['message'] = 'Database initialized and running'
|
|
784
|
+
else:
|
|
785
|
+
result['message'] = 'Database initialized but PostgreSQL not running - run: sudo systemctl start postgresql'
|
|
786
|
+
else:
|
|
787
|
+
result['message'] = 'Need sudo to verify - run: sudo msfdb status'
|
|
788
|
+
return result
|
|
789
|
+
|
|
728
790
|
# Check if database is initialized
|
|
729
791
|
if 'no database' in output_lower or 'not initialized' in output_lower:
|
|
730
792
|
result['message'] = 'Database not initialized - run: msfdb init'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: souleyez
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.26.0
|
|
4
4
|
Summary: AI-Powered Penetration Testing Platform with 40+ integrated tools
|
|
5
5
|
Author-email: CyberSoul Security <contact@cybersoulsecurity.com>
|
|
6
6
|
Maintainer-email: CyberSoul Security <contact@cybersoulsecurity.com>
|
|
@@ -72,7 +72,7 @@ Welcome to the SoulEyez beta! Thank you for helping us test and improve this pen
|
|
|
72
72
|
|
|
73
73
|
> ⚠️ **Important**: Only use SoulEyez on systems you have explicit authorization to test.
|
|
74
74
|
|
|
75
|
-
## Version: 2.
|
|
75
|
+
## Version: 2.26.0
|
|
76
76
|
|
|
77
77
|
### What's Included
|
|
78
78
|
|
|
@@ -110,6 +110,17 @@ Welcome to the SoulEyez beta! Thank you for helping us test and improve this pen
|
|
|
110
110
|
- **Python**: 3.8 or newer
|
|
111
111
|
- **Storage**: ~500MB for SoulEyez + tools
|
|
112
112
|
|
|
113
|
+
> **🐉 Kali Linux Recommended**
|
|
114
|
+
>
|
|
115
|
+
> SoulEyez performs significantly better on **Kali Linux** than other distributions:
|
|
116
|
+
> - All pentesting tools pre-installed and optimized
|
|
117
|
+
> - Metasploit database and RPC already configured
|
|
118
|
+
> - Security-focused kernel and networking stack
|
|
119
|
+
> - No dependency hunting or version conflicts
|
|
120
|
+
> - Wordlists, databases, and tool configs ready to go
|
|
121
|
+
>
|
|
122
|
+
> While Ubuntu and other Debian-based distros are supported, you may experience slower setup times and occasional tool compatibility issues.
|
|
123
|
+
|
|
113
124
|
### Known Issues
|
|
114
125
|
|
|
115
126
|
- Very large scan outputs (>10MB) may slow the interface
|
|
@@ -127,6 +138,8 @@ pipx ensurepath # Add pipx apps to your PATH
|
|
|
127
138
|
source ~/.bashrc # Reload your shell (or close and reopen terminal)
|
|
128
139
|
```
|
|
129
140
|
|
|
141
|
+
> **Kali Linux users:** Kali uses zsh by default. Use `source ~/.zshrc` instead of `source ~/.bashrc`
|
|
142
|
+
|
|
130
143
|
> 💡 **What's pipx?** It's like `apt` but for Python command-line tools. It keeps each tool isolated so they don't conflict with each other.
|
|
131
144
|
|
|
132
145
|
### Step 2: Install SoulEyez
|
|
@@ -297,4 +310,4 @@ Happy hacking! 🛡️
|
|
|
297
310
|
|
|
298
311
|
---
|
|
299
312
|
|
|
300
|
-
**Version**: 2.
|
|
313
|
+
**Version**: 2.24.0 | **Release Date**: January 2026 | **Maintainer**: CyberSoul Security
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
souleyez/__init__.py,sha256=
|
|
1
|
+
souleyez/__init__.py,sha256=AQLQTfTAunRI82MROjAdq13BluGH3dFd7gjy2F09lHc,23
|
|
2
2
|
souleyez/config.py,sha256=av357I3GYRWAklv8Dto-9-5Db699Wq5znez7zo7241Q,11595
|
|
3
3
|
souleyez/devtools.py,sha256=rptmUY4a5eVvYjdEc6273MSagL-D9xibPOFgohVqUno,3508
|
|
4
4
|
souleyez/feature_flags.py,sha256=mo6YAq07lc6sR3lEFKmIwTKxXZ2JPxwa5X97uR_mu50,4642
|
|
5
5
|
souleyez/history.py,sha256=gzs5I_j-3OigIP6yfmBChdqxaFmyUIxvTpzWUPe_Q6c,2853
|
|
6
6
|
souleyez/log_config.py,sha256=MMhPAJOqgXDfuE-xm5g0RxAfWndcmbhFHvIEMm1a_Wo,5830
|
|
7
|
-
souleyez/main.py,sha256=
|
|
7
|
+
souleyez/main.py,sha256=7_GQB9cCjAfPAFNtnpKCBK2NXCD8Jfv5aV9Ij-LQcYo,122774
|
|
8
8
|
souleyez/scanner.py,sha256=U3IWHRrJ5aQ32dSHiVAHB60w1R_z0E0QxfM99msYNlw,3124
|
|
9
9
|
souleyez/security.py,sha256=S84m1QmnKz_6NgH2I6IBIAorMHxRPNYVFSnks5xjihQ,2479
|
|
10
10
|
souleyez/ui.py,sha256=15pfsqoDPnojAqr5S0TZHJE2ZkSHzkHpNVfVvsRj66A,34301
|
|
@@ -28,6 +28,8 @@ souleyez/ai/report_prompts.py,sha256=5LjCoqYfDtXGHp9oevgrX9avhzMJdfnx1YmPNnuTaeM
|
|
|
28
28
|
souleyez/ai/report_service.py,sha256=N5yVMCGeNcrtFPMTV4eROZbVyh6QLLlLaJNBl-G_7L4,14130
|
|
29
29
|
souleyez/ai/result_parser.py,sha256=nB38fxo7PcQxLqGx2eJ2FC2vsDAZIa-jd2LG251fSls,16155
|
|
30
30
|
souleyez/ai/safety.py,sha256=6xIeXFbOLw7hXrwbAkO8eNdylEdFd5hQSe-LodyR0po,5374
|
|
31
|
+
souleyez/assets/__init__.py,sha256=q_whKfZE_dG80ZYzbRA1WbW4TPr5YkRGjZujHof_Dhg,26
|
|
32
|
+
souleyez/assets/souleyez-icon.png,sha256=pKhXWuUH3y--9GyD7hmyq8CWiPOYwh_MCm9iykljk_c,11978
|
|
31
33
|
souleyez/auth/__init__.py,sha256=9oCzIyabC1MgboYBXYoSa34jGS8teHLdhnLfbAaMLDE,2171
|
|
32
34
|
souleyez/auth/audit.py,sha256=fucBP0s0cpB1wgJE4sG1UDrupfxoNTPCmEPMyGPBOhs,9638
|
|
33
35
|
souleyez/auth/engagement_access.py,sha256=b3XafCq7XDMe5f9Po3o7O1EnWwOWb0mi0WZCeQC1K4A,10852
|
|
@@ -52,12 +54,12 @@ souleyez/core/msf_database.py,sha256=xaGt0wMX15CQv3-s2NobLK8niHgrE98qAkmS9zhrLe8
|
|
|
52
54
|
souleyez/core/msf_integration.py,sha256=J9EXecxq72q65Itv1lBqjSkhh8Zx6SbZO2VPtlZXuOg,64842
|
|
53
55
|
souleyez/core/msf_rpc_client.py,sha256=DL-_uJz_6G1pQud8iTg3_SjRJmgl4-W1YWmb0xg6f8Q,15994
|
|
54
56
|
souleyez/core/msf_rpc_manager.py,sha256=8irWzXdiASVIokGSTf8DV57Uh_DUJ3Q6L-2oR9y8qeI,15572
|
|
55
|
-
souleyez/core/msf_sync_manager.py,sha256=
|
|
57
|
+
souleyez/core/msf_sync_manager.py,sha256=1alAqM2jHiMxbBdPTQL9Vjzbl8XVhrnS2VYhVdfNwUw,27779
|
|
56
58
|
souleyez/core/network_utils.py,sha256=-4WgUE91RBzyXDFgGTxMa0zsWowJ47cEOAKXNeVa-Wc,4555
|
|
57
59
|
souleyez/core/parser_handler.py,sha256=cyZtEDctqMdWgubsU0Jg6o4XqBgyfaJ_AeBHQmmv4hM,5564
|
|
58
60
|
souleyez/core/pending_chains.py,sha256=Dnka7JK7A8gTWCGpTu6qrIgIDIXprkZmwJ0Rm2oWqRE,10972
|
|
59
61
|
souleyez/core/templates.py,sha256=DzlXlAz8_lwAFjjUWPp3r81KCCzbNeK-bkN1IlgQBSU,18112
|
|
60
|
-
souleyez/core/tool_chaining.py,sha256=
|
|
62
|
+
souleyez/core/tool_chaining.py,sha256=TNA11cxDaTeDcLJy26Mdgr_BKtQgItBS24PeYh2W2gE,274537
|
|
61
63
|
souleyez/core/version_utils.py,sha256=UOrOa3qfUdLKdzWT6GAGNV9TauwinXyLyelS8sOk0eE,11769
|
|
62
64
|
souleyez/core/vuln_correlation.py,sha256=U69MSI5I-AtiyOAbXohGDKMpEHRW9y4G_0M1ppRGX18,14765
|
|
63
65
|
souleyez/core/web_utils.py,sha256=f-Dqa6tH8ROnygn6-k7J1y8Qz2f1FmeJnPjPE0WRn34,4902
|
|
@@ -101,8 +103,8 @@ souleyez/data/wordlists/web_files_common.txt,sha256=mORKPa5K9LrV0OJIVHPvF4tSeIN2
|
|
|
101
103
|
souleyez/detection/__init__.py,sha256=QIhvXjFdjrquQ6A0VQ7GZQkK_EXB59t8Dv9PKXhEUeM,221
|
|
102
104
|
souleyez/detection/attack_signatures.py,sha256=akgWwiIkh6WYnghCuLhRV0y6FS0SQ0caGF8tZUc49oA,6965
|
|
103
105
|
souleyez/detection/mitre_mappings.py,sha256=xejE80YK-g8kKaeQoo-vBl8P3t8RTTItbfN0NaVZw6s,20558
|
|
104
|
-
souleyez/detection/validator.py,sha256
|
|
105
|
-
souleyez/docs/README.md,sha256=
|
|
106
|
+
souleyez/detection/validator.py,sha256=-AJ7QSJ3-6jFKLnPG_Rc34IXyF4JPyI82BFUgTA9zw0,15641
|
|
107
|
+
souleyez/docs/README.md,sha256=CTJNTubBYLySkPqQX3s1LfusFLgwk_dsHto8__cANDc,7183
|
|
106
108
|
souleyez/docs/api-reference/cli-commands.md,sha256=lTLFnILN3YRVdqCaag7WgsYXfDGglb1TuPexkxDsVdE,12917
|
|
107
109
|
souleyez/docs/api-reference/engagement-api.md,sha256=nd-EvQMtiJrobg2bzFEADp853HP1Uhb9dmgok0_-neE,11672
|
|
108
110
|
souleyez/docs/api-reference/integration-guide.md,sha256=c96uX79ukHyYotLa54wZ20Kx-EUZnrKegTeGkfLD-pw,16285
|
|
@@ -132,7 +134,7 @@ souleyez/docs/user-guide/dependencies.md,sha256=WOPilg0W0U3KnsdGREkM5_gAG7Rr5P10
|
|
|
132
134
|
souleyez/docs/user-guide/evidence-vault.md,sha256=PNg7cIUlVXr41iMJTi66j4qUV2fkrPATljunx0pD5sI,9454
|
|
133
135
|
souleyez/docs/user-guide/exploit-suggestions.md,sha256=Qv9CPwDe9ypKoeUG3XAL6dtg4YA5PmlE5DA6JVHK4Nk,17971
|
|
134
136
|
souleyez/docs/user-guide/getting-started.md,sha256=4QfZiQlYnReORAUpsy2gWzKe1uFHOePZyzDSz8zldgc,20932
|
|
135
|
-
souleyez/docs/user-guide/installation.md,sha256=
|
|
137
|
+
souleyez/docs/user-guide/installation.md,sha256=uM_qBpgG5YjkxSf8u6gUJh0TGYtPlo4pbn_wEXJHX0Q,14431
|
|
136
138
|
souleyez/docs/user-guide/metasploit-integration.md,sha256=kSCai2PO4kiv3BEUSXa6mIC3vCdqIA70GyLVQH_Kaj4,10026
|
|
137
139
|
souleyez/docs/user-guide/rbac.md,sha256=ULY5IbTCoNGOnvRrT1oH5XayCqD10PKoUwRDBRzpK2g,21055
|
|
138
140
|
souleyez/docs/user-guide/report-generation.md,sha256=7Qe47jfPxmZ4U1uuM3kggPLQ6JM7_TCOOhYIvYen4Ao,20754
|
|
@@ -143,13 +145,13 @@ souleyez/docs/user-guide/uninstall.md,sha256=gDknetFhjZ0tnYk4JqhLa369NT4bIRb50rm
|
|
|
143
145
|
souleyez/docs/user-guide/worker-management.md,sha256=hNu6eSTVb6XM4Zbb0I9Y5aL4AA2EiWOSFI6iGjn17kU,12035
|
|
144
146
|
souleyez/docs/user-guide/workflows.md,sha256=4EyZKWRyuWf9wrENJwtidWKN25PGis1Pk33HIHk5UHM,22261
|
|
145
147
|
souleyez/engine/__init__.py,sha256=THI_89hQfAPJDsfzDcur6H9sEGhGAnTxSNim7UOExYc,110
|
|
146
|
-
souleyez/engine/background.py,sha256=
|
|
148
|
+
souleyez/engine/background.py,sha256=Wm7dBzwq8qTi1vYvJk7T2TRktkdNzk50YQGZddcI3NU,66278
|
|
147
149
|
souleyez/engine/base.py,sha256=G35U1d-fygUvzmHH8zxLXw-vyQ9JzcfhGaSYOsHJtzQ,728
|
|
148
150
|
souleyez/engine/job_status.py,sha256=OAEf2rAzapm55m4tc3PSilotdA5ONX15JavUMLre0is,2685
|
|
149
151
|
souleyez/engine/loader.py,sha256=ke6QQVVWozDnqGNBotajC3RBYOa2_DZmv5DAnDZVgIc,2769
|
|
150
152
|
souleyez/engine/log_sanitizer.py,sha256=QHF6zSms-wHo6SbL6fHXIh1GG-8G34lE7kl45nbPn70,7130
|
|
151
153
|
souleyez/engine/manager.py,sha256=aBQMoib-VWNXtIp5Qn34tRj1P1jiLpwAIoo1fexAaLU,3629
|
|
152
|
-
souleyez/engine/result_handler.py,sha256=
|
|
154
|
+
souleyez/engine/result_handler.py,sha256=KN2l02mcXW8M69NHouP4se-ZK9CNtEEZsR6lZaSb3xY,129520
|
|
153
155
|
souleyez/engine/worker_manager.py,sha256=exepzHnyUc2PpAxVJSdrU7LCrlm-s6JBMgQyivSV46Y,2905
|
|
154
156
|
souleyez/export/__init__.py,sha256=2kFHftSqqrRUG6PhtfhCyhnkpkjc-8Zb4utGo-Nb6B4,61
|
|
155
157
|
souleyez/export/evidence_bundle.py,sha256=hqPn_h2CidhL-1VAT0qraZ8r1yfnUTnLZ3RfPPCK5Ds,9966
|
|
@@ -164,7 +166,7 @@ souleyez/integrations/siem/base.py,sha256=JmbhRlHl7wsRyd3nOhCqDHFP4VwBv-VR7uIKWo
|
|
|
164
166
|
souleyez/integrations/siem/elastic.py,sha256=LuxheashiOO-AJbtUEK_BZ1T8EUAr1KlZkOheWPPgrQ,14712
|
|
165
167
|
souleyez/integrations/siem/factory.py,sha256=aRTV2IFTF1e5PvmTrAVk1UsrVzm476esY2mLsey3F9Q,8061
|
|
166
168
|
souleyez/integrations/siem/sentinel.py,sha256=8zxuMgqlfCeGu_gHPNjfmBfBR5PEmtMTbqliC9dnbcI,15789
|
|
167
|
-
souleyez/integrations/siem/splunk.py,sha256=
|
|
169
|
+
souleyez/integrations/siem/splunk.py,sha256=Vi6RMSqjXCVhy6AmQ0kFs_OrP6jDez3Vis8ZYJtWIGA,28587
|
|
168
170
|
souleyez/integrations/siem/wazuh.py,sha256=vltBhkP5BkgJLmdmF6u_b2RgTvP7iE9sFDxOt9v71qM,10245
|
|
169
171
|
souleyez/integrations/siem/rule_mappings/__init__.py,sha256=PbCLigl6Zo8ClvxZ29ydsXAWVMIG1adTGMWSdxwaKU4,207
|
|
170
172
|
souleyez/integrations/siem/rule_mappings/wazuh_rules.py,sha256=tfduSFFVxUOgL19w4ZFmOC0JDlnewz3PwA94a_XFTmI,8307
|
|
@@ -189,25 +191,26 @@ souleyez/migrations/__init__.py,sha256=S4ZorUykM6txYkZHuQ64QbzHWeNQ3QDFP-PvgMPbp
|
|
|
189
191
|
souleyez/migrations/fix_job_counter.py,sha256=-NSm7TQaGln5ut2vYVyJ7fPFOliX2rD7lPUQngPx04w,2423
|
|
190
192
|
souleyez/parsers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
191
193
|
souleyez/parsers/bloodhound_parser.py,sha256=r1f5ePsuPc90CJOySnZ6WkfYQoeVJWraTiE7dnI8BbI,3134
|
|
192
|
-
souleyez/parsers/crackmapexec_parser.py,sha256=
|
|
194
|
+
souleyez/parsers/crackmapexec_parser.py,sha256=HN3nCBMdCEoP1OuYPLmf080b2YmMphZ7Wtm1ByrKGu0,10849
|
|
193
195
|
souleyez/parsers/dalfox_parser.py,sha256=w_eCeyL-Eu9zGyXqYmq0XKbnOIR7lnDD-zbRT7SPco0,6856
|
|
194
|
-
souleyez/parsers/dnsrecon_parser.py,sha256=
|
|
195
|
-
souleyez/parsers/enum4linux_parser.py,sha256=
|
|
196
|
+
souleyez/parsers/dnsrecon_parser.py,sha256=zy9_d-dxVSWSSNy7UgMQ2J_r8uoPacHiAMwkAjomXcM,7885
|
|
197
|
+
souleyez/parsers/enum4linux_parser.py,sha256=8C9VQ0f-VzKFBkRmScPM84Q8CYvPwidBuQFLH2TJ48c,17728
|
|
196
198
|
souleyez/parsers/ffuf_parser.py,sha256=xoLicqbwjgJqMrkGEyUFmBIx1Jn7t2OG7OtXkN-wvUE,1706
|
|
197
199
|
souleyez/parsers/gobuster_parser.py,sha256=-DS8fpA7uoSKhrGnoMdjowhl7OcitAPoEee-LXiogYs,5960
|
|
198
200
|
souleyez/parsers/hashcat_parser.py,sha256=fQl8r9xko5dbbUXAYJEQonUhrp9gqK5WnJioAAk3TsU,5036
|
|
199
|
-
souleyez/parsers/
|
|
200
|
-
souleyez/parsers/
|
|
201
|
-
souleyez/parsers/
|
|
202
|
-
souleyez/parsers/
|
|
201
|
+
souleyez/parsers/http_fingerprint_parser.py,sha256=UESf59YQwMxplBV2cr7ZrZW8qv2kxawaYQxAUAGuVrs,9629
|
|
202
|
+
souleyez/parsers/hydra_parser.py,sha256=lTB_ja18ZEyrLrQAyovqaq_5MyyN5Flij7WeZ6xOsUg,13249
|
|
203
|
+
souleyez/parsers/impacket_parser.py,sha256=RV9ZU3aPn7UWM5blZsRMLTKlQvygc0rPAsCC0sJSNvI,12541
|
|
204
|
+
souleyez/parsers/john_parser.py,sha256=M-vzMoiC5E7UXeDv38n6cTZZnimdtQA40Ky6LEALYOw,7734
|
|
205
|
+
souleyez/parsers/msf_parser.py,sha256=DlpIcwwV5HzHoNZiLPTMDoQca_6vwO2dH23ci3u9GRg,40428
|
|
203
206
|
souleyez/parsers/nikto_parser.py,sha256=faNxu1S1FhLble9lVN4Xjr5v2u3kzGKStdvsKO2CpH0,7160
|
|
204
|
-
souleyez/parsers/nmap_parser.py,sha256=
|
|
207
|
+
souleyez/parsers/nmap_parser.py,sha256=LXZWGZVf7VdZhPPUe6q_Hgb22jlSSj5XRt2aUl3qeWc,30106
|
|
205
208
|
souleyez/parsers/nuclei_parser.py,sha256=Magk6ID5WJNtGOGP7e6-R12pgtYcGdoFHmuB68fOTlo,3975
|
|
206
209
|
souleyez/parsers/responder_parser.py,sha256=3LInW7ZnrSyktlpk8Boid1ftcdGf8SaSBfMpcLGzJ2g,3494
|
|
207
210
|
souleyez/parsers/searchsploit_parser.py,sha256=XEXkpN0uixS85WvhtSXZslv2ELXQM7l9q0T5v79GUok,7560
|
|
208
|
-
souleyez/parsers/smbmap_parser.py,sha256=
|
|
209
|
-
souleyez/parsers/sqlmap_parser.py,sha256=
|
|
210
|
-
souleyez/parsers/theharvester_parser.py,sha256=
|
|
211
|
+
souleyez/parsers/smbmap_parser.py,sha256=cKK026Bhs2m6jLKk_S706XaYb0plG75OHhDiTjcZnzU,13395
|
|
212
|
+
souleyez/parsers/sqlmap_parser.py,sha256=CYh4rpxrdSgkJdQLWqWzERTmloKsBUqLZA_1fpR8de4,35413
|
|
213
|
+
souleyez/parsers/theharvester_parser.py,sha256=Pu9lQ8ip3FAt-XlwSnTpLqaTLHVpK5nSRFSxCNrz-YI,5844
|
|
211
214
|
souleyez/parsers/whois_parser.py,sha256=o0dUR0Ow2HNXV_3SksCtX8DvblJ0X1fjSDtEmRVUu8c,9451
|
|
212
215
|
souleyez/parsers/wpscan_parser.py,sha256=qKxJitB7_yOAoGc-2WwtYFRztRv8-utGipfQrzUG6J8,15014
|
|
213
216
|
souleyez/plugins/__init__.py,sha256=ZuA8EzOdz7SvbB1kAj6pnyjgPLZShINGZAiSwEDZ0Bo,109
|
|
@@ -222,8 +225,9 @@ souleyez/plugins/dnsrecon.py,sha256=nxeVgwACUyw5VYEyD-5U277d1U72EkWBX9nR9_DMZrI,
|
|
|
222
225
|
souleyez/plugins/enum4linux.py,sha256=VHkKPs8PWX90RLsGdYt5Ieuc3Sz52fbeWvKCL1KquIY,10876
|
|
223
226
|
souleyez/plugins/ffuf.py,sha256=7c1-Q7xXTMmH_2wHXikjmZnSgZL13Hj5E_asBxZ6Y5U,11652
|
|
224
227
|
souleyez/plugins/firmware_extract.py,sha256=_hZXx6cHb9noM6uVgi3hwrJLw8hE9mDUelTEHwoIdCU,6460
|
|
225
|
-
souleyez/plugins/gobuster.py,sha256=
|
|
228
|
+
souleyez/plugins/gobuster.py,sha256=GMTUyfkVnZ2gp3kh_R-KQ4EIGEBX5fxBIMfHZrwkVFo,29285
|
|
226
229
|
souleyez/plugins/hashcat.py,sha256=aigfwBu9IorXKgbyEIWx0qOCEdr1wnZaPqdYwh0PITc,10381
|
|
230
|
+
souleyez/plugins/http_fingerprint.py,sha256=jC6Awq63zFUBBi7hCzTvthZkOjCB-11-lFST45JSjQM,20857
|
|
227
231
|
souleyez/plugins/hydra.py,sha256=kfVJwgh3x1DC0wEtA-lkoY7qhQH1qKViYexUECZSPY4,29520
|
|
228
232
|
souleyez/plugins/impacket_getnpusers.py,sha256=6TBxVTO9NGUbn5ShV-dCxPP11CFqf-Y3lAgt8_oP2Vg,8652
|
|
229
233
|
souleyez/plugins/impacket_psexec.py,sha256=gU_MDSazDMj1TeWm5V9cD6wrLe3ULwbDv4jhg3Vm2rQ,8813
|
|
@@ -233,10 +237,10 @@ souleyez/plugins/john.py,sha256=ZTdwX5wu0LcTc0CW1IHbxGDexz8gSSWAOM9Xo4YsCHI,8785
|
|
|
233
237
|
souleyez/plugins/macos_ssh.py,sha256=F5MzlIZN0L2BMhqCGsN38hSxsvCpnuqpoVj-4QKYODg,4844
|
|
234
238
|
souleyez/plugins/mdns.py,sha256=wiYUKk-HlQigGJEwO86ECZG9z2ra3qEuRONQQ8WMgZA,4487
|
|
235
239
|
souleyez/plugins/msf_auxiliary.py,sha256=pOL9yLJr_L0niwaHLPguM2Gaunr3iAe7HdIFbDLrkoU,24028
|
|
236
|
-
souleyez/plugins/msf_exploit.py,sha256=
|
|
240
|
+
souleyez/plugins/msf_exploit.py,sha256=BNAZz5EO4jgwx64dEB4OE-CQdYkqJk5N4eXT140DRqs,23765
|
|
237
241
|
souleyez/plugins/nikto.py,sha256=_BPzypwNTliBg2Tr6sPGMKYFTvnQgqEHO1xesDZ-6uo,9957
|
|
238
242
|
souleyez/plugins/nmap.py,sha256=Bh3xauEfsDw_hxSarNfLN-J6tNda-mG3DqHHkphpttE,15997
|
|
239
|
-
souleyez/plugins/nuclei.py,sha256=
|
|
243
|
+
souleyez/plugins/nuclei.py,sha256=A2pbSVFGJCu1QlokpV4-d4SJWw4Yv8FrQiLHE9lwRfc,15862
|
|
240
244
|
souleyez/plugins/plugin_base.py,sha256=zB0wzZBBx5V63Ipc7CUEApYADLC8T-A__CLnTaXb49A,6731
|
|
241
245
|
souleyez/plugins/plugin_template.py,sha256=Tcd_JrCBNgT1o88On4vjG5Y7mlGSVGh-hXyUak_KXlE,1786
|
|
242
246
|
souleyez/plugins/responder.py,sha256=ImhISPLtvzqvJSUQrgavlZ_h9ZrJ4s9NrTkPAhEcHQM,13160
|
|
@@ -338,7 +342,7 @@ souleyez/ui/export_view.py,sha256=0nQvVsKk7FU4uRzSfJ_qBZh_Lfn8hgGA2rbJ5bNg5-Y,65
|
|
|
338
342
|
souleyez/ui/gap_analysis_view.py,sha256=AytAOEBq010wwo9hne1TE-uJpY_xicjLrFANbvN3r3w,30727
|
|
339
343
|
souleyez/ui/help_system.py,sha256=nKGxLaMi-TKYs6xudTyw_tZqBb1cGFEuYYh6N-MAsJE,16648
|
|
340
344
|
souleyez/ui/intelligence_view.py,sha256=VeAQ-3mANRnLIVpRqocL3JV0HUmJtADdxDeC5lzQhE0,32168
|
|
341
|
-
souleyez/ui/interactive.py,sha256=
|
|
345
|
+
souleyez/ui/interactive.py,sha256=d-fGuSDG1n2a5GeF1aY_mZMTDWqMsQfBB2_-1kpSobw,1375354
|
|
342
346
|
souleyez/ui/interactive_selector.py,sha256=6A51fgmFRnemBY0aCPHIhK2Rpba16NjSGKLzC0Q5vI8,16407
|
|
343
347
|
souleyez/ui/log_formatter.py,sha256=akhIkYoO_cCaKxS1V5N3iPmIrHzgsU7pmsedx70s9TI,3845
|
|
344
348
|
souleyez/ui/menu_components.py,sha256=N8zq2QXGmfaLJ08l53MMYt1y-5LRWgpZH6r8nXHonj8,3519
|
|
@@ -347,7 +351,7 @@ souleyez/ui/pending_chains_view.py,sha256=FTxBbZ6zVgYC2dFqppx2GIHkwcS7TcFPgmck6A
|
|
|
347
351
|
souleyez/ui/progress_indicators.py,sha256=CqAbnz_c6A7UHtGvsZwTCR2tcQkiCZpqVIyldvbhRio,4709
|
|
348
352
|
souleyez/ui/recommendations_view.py,sha256=MbfDzOWrvZziRHg74O3KXU237MX7UrCj33jj0apSGwQ,10590
|
|
349
353
|
souleyez/ui/rule_builder.py,sha256=GbH1JyqyG2XAbC2Utjlqm0hcjDYbIRXcaFzU0gpa_iY,19089
|
|
350
|
-
souleyez/ui/setup_wizard.py,sha256=
|
|
354
|
+
souleyez/ui/setup_wizard.py,sha256=flzJqN5KhoALNmwnZ4edvic4lyq4i-nbb-ar2gcC6no,49056
|
|
351
355
|
souleyez/ui/shortcuts.py,sha256=2rKWOh5H1LfHeP7dF3_iAbBE0_LhXILlUH4NfA98Ge8,10988
|
|
352
356
|
souleyez/ui/splunk_gap_analysis_view.py,sha256=pjEVnXw7AUVDCRSgzAqf4OdjFDEor8ti9gcplXrkJ7o,39909
|
|
353
357
|
souleyez/ui/splunk_vulns_view.py,sha256=sRHP8DpoUeDb9BIZuClq7Hl1po7dYnMeYlo-c0XUoKQ,13740
|
|
@@ -355,15 +359,15 @@ souleyez/ui/team_dashboard.py,sha256=ejM_44nbJbEIPxxxdEK7SCPcqQtcuJLjoO-C53qED2Y
|
|
|
355
359
|
souleyez/ui/template_selector.py,sha256=qQJkFNnVjYctb-toeYlupP_U1asGrJWYi5-HR89Ab9g,19103
|
|
356
360
|
souleyez/ui/terminal.py,sha256=Sw9ma1-DZclJE1sENjTZ3Q7r-Ct1NiB3Lpmv-RZW5tE,2372
|
|
357
361
|
souleyez/ui/timeline_view.py,sha256=Ze8Mev9VE4_ECdNFEJwZK2V42EBguR83uCCdwAbJqmc,11111
|
|
358
|
-
souleyez/ui/tool_setup.py,sha256=
|
|
362
|
+
souleyez/ui/tool_setup.py,sha256=pkOUr-1inZlYnvaIc8Kj-Qaxk2KHWR2opJAgI_Er-Wo,32591
|
|
359
363
|
souleyez/ui/tutorial.py,sha256=GGbBsze0ioL00WBWKEwPKy1ikegP1eusI2REDVMx4gY,14262
|
|
360
364
|
souleyez/ui/tutorial_state.py,sha256=Thf7_qCj4VKjG7UqgJqa9kjIqiFUU-7Q7kG4v-u2B4A,8123
|
|
361
365
|
souleyez/ui/wazuh_vulns_view.py,sha256=3vJJEmrjgS2wD6EDB7ZV7WxgytBHTm-1WqNDjp7lVEI,21830
|
|
362
366
|
souleyez/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
363
|
-
souleyez/utils/tool_checker.py,sha256=
|
|
364
|
-
souleyez-2.
|
|
365
|
-
souleyez-2.
|
|
366
|
-
souleyez-2.
|
|
367
|
-
souleyez-2.
|
|
368
|
-
souleyez-2.
|
|
369
|
-
souleyez-2.
|
|
367
|
+
souleyez/utils/tool_checker.py,sha256=kQcXJVY5NiO-orQAUnpHhpQvR5UOBNHJ0PaT0fBxYoQ,30782
|
|
368
|
+
souleyez-2.26.0.dist-info/licenses/LICENSE,sha256=J7vDD5QMF4w2oSDm35eBgosATE70ah1M40u9W4EpTZs,1090
|
|
369
|
+
souleyez-2.26.0.dist-info/METADATA,sha256=e6ejF-F9IVoFtz4IJNhCTi6OaEKM73_U5X8nkfk0rvk,10691
|
|
370
|
+
souleyez-2.26.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
371
|
+
souleyez-2.26.0.dist-info/entry_points.txt,sha256=bN5W1dhjDZJl3TKclMjRpfQvGPmyrJLwwDuCj_X39HE,48
|
|
372
|
+
souleyez-2.26.0.dist-info/top_level.txt,sha256=afAMzS9p4lcdBNxhGo6jl3ipQE9HUvvNIPOdjtPjr_Q,9
|
|
373
|
+
souleyez-2.26.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|