souleyez 3.0.7__py3-none-any.whl → 3.0.9__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.
- souleyez/__init__.py +1 -1
- souleyez/docs/README.md +2 -2
- souleyez/main.py +1 -1
- souleyez/utils/tool_checker.py +38 -9
- {souleyez-3.0.7.dist-info → souleyez-3.0.9.dist-info}/METADATA +1 -1
- {souleyez-3.0.7.dist-info → souleyez-3.0.9.dist-info}/RECORD +10 -10
- {souleyez-3.0.7.dist-info → souleyez-3.0.9.dist-info}/WHEEL +0 -0
- {souleyez-3.0.7.dist-info → souleyez-3.0.9.dist-info}/entry_points.txt +0 -0
- {souleyez-3.0.7.dist-info → souleyez-3.0.9.dist-info}/licenses/LICENSE +0 -0
- {souleyez-3.0.7.dist-info → souleyez-3.0.9.dist-info}/top_level.txt +0 -0
souleyez/__init__.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "3.0.
|
|
1
|
+
__version__ = "3.0.9"
|
souleyez/docs/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# SoulEyez Documentation
|
|
2
2
|
|
|
3
|
-
**Version:** 3.0.
|
|
4
|
-
**Last Updated:**
|
|
3
|
+
**Version:** 3.0.9
|
|
4
|
+
**Last Updated:** February 1, 2026
|
|
5
5
|
**Organization:** CyberSoul Security
|
|
6
6
|
|
|
7
7
|
Welcome to the SoulEyez documentation! This documentation covers architecture, development, user guides, and operational information for the SoulEyez penetration testing platform.
|
souleyez/main.py
CHANGED
|
@@ -188,7 +188,7 @@ def _check_privileged_tools():
|
|
|
188
188
|
|
|
189
189
|
|
|
190
190
|
@click.group()
|
|
191
|
-
@click.version_option(version="3.0.
|
|
191
|
+
@click.version_option(version="3.0.9")
|
|
192
192
|
def cli():
|
|
193
193
|
"""SoulEyez - AI-Powered Pentesting Platform by CyberSoul Security"""
|
|
194
194
|
from souleyez.log_config import init_logging
|
souleyez/utils/tool_checker.py
CHANGED
|
@@ -175,10 +175,10 @@ EXTERNAL_TOOLS = {
|
|
|
175
175
|
"command": "chromium-browser",
|
|
176
176
|
"alt_commands": [
|
|
177
177
|
"chromium"
|
|
178
|
-
], # Kali uses chromium, Ubuntu uses chromium
|
|
178
|
+
], # Kali uses chromium, Ubuntu uses Playwright (snap chromium breaks headless on ARM)
|
|
179
179
|
"install_kali": "sudo apt install chromium",
|
|
180
|
-
"install_ubuntu": "
|
|
181
|
-
"install_method": "
|
|
180
|
+
"install_ubuntu": "pip install playwright && playwright install chromium && sudo ln -sf $HOME/.cache/ms-playwright/chromium-*/chrome-linux/chrome /usr/local/bin/chromium",
|
|
181
|
+
"install_method": "kali_only",
|
|
182
182
|
"description": "Headless browser (required for katana web crawling)",
|
|
183
183
|
},
|
|
184
184
|
},
|
|
@@ -336,7 +336,6 @@ EXTERNAL_TOOLS = {
|
|
|
336
336
|
"install_method": "kali_only",
|
|
337
337
|
"description": "SMB share enumeration tool",
|
|
338
338
|
"known_issues": "All versions have pickling bug with impacket. Use netexec instead.",
|
|
339
|
-
"optional": True,
|
|
340
339
|
},
|
|
341
340
|
"netexec": {
|
|
342
341
|
"command": "nxc",
|
|
@@ -360,7 +359,7 @@ EXTERNAL_TOOLS = {
|
|
|
360
359
|
"install_method": "kali_only",
|
|
361
360
|
"description": "Decrypt Group Policy Preferences (GPP) passwords",
|
|
362
361
|
"note": "On Ubuntu, pycryptodome provides Python fallback for GPP decryption",
|
|
363
|
-
"
|
|
362
|
+
"check_ubuntu": "python3 -c 'import Crypto'",
|
|
364
363
|
},
|
|
365
364
|
"bloodhound": {
|
|
366
365
|
"command": "bloodhound-python",
|
|
@@ -529,14 +528,28 @@ def check_all_tools() -> Dict[str, Dict[str, bool]]:
|
|
|
529
528
|
}
|
|
530
529
|
"""
|
|
531
530
|
results = {}
|
|
531
|
+
distro = detect_distro()
|
|
532
532
|
|
|
533
533
|
for category, tools in EXTERNAL_TOOLS.items():
|
|
534
534
|
results[category] = {}
|
|
535
535
|
for tool_name, tool_info in tools.items():
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
536
|
+
# Check for custom Ubuntu detection command
|
|
537
|
+
if distro == "ubuntu" and "check_ubuntu" in tool_info:
|
|
538
|
+
try:
|
|
539
|
+
subprocess.run(
|
|
540
|
+
tool_info["check_ubuntu"],
|
|
541
|
+
shell=True,
|
|
542
|
+
check=True,
|
|
543
|
+
capture_output=True,
|
|
544
|
+
)
|
|
545
|
+
results[category][tool_name] = True
|
|
546
|
+
except subprocess.CalledProcessError:
|
|
547
|
+
results[category][tool_name] = False
|
|
548
|
+
else:
|
|
549
|
+
alt_commands = tool_info.get("alt_commands")
|
|
550
|
+
results[category][tool_name] = check_tool(
|
|
551
|
+
tool_info["command"], alt_commands
|
|
552
|
+
)
|
|
540
553
|
|
|
541
554
|
return results
|
|
542
555
|
|
|
@@ -642,6 +655,22 @@ def check_tool_version(tool_info: dict) -> Dict[str, any]:
|
|
|
642
655
|
"actual_command": None,
|
|
643
656
|
}
|
|
644
657
|
|
|
658
|
+
# Check for custom Ubuntu detection command
|
|
659
|
+
distro = detect_distro()
|
|
660
|
+
if distro == "ubuntu" and "check_ubuntu" in tool_info:
|
|
661
|
+
try:
|
|
662
|
+
subprocess.run(
|
|
663
|
+
tool_info["check_ubuntu"],
|
|
664
|
+
shell=True,
|
|
665
|
+
check=True,
|
|
666
|
+
capture_output=True,
|
|
667
|
+
)
|
|
668
|
+
result["installed"] = True
|
|
669
|
+
result["actual_command"] = tool_info["check_ubuntu"]
|
|
670
|
+
return result
|
|
671
|
+
except subprocess.CalledProcessError:
|
|
672
|
+
return result
|
|
673
|
+
|
|
645
674
|
# Find which command is actually installed (primary or alt)
|
|
646
675
|
actual_cmd = find_tool_command(command, alt_commands)
|
|
647
676
|
if not actual_cmd:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: souleyez
|
|
3
|
-
Version: 3.0.
|
|
3
|
+
Version: 3.0.9
|
|
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>
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
souleyez/__init__.py,sha256=
|
|
1
|
+
souleyez/__init__.py,sha256=b7f_Jk61orPy8IHcbLq3V_QwsqzdIv4siu0tsrTXDgQ,22
|
|
2
2
|
souleyez/config.py,sha256=8wEKoj2dVJq21mVKMCiG0MvMfEbRcx8o_AgVy_lCwz0,11716
|
|
3
3
|
souleyez/devtools.py,sha256=flQiAcPtAuF36lKQY2tMG90RI7DJy1ifXuYuhVL6ALI,3602
|
|
4
4
|
souleyez/feature_flags.py,sha256=74mxloHPti-0o2AxsoG0QjSYRzKMQud3cQJ3ntHUn_0,4612
|
|
5
5
|
souleyez/history.py,sha256=45nuUCuKAeLON4Syncd4l6RgfnESvYGYVy4d4MvQK_A,3113
|
|
6
6
|
souleyez/log_config.py,sha256=T4B1cuYBAxrsrWb-EaEBgb7WuYhke02gploRGh9hX_A,6155
|
|
7
|
-
souleyez/main.py,sha256=
|
|
7
|
+
souleyez/main.py,sha256=TK6QJKScU7I7QjtiDVrs0eg5lnM67LS9NYQZIzu1Ffo,144063
|
|
8
8
|
souleyez/scanner.py,sha256=XsyKi1viJyB5MazQZ0uJung-v9syj8rVB5gJyVgkWaw,3164
|
|
9
9
|
souleyez/security.py,sha256=9BGRJLtTQbQvQH2ptjh67ThykF-BYKicUeMx3wyrevE,2770
|
|
10
10
|
souleyez/ui.py,sha256=OsXY97BCWnvkHuqvwMKrWXuq1MQxv8RmIe7re7NcURo,35959
|
|
@@ -114,7 +114,7 @@ souleyez/detection/__init__.py,sha256=E1icPy0w9ByTnG0uiLflEMRqfOLXCnrMjTQnfiSOJw
|
|
|
114
114
|
souleyez/detection/attack_signatures.py,sha256=E2PiUX8J5bKO4IuL2QDwSG2vmYKAM25O3OOlwUaRajg,7068
|
|
115
115
|
souleyez/detection/mitre_mappings.py,sha256=xdCBL9tupP8pj1Mf2EaiqmaZOAILLedQp8cec0mb5K4,20866
|
|
116
116
|
souleyez/detection/validator.py,sha256=2x_6lMKEvk8GCYCv3gxONErhUtCurDqIXZ6dV7NJep0,15818
|
|
117
|
-
souleyez/docs/README.md,sha256=
|
|
117
|
+
souleyez/docs/README.md,sha256=vekXPtDhD6l7CcAT_L7KUgitgKSQpEt2mCuEvYUt40Y,7188
|
|
118
118
|
souleyez/docs/api-reference/cli-commands.md,sha256=u1SITpcP8oA4yzrukdHTlA4WKP9AV3zGHa52iI0vje8,12913
|
|
119
119
|
souleyez/docs/api-reference/engagement-api.md,sha256=nd-EvQMtiJrobg2bzFEADp853HP1Uhb9dmgok0_-neE,11672
|
|
120
120
|
souleyez/docs/api-reference/integration-guide.md,sha256=c96uX79ukHyYotLa54wZ20Kx-EUZnrKegTeGkfLD-pw,16285
|
|
@@ -436,10 +436,10 @@ souleyez/ui/tutorial_state.py,sha256=0Fx-r8_4XjmsCQaj2q5iS-tf-BlFhYzRnxG1PeILPJs
|
|
|
436
436
|
souleyez/ui/wazuh_vulns_view.py,sha256=oIUWnfihxYgyf_s0qan8ulAq_TxIlaE3I_kbXb0wMA8,22927
|
|
437
437
|
souleyez/ui/wordlist_browser.py,sha256=nsj1jj5Qc8zfGmiw9vMn-nXlGShGBAZfxQOfx_WI8Qo,21187
|
|
438
438
|
souleyez/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
439
|
-
souleyez/utils/tool_checker.py,sha256=
|
|
440
|
-
souleyez-3.0.
|
|
441
|
-
souleyez-3.0.
|
|
442
|
-
souleyez-3.0.
|
|
443
|
-
souleyez-3.0.
|
|
444
|
-
souleyez-3.0.
|
|
445
|
-
souleyez-3.0.
|
|
439
|
+
souleyez/utils/tool_checker.py,sha256=qupqP5Jl9K7DsB96k4p8Zu7l_kqVZFQMZ4SC_M7JOkY,36923
|
|
440
|
+
souleyez-3.0.9.dist-info/licenses/LICENSE,sha256=J7vDD5QMF4w2oSDm35eBgosATE70ah1M40u9W4EpTZs,1090
|
|
441
|
+
souleyez-3.0.9.dist-info/METADATA,sha256=XWKcxz1cNDsY7udDDLcdWrU-ei-0BiYLoN0NGOwCrps,10438
|
|
442
|
+
souleyez-3.0.9.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
443
|
+
souleyez-3.0.9.dist-info/entry_points.txt,sha256=bN5W1dhjDZJl3TKclMjRpfQvGPmyrJLwwDuCj_X39HE,48
|
|
444
|
+
souleyez-3.0.9.dist-info/top_level.txt,sha256=afAMzS9p4lcdBNxhGo6jl3ipQE9HUvvNIPOdjtPjr_Q,9
|
|
445
|
+
souleyez-3.0.9.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|