souleyez 2.12.0__tar.gz → 2.37.0__tar.gz
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-2.12.0 → souleyez-2.37.0}/BETA_README.md +21 -2
- {souleyez-2.12.0/souleyez.egg-info → souleyez-2.37.0}/PKG-INFO +22 -3
- {souleyez-2.12.0 → souleyez-2.37.0}/README.md +9 -1
- {souleyez-2.12.0 → souleyez-2.37.0}/pyproject.toml +2 -2
- souleyez-2.37.0/souleyez/__init__.py +2 -0
- souleyez-2.37.0/souleyez/assets/__init__.py +1 -0
- souleyez-2.37.0/souleyez/assets/souleyez-icon.png +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/core/msf_auto_mapper.py +3 -2
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/core/msf_rpc_client.py +1 -1
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/core/msf_rpc_manager.py +75 -1
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/core/msf_sync_manager.py +15 -5
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/core/tool_chaining.py +334 -52
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/detection/validator.py +4 -2
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/README.md +2 -2
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/user-guide/configuration.md +1 -1
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/user-guide/installation.md +14 -1
- souleyez-2.37.0/souleyez/docs/user-guide/scope-management.md +683 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/engine/background.py +667 -156
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/engine/result_handler.py +469 -11
- souleyez-2.37.0/souleyez/engine/worker_manager.py +205 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/integrations/siem/__init__.py +2 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/integrations/siem/factory.py +26 -5
- souleyez-2.37.0/souleyez/integrations/siem/googlesecops.py +614 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/integrations/siem/splunk.py +58 -11
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/integrations/wazuh/config.py +143 -20
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/main.py +420 -22
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/parsers/crackmapexec_parser.py +101 -43
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/parsers/dnsrecon_parser.py +50 -35
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/parsers/enum4linux_parser.py +101 -21
- souleyez-2.37.0/souleyez/parsers/http_fingerprint_parser.py +319 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/parsers/hydra_parser.py +56 -5
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/parsers/impacket_parser.py +123 -44
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/parsers/john_parser.py +47 -14
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/parsers/msf_parser.py +146 -9
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/parsers/nmap_parser.py +145 -28
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/parsers/smbmap_parser.py +69 -25
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/parsers/sqlmap_parser.py +72 -26
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/parsers/theharvester_parser.py +21 -13
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/gobuster.py +96 -3
- souleyez-2.37.0/souleyez/plugins/http_fingerprint.py +598 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/msf_exploit.py +6 -3
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/nuclei.py +43 -18
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/searchsploit.py +21 -18
- souleyez-2.37.0/souleyez/security/scope_validator.py +615 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/crypto.py +47 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/database.py +59 -20
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/hosts.py +87 -2
- souleyez-2.37.0/souleyez/storage/migrations/_026_add_engagement_scope.py +87 -0
- souleyez-2.37.0/souleyez/storage/migrations/_027_multi_siem_persistence.py +119 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/migrations/__init__.py +6 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/schema.sql +44 -4
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/interactive.py +994 -262
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/setup_wizard.py +424 -58
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/tool_setup.py +138 -68
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/utils/tool_checker.py +77 -15
- {souleyez-2.12.0 → souleyez-2.37.0/souleyez.egg-info}/PKG-INFO +22 -3
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez.egg-info/SOURCES.txt +11 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/tests/test_config.py +10 -1
- {souleyez-2.12.0 → souleyez-2.37.0}/tests/test_result_handler_sqlmap.py +11 -4
- souleyez-2.37.0/tests/test_scope_integration.py +855 -0
- souleyez-2.37.0/tests/test_scope_validator.py +416 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/tests/test_storage.py +5 -4
- souleyez-2.12.0/souleyez/__init__.py +0 -1
- souleyez-2.12.0/souleyez/engine/worker_manager.py +0 -109
- {souleyez-2.12.0 → souleyez-2.37.0}/LICENSE +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/MANIFEST.in +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/setup.cfg +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ai/__init__.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ai/action_mapper.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ai/chain_advisor.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ai/claude_provider.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ai/context_builder.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ai/executor.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ai/feedback_handler.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ai/llm_factory.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ai/llm_provider.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ai/ollama_provider.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ai/ollama_service.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ai/path_scorer.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ai/recommender.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ai/report_context.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ai/report_prompts.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ai/report_service.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ai/result_parser.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ai/safety.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/auth/__init__.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/auth/audit.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/auth/engagement_access.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/auth/permissions.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/auth/session_manager.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/auth/user_manager.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/commands/__init__.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/commands/audit.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/commands/auth.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/commands/deliverables.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/commands/engagement.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/commands/license.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/commands/screenshots.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/commands/user.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/config.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/core/__init__.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/core/credential_tester.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/core/cve_mappings.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/core/cve_matcher.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/core/msf_chain_engine.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/core/msf_database.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/core/msf_integration.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/core/network_utils.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/core/parser_handler.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/core/pending_chains.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/core/templates.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/core/version_utils.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/core/vuln_correlation.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/core/web_utils.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/templates/README.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/templates/active_directory.json +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/templates/cis_controls_v8.json +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/templates/cloud_security.json +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/templates/cmmc_2.0.json +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/templates/external_network.json +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/templates/ffiec_cat.json +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/templates/gdpr_article32.json +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/templates/glba_safeguards.json +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/templates/hipaa_security.json +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/templates/hitrust_csf.json +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/templates/internal_network.json +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/templates/iso27001.json +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/templates/nerc_cip.json +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/templates/nist_csf.json +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/templates/owasp_top10_2021.json +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/templates/pci_dss_4.0.json +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/templates/ptes_standard.json +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/templates/red_team.json +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/templates/soc2_type2.json +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/templates/webapp_advanced.json +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/wordlists/README.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/wordlists/all_users.txt +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/wordlists/api_endpoints.txt +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/wordlists/default_credentials.txt +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/wordlists/macos_users.txt +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/wordlists/router_passwords.txt +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/wordlists/router_users.txt +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/wordlists/soul_pass.txt +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/wordlists/soul_users.txt +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/wordlists/subdomains_common.txt +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/wordlists/top100.txt +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/wordlists/top20_quick.txt +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/wordlists/vnc_passwords.txt +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/wordlists/web_dirs_common.txt +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/wordlists/web_extensions.txt +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/data/wordlists/web_files_common.txt +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/detection/__init__.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/detection/attack_signatures.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/detection/mitre_mappings.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/devtools.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/api-reference/cli-commands.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/api-reference/engagement-api.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/api-reference/integration-guide.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/api-reference/parser-formats.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/architecture/decisions/000-template.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/architecture/decisions/001-local-llm-over-cloud.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/architecture/decisions/002-master-password-approach.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/architecture/decisions/003-database-schema-design.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/architecture/overview.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/database/MIGRATIONS.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/database/SCHEMA.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/database/SCHEMA_ERD.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/developer-guide/test_coverage_plan.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/developer-guide/ui-design-system.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/images/README.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/security/best-practices.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/security/credential-encryption.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/security/password-protected-commands.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/security/secure-defaults.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/security/threat-model.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/user-guide/ai-integration.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/user-guide/attack-surface.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/user-guide/auto-chaining.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/user-guide/deliverables-screenshots.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/user-guide/dependencies.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/user-guide/evidence-vault.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/user-guide/exploit-suggestions.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/user-guide/getting-started.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/user-guide/metasploit-integration.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/user-guide/rbac.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/user-guide/report-generation.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/user-guide/siem-integration.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/user-guide/tools-reference.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/user-guide/troubleshooting.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/user-guide/uninstall.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/user-guide/worker-management.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/docs/user-guide/workflows.md +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/engine/__init__.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/engine/base.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/engine/job_status.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/engine/loader.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/engine/log_sanitizer.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/engine/manager.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/export/__init__.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/export/evidence_bundle.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/feature_flags/__init__.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/feature_flags/features.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/feature_flags.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/history.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/importers/__init__.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/importers/msf_importer.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/importers/smart_importer.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/integrations/__init__.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/integrations/siem/base.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/integrations/siem/elastic.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/integrations/siem/rule_mappings/__init__.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/integrations/siem/rule_mappings/wazuh_rules.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/integrations/siem/sentinel.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/integrations/siem/wazuh.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/integrations/wazuh/__init__.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/integrations/wazuh/client.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/integrations/wazuh/host_mapper.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/integrations/wazuh/sync.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/intelligence/__init__.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/intelligence/correlation_analyzer.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/intelligence/exploit_knowledge.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/intelligence/exploit_suggestions.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/intelligence/gap_analyzer.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/intelligence/gap_detector.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/intelligence/sensitive_tables.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/intelligence/service_parser.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/intelligence/surface_analyzer.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/intelligence/target_parser.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/licensing/__init__.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/licensing/validator.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/log_config.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/migrations/__init__.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/migrations/fix_job_counter.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/parsers/__init__.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/parsers/bloodhound_parser.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/parsers/dalfox_parser.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/parsers/ffuf_parser.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/parsers/gobuster_parser.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/parsers/hashcat_parser.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/parsers/nikto_parser.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/parsers/nuclei_parser.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/parsers/responder_parser.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/parsers/searchsploit_parser.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/parsers/whois_parser.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/parsers/wpscan_parser.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/__init__.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/afp.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/afp_brute.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/ard.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/bloodhound.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/crackmapexec.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/dalfox.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/dns_hijack.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/dnsrecon.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/enum4linux.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/ffuf.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/firmware_extract.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/hashcat.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/hydra.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/impacket_getnpusers.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/impacket_psexec.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/impacket_secretsdump.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/impacket_smbclient.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/john.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/macos_ssh.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/mdns.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/msf_auxiliary.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/nikto.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/nmap.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/plugin_base.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/plugin_template.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/responder.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/router_http_brute.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/router_ssh_brute.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/router_telnet_brute.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/routersploit.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/routersploit_exploit.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/smbmap.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/sqlmap.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/theharvester.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/tr069.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/upnp.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/upnp_abuse.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/vnc_access.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/vnc_brute.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/whois.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/plugins/wpscan.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/reporting/__init__.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/reporting/attack_chain.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/reporting/charts.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/reporting/compliance_mappings.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/reporting/detection_report.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/reporting/formatters.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/reporting/generator.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/reporting/metrics.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/scanner.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/security/__init__.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/security/validation.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/security.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/__init__.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/credentials.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/db.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/deliverable_evidence.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/deliverable_exporter.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/deliverable_templates.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/deliverables.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/engagements.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/evidence.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/execution_log.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/exploit_attempts.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/exploits.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/findings.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/migrate_to_engagements.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/migrations/_001_add_credential_enhancements.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/migrations/_002_add_status_tracking.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/migrations/_003_add_execution_log.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/migrations/_005_screenshots.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/migrations/_006_deliverables.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/migrations/_007_deliverable_templates.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/migrations/_008_add_nuclei_table.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/migrations/_009_add_cme_tables.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/migrations/_010_evidence_linking.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/migrations/_011_timeline_tracking.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/migrations/_012_team_collaboration.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/migrations/_013_add_host_tags.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/migrations/_014_exploit_attempts.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/migrations/_015_add_mac_os_fields.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/migrations/_016_add_domain_field.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/migrations/_017_msf_sessions.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/migrations/_018_add_osint_target.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/migrations/_019_add_engagement_type.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/migrations/_020_add_rbac.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/migrations/_021_wazuh_integration.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/migrations/_022_wazuh_indexer_columns.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/migrations/_023_fix_detection_results_fk.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/migrations/_024_wazuh_vulnerabilities.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/migrations/_025_multi_siem_support.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/migrations/migration_manager.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/msf_sessions.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/osint.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/recommendation_engine.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/screenshots.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/smb_shares.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/sqlmap_data.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/team_collaboration.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/timeline_tracker.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/wazuh_vulns.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/storage/web_paths.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/testing/__init__.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/testing/credential_tester.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/__init__.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/ai_quotes.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/attack_surface.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/chain_rules_view.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/correlation_view.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/dashboard.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/deliverables_view.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/design_system.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/errors.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/evidence_linking_view.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/evidence_vault.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/exploit_suggestions_view.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/export_view.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/gap_analysis_view.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/help_system.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/intelligence_view.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/interactive_selector.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/log_formatter.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/menu_components.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/msf_auxiliary_menu.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/pending_chains_view.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/progress_indicators.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/recommendations_view.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/rule_builder.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/shortcuts.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/splunk_gap_analysis_view.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/splunk_vulns_view.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/team_dashboard.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/template_selector.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/terminal.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/timeline_view.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/tutorial.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/tutorial_state.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui/wazuh_vulns_view.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/ui.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/utils/__init__.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/utils.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez/wordlists.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez.egg-info/dependency_links.txt +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez.egg-info/entry_points.txt +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez.egg-info/requires.txt +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/souleyez.egg-info/top_level.txt +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/tests/test_config_enhanced.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/tests/test_crypto.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/tests/test_database_100_final.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/tests/test_engagements.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/tests/test_engagements_simple.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/tests/test_job_status_tracking.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/tests/test_logging.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/tests/test_network_utils.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/tests/test_ollama_service.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/tests/test_plugin_base.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/tests/test_recommender.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/tests/test_schema.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/tests/test_security_hardening.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/tests/test_security_validation.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/tests/test_sqlmap_parser.py +0 -0
- {souleyez-2.12.0 → souleyez-2.37.0}/tests/test_version_utils.py +0 -0
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# SoulEyez Beta Program
|
|
2
2
|
|
|
3
|
+
[](https://github.com/cyber-soul-security/souleyez/actions/workflows/python-ci.yml)
|
|
4
|
+
[](https://codecov.io/gh/cyber-soul-security/souleyez)
|
|
5
|
+
[](https://www.python.org/downloads/)
|
|
6
|
+
[](https://github.com/psf/black)
|
|
7
|
+
[](https://github.com/PyCQA/bandit)
|
|
8
|
+
|
|
3
9
|
Welcome to the SoulEyez beta! Thank you for helping us test and improve this penetration testing management platform.
|
|
4
10
|
|
|
5
11
|
---
|
|
@@ -21,7 +27,7 @@ Welcome to the SoulEyez beta! Thank you for helping us test and improve this pen
|
|
|
21
27
|
|
|
22
28
|
> ⚠️ **Important**: Only use SoulEyez on systems you have explicit authorization to test.
|
|
23
29
|
|
|
24
|
-
## Version: 2.
|
|
30
|
+
## Version: 2.37.0
|
|
25
31
|
|
|
26
32
|
### What's Included
|
|
27
33
|
|
|
@@ -59,6 +65,17 @@ Welcome to the SoulEyez beta! Thank you for helping us test and improve this pen
|
|
|
59
65
|
- **Python**: 3.8 or newer
|
|
60
66
|
- **Storage**: ~500MB for SoulEyez + tools
|
|
61
67
|
|
|
68
|
+
> **🐉 Kali Linux Recommended**
|
|
69
|
+
>
|
|
70
|
+
> SoulEyez performs significantly better on **Kali Linux** than other distributions:
|
|
71
|
+
> - All pentesting tools pre-installed and optimized
|
|
72
|
+
> - Metasploit database and RPC already configured
|
|
73
|
+
> - Security-focused kernel and networking stack
|
|
74
|
+
> - No dependency hunting or version conflicts
|
|
75
|
+
> - Wordlists, databases, and tool configs ready to go
|
|
76
|
+
>
|
|
77
|
+
> While Ubuntu and other Debian-based distros are supported, you may experience slower setup times and occasional tool compatibility issues.
|
|
78
|
+
|
|
62
79
|
### Known Issues
|
|
63
80
|
|
|
64
81
|
- Very large scan outputs (>10MB) may slow the interface
|
|
@@ -76,6 +93,8 @@ pipx ensurepath # Add pipx apps to your PATH
|
|
|
76
93
|
source ~/.bashrc # Reload your shell (or close and reopen terminal)
|
|
77
94
|
```
|
|
78
95
|
|
|
96
|
+
> **Kali Linux users:** Kali uses zsh by default. Use `source ~/.zshrc` instead of `source ~/.bashrc`
|
|
97
|
+
|
|
79
98
|
> 💡 **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.
|
|
80
99
|
|
|
81
100
|
### Step 2: Install SoulEyez
|
|
@@ -246,4 +265,4 @@ Happy hacking! 🛡️
|
|
|
246
265
|
|
|
247
266
|
---
|
|
248
267
|
|
|
249
|
-
**Version**: 2.
|
|
268
|
+
**Version**: 2.37.0 | **Release Date**: January 2026 | **Maintainer**: CyberSoul Security
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: souleyez
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.37.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>
|
|
@@ -51,6 +51,12 @@ Dynamic: license-file
|
|
|
51
51
|
|
|
52
52
|
# SoulEyez Beta Program
|
|
53
53
|
|
|
54
|
+
[](https://github.com/cyber-soul-security/souleyez/actions/workflows/python-ci.yml)
|
|
55
|
+
[](https://codecov.io/gh/cyber-soul-security/souleyez)
|
|
56
|
+
[](https://www.python.org/downloads/)
|
|
57
|
+
[](https://github.com/psf/black)
|
|
58
|
+
[](https://github.com/PyCQA/bandit)
|
|
59
|
+
|
|
54
60
|
Welcome to the SoulEyez beta! Thank you for helping us test and improve this penetration testing management platform.
|
|
55
61
|
|
|
56
62
|
---
|
|
@@ -72,7 +78,7 @@ Welcome to the SoulEyez beta! Thank you for helping us test and improve this pen
|
|
|
72
78
|
|
|
73
79
|
> ⚠️ **Important**: Only use SoulEyez on systems you have explicit authorization to test.
|
|
74
80
|
|
|
75
|
-
## Version: 2.
|
|
81
|
+
## Version: 2.37.0
|
|
76
82
|
|
|
77
83
|
### What's Included
|
|
78
84
|
|
|
@@ -110,6 +116,17 @@ Welcome to the SoulEyez beta! Thank you for helping us test and improve this pen
|
|
|
110
116
|
- **Python**: 3.8 or newer
|
|
111
117
|
- **Storage**: ~500MB for SoulEyez + tools
|
|
112
118
|
|
|
119
|
+
> **🐉 Kali Linux Recommended**
|
|
120
|
+
>
|
|
121
|
+
> SoulEyez performs significantly better on **Kali Linux** than other distributions:
|
|
122
|
+
> - All pentesting tools pre-installed and optimized
|
|
123
|
+
> - Metasploit database and RPC already configured
|
|
124
|
+
> - Security-focused kernel and networking stack
|
|
125
|
+
> - No dependency hunting or version conflicts
|
|
126
|
+
> - Wordlists, databases, and tool configs ready to go
|
|
127
|
+
>
|
|
128
|
+
> While Ubuntu and other Debian-based distros are supported, you may experience slower setup times and occasional tool compatibility issues.
|
|
129
|
+
|
|
113
130
|
### Known Issues
|
|
114
131
|
|
|
115
132
|
- Very large scan outputs (>10MB) may slow the interface
|
|
@@ -127,6 +144,8 @@ pipx ensurepath # Add pipx apps to your PATH
|
|
|
127
144
|
source ~/.bashrc # Reload your shell (or close and reopen terminal)
|
|
128
145
|
```
|
|
129
146
|
|
|
147
|
+
> **Kali Linux users:** Kali uses zsh by default. Use `source ~/.zshrc` instead of `source ~/.bashrc`
|
|
148
|
+
|
|
130
149
|
> 💡 **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
150
|
|
|
132
151
|
### Step 2: Install SoulEyez
|
|
@@ -297,4 +316,4 @@ Happy hacking! 🛡️
|
|
|
297
316
|
|
|
298
317
|
---
|
|
299
318
|
|
|
300
|
-
**Version**: 2.
|
|
319
|
+
**Version**: 2.37.0 | **Release Date**: January 2026 | **Maintainer**: CyberSoul Security
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# SoulEyez — AI-Powered Penetration Testing Platform
|
|
2
2
|
|
|
3
|
+
[](https://github.com/cyber-soul-security/souleyez/actions/workflows/python-ci.yml)
|
|
4
|
+
[](https://codecov.io/gh/cyber-soul-security/souleyez)
|
|
5
|
+
[](https://www.python.org/downloads/)
|
|
6
|
+
[](https://github.com/psf/black)
|
|
7
|
+
[](https://github.com/PyCQA/bandit)
|
|
8
|
+
|
|
3
9
|
**LEGAL NOTICE — Use Responsibly**
|
|
4
10
|
Only use SoulEyez on systems you own or have explicit written permission to test.
|
|
5
11
|
Unauthorized scanning or exploitation is illegal. The authors are not responsible for misuse.
|
|
@@ -133,7 +139,7 @@ See [docs/CONFIG.md](souleyez/docs/CONFIG.md) for complete configuration options
|
|
|
133
139
|
# Install pipx if needed
|
|
134
140
|
sudo apt install pipx
|
|
135
141
|
pipx ensurepath
|
|
136
|
-
source ~/.bashrc
|
|
142
|
+
source ~/.bashrc # Kali Linux: use 'source ~/.zshrc' instead
|
|
137
143
|
|
|
138
144
|
# Install SoulEyez
|
|
139
145
|
pipx install souleyez
|
|
@@ -142,6 +148,8 @@ pipx install souleyez
|
|
|
142
148
|
souleyez setup
|
|
143
149
|
```
|
|
144
150
|
|
|
151
|
+
> **Kali Linux users:** Kali uses zsh by default. Use `source ~/.zshrc` instead of `source ~/.bashrc`
|
|
152
|
+
|
|
145
153
|
See [docs/user-guide/installation.md](souleyez/docs/user-guide/installation.md) for detailed instructions.
|
|
146
154
|
|
|
147
155
|
---
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "souleyez"
|
|
7
|
-
version = "2.
|
|
7
|
+
version = "2.37.0"
|
|
8
8
|
description = "AI-Powered Penetration Testing Platform with 40+ integrated tools"
|
|
9
9
|
readme = "BETA_README.md"
|
|
10
10
|
license = {text = "MIT"}
|
|
@@ -71,7 +71,7 @@ include = ["souleyez*"]
|
|
|
71
71
|
exclude = ["tests*", "scripts*", "reports*", "venv*", "debian*"]
|
|
72
72
|
|
|
73
73
|
[tool.setuptools.package-data]
|
|
74
|
-
souleyez = ["docs/**/*.md", "data/wordlists/*.txt", "data/wordlists/*.md", "data/templates/*.json", "data/templates/*.md"]
|
|
74
|
+
souleyez = ["docs/**/*.md", "data/wordlists/*.txt", "data/wordlists/*.md", "data/templates/*.json", "data/templates/*.md", "assets/*.png"]
|
|
75
75
|
|
|
76
76
|
[tool.pytest.ini_options]
|
|
77
77
|
testpaths = ["tests"]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# SoulEyez assets package
|
|
Binary file
|
|
@@ -49,8 +49,9 @@ class MSFAutoMapper:
|
|
|
49
49
|
risk_levels=['safe', 'noisy', 'moderate', 'dangerous']
|
|
50
50
|
)
|
|
51
51
|
|
|
52
|
-
#
|
|
53
|
-
|
|
52
|
+
# Only store services with actual recommendations
|
|
53
|
+
if recommendations:
|
|
54
|
+
service_map[service_id] = recommendations[:10]
|
|
54
55
|
|
|
55
56
|
return service_map
|
|
56
57
|
except Exception as e:
|
|
@@ -112,7 +112,7 @@ class MSFRPCClient:
|
|
|
112
112
|
data=request_data,
|
|
113
113
|
headers=self.headers,
|
|
114
114
|
verify=False, # nosec B501 - Metasploit RPC uses self-signed certs
|
|
115
|
-
timeout=30 #
|
|
115
|
+
timeout=(5, 30) # (connect_timeout, read_timeout) - fast fail on SSL mismatch
|
|
116
116
|
)
|
|
117
117
|
response.raise_for_status()
|
|
118
118
|
|
|
@@ -11,6 +11,7 @@ This is a Pro-only feature. Free users fall back to msfconsole subprocess execut
|
|
|
11
11
|
"""
|
|
12
12
|
|
|
13
13
|
import logging
|
|
14
|
+
import os
|
|
14
15
|
import time
|
|
15
16
|
import subprocess
|
|
16
17
|
import shutil
|
|
@@ -34,8 +35,81 @@ def is_pro_enabled() -> bool:
|
|
|
34
35
|
return False
|
|
35
36
|
|
|
36
37
|
|
|
38
|
+
# Session file for sharing decrypted msfrpc password with background worker
|
|
39
|
+
# This file is written when vault is unlocked and cleared on logout
|
|
40
|
+
_SESSION_FILE = os.path.join(os.path.expanduser('~'), '.souleyez', '.msfrpc_session')
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def write_msfrpc_session(password: str) -> bool:
|
|
44
|
+
"""
|
|
45
|
+
Write decrypted msfrpc password to session file.
|
|
46
|
+
|
|
47
|
+
Called by the dashboard when vault is unlocked to allow
|
|
48
|
+
the background worker (separate process) to access RPC.
|
|
49
|
+
|
|
50
|
+
The file is created with restrictive permissions (600).
|
|
51
|
+
"""
|
|
52
|
+
try:
|
|
53
|
+
import stat
|
|
54
|
+
session_dir = os.path.dirname(_SESSION_FILE)
|
|
55
|
+
os.makedirs(session_dir, exist_ok=True)
|
|
56
|
+
|
|
57
|
+
# Write with secure permissions
|
|
58
|
+
with open(_SESSION_FILE, 'w') as f:
|
|
59
|
+
f.write(password)
|
|
60
|
+
os.chmod(_SESSION_FILE, stat.S_IRUSR | stat.S_IWUSR) # 600
|
|
61
|
+
|
|
62
|
+
logger.debug("MSF RPC session file written")
|
|
63
|
+
return True
|
|
64
|
+
except Exception as e:
|
|
65
|
+
logger.debug(f"Failed to write msfrpc session: {e}")
|
|
66
|
+
return False
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
def clear_msfrpc_session() -> bool:
|
|
70
|
+
"""
|
|
71
|
+
Clear the msfrpc session file.
|
|
72
|
+
|
|
73
|
+
Called on logout or dashboard exit to clean up credentials.
|
|
74
|
+
"""
|
|
75
|
+
try:
|
|
76
|
+
if os.path.exists(_SESSION_FILE):
|
|
77
|
+
os.remove(_SESSION_FILE)
|
|
78
|
+
logger.debug("MSF RPC session file cleared")
|
|
79
|
+
return True
|
|
80
|
+
except Exception as e:
|
|
81
|
+
logger.debug(f"Failed to clear msfrpc session: {e}")
|
|
82
|
+
return False
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
def _read_msfrpc_session() -> Optional[str]:
|
|
86
|
+
"""Read password from session file if it exists."""
|
|
87
|
+
try:
|
|
88
|
+
if os.path.exists(_SESSION_FILE):
|
|
89
|
+
with open(_SESSION_FILE, 'r') as f:
|
|
90
|
+
password = f.read().strip()
|
|
91
|
+
if password:
|
|
92
|
+
return password
|
|
93
|
+
except Exception:
|
|
94
|
+
pass
|
|
95
|
+
return None
|
|
96
|
+
|
|
97
|
+
|
|
37
98
|
def get_msfrpc_password() -> Optional[str]:
|
|
38
|
-
"""
|
|
99
|
+
"""
|
|
100
|
+
Get msfrpc password for authentication.
|
|
101
|
+
|
|
102
|
+
Priority order:
|
|
103
|
+
1. Session file (written by dashboard when vault is unlocked)
|
|
104
|
+
2. Decrypt from config (if vault is unlocked in current process)
|
|
105
|
+
3. Return None (vault locked, no session file)
|
|
106
|
+
"""
|
|
107
|
+
# First check session file (allows background worker to authenticate)
|
|
108
|
+
session_password = _read_msfrpc_session()
|
|
109
|
+
if session_password:
|
|
110
|
+
return session_password
|
|
111
|
+
|
|
112
|
+
# Fall back to decryption (works if vault is unlocked in this process)
|
|
39
113
|
try:
|
|
40
114
|
from souleyez.storage.crypto import get_crypto_manager
|
|
41
115
|
encrypted = config.get('msfrpc.password')
|
|
@@ -29,15 +29,25 @@ logger = logging.getLogger(__name__)
|
|
|
29
29
|
|
|
30
30
|
def get_msf_database_config() -> Optional[Dict[str, Any]]:
|
|
31
31
|
"""
|
|
32
|
-
Get MSF database configuration from ~/.msf4/database.yml
|
|
32
|
+
Get MSF database configuration from ~/.msf4/database.yml or system-wide config.
|
|
33
|
+
|
|
34
|
+
Checks user config first, then falls back to system-wide config (Kali Linux).
|
|
33
35
|
|
|
34
36
|
Returns:
|
|
35
37
|
Dictionary with database config or None if not found/parseable
|
|
36
38
|
"""
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
# Check user config first, then system-wide config (Kali uses system-wide)
|
|
40
|
+
user_db_path = Path.home() / ".msf4" / "database.yml"
|
|
41
|
+
system_db_path = Path('/usr/share/metasploit-framework/config/database.yml')
|
|
42
|
+
|
|
43
|
+
db_yml_path = None
|
|
44
|
+
if user_db_path.exists():
|
|
45
|
+
db_yml_path = user_db_path
|
|
46
|
+
elif system_db_path.exists():
|
|
47
|
+
db_yml_path = system_db_path
|
|
48
|
+
|
|
49
|
+
if not db_yml_path:
|
|
50
|
+
logger.debug("MSF database.yml not found in user or system config")
|
|
41
51
|
return None
|
|
42
52
|
|
|
43
53
|
try:
|