souleyez 2.43.24__tar.gz → 2.43.25__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.43.24/souleyez.egg-info → souleyez-2.43.25}/PKG-INFO +1 -1
- {souleyez-2.43.24 → souleyez-2.43.25}/pyproject.toml +1 -1
- souleyez-2.43.25/souleyez/__init__.py +2 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/README.md +2 -2
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/main.py +1 -1
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/interactive.py +107 -0
- {souleyez-2.43.24 → souleyez-2.43.25/souleyez.egg-info}/PKG-INFO +1 -1
- souleyez-2.43.24/souleyez/__init__.py +0 -2
- {souleyez-2.43.24 → souleyez-2.43.25}/LICENSE +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/MANIFEST.in +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/README.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/setup.cfg +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ai/__init__.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ai/action_mapper.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ai/chain_advisor.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ai/claude_provider.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ai/context_builder.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ai/executor.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ai/feedback_handler.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ai/llm_factory.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ai/llm_provider.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ai/ollama_provider.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ai/ollama_service.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ai/path_scorer.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ai/recommender.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ai/report_context.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ai/report_prompts.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ai/report_service.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ai/result_parser.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ai/safety.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/assets/__init__.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/assets/souleyez-icon.png +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/auth/__init__.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/auth/audit.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/auth/engagement_access.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/auth/permissions.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/auth/session_manager.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/auth/user_manager.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/commands/__init__.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/commands/audit.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/commands/auth.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/commands/deliverables.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/commands/engagement.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/commands/license.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/commands/screenshots.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/commands/user.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/config.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/core/__init__.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/core/credential_tester.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/core/cve_mappings.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/core/cve_matcher.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/core/msf_auto_mapper.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/core/msf_chain_engine.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/core/msf_database.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/core/msf_integration.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/core/msf_rpc_client.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/core/msf_rpc_manager.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/core/msf_sync_manager.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/core/network_utils.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/core/parser_handler.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/core/pending_chains.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/core/templates.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/core/tool_chaining.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/core/version_utils.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/core/vuln_correlation.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/core/web_utils.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/templates/README.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/templates/active_directory.json +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/templates/cis_controls_v8.json +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/templates/cloud_security.json +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/templates/cmmc_2.0.json +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/templates/external_network.json +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/templates/ffiec_cat.json +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/templates/gdpr_article32.json +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/templates/glba_safeguards.json +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/templates/hipaa_security.json +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/templates/hitrust_csf.json +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/templates/internal_network.json +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/templates/iso27001.json +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/templates/nerc_cip.json +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/templates/nist_csf.json +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/templates/owasp_top10_2021.json +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/templates/pci_dss_4.0.json +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/templates/ptes_standard.json +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/templates/red_team.json +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/templates/soc2_type2.json +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/templates/webapp_advanced.json +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/wordlists/README.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/wordlists/all_users.txt +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/wordlists/api_endpoints.txt +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/wordlists/default_credentials.txt +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/wordlists/macos_users.txt +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/wordlists/router_passwords.txt +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/wordlists/router_users.txt +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/wordlists/soul_pass.txt +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/wordlists/soul_users.txt +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/wordlists/subdomains_common.txt +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/wordlists/top100.txt +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/wordlists/top20_quick.txt +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/wordlists/vnc_passwords.txt +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/wordlists/web_dirs_common.txt +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/wordlists/web_extensions.txt +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/data/wordlists/web_files_common.txt +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/detection/__init__.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/detection/attack_signatures.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/detection/mitre_mappings.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/detection/validator.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/devtools.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/api-reference/cli-commands.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/api-reference/engagement-api.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/api-reference/integration-guide.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/api-reference/parser-formats.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/architecture/decisions/000-template.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/architecture/decisions/001-local-llm-over-cloud.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/architecture/decisions/002-master-password-approach.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/architecture/decisions/003-database-schema-design.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/architecture/overview.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/database/MIGRATIONS.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/database/SCHEMA.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/database/SCHEMA_ERD.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/developer-guide/test_coverage_plan.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/developer-guide/ui-design-system.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/images/README.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/security/best-practices.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/security/credential-encryption.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/security/password-protected-commands.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/security/secure-defaults.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/security/threat-model.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/user-guide/ai-integration.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/user-guide/attack-surface.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/user-guide/auto-chaining.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/user-guide/configuration.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/user-guide/deliverables-screenshots.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/user-guide/dependencies.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/user-guide/evidence-vault.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/user-guide/exploit-suggestions.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/user-guide/getting-started.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/user-guide/installation.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/user-guide/metasploit-integration.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/user-guide/rbac.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/user-guide/report-generation.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/user-guide/scope-management.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/user-guide/siem-integration.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/user-guide/tools-reference.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/user-guide/troubleshooting.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/user-guide/uninstall.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/user-guide/worker-management.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/docs/user-guide/workflows.md +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/engine/__init__.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/engine/background.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/engine/base.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/engine/job_status.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/engine/loader.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/engine/log_sanitizer.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/engine/manager.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/engine/result_handler.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/engine/worker_manager.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/export/__init__.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/export/evidence_bundle.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/feature_flags/__init__.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/feature_flags/features.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/feature_flags.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/history.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/importers/__init__.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/importers/msf_importer.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/importers/smart_importer.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/integrations/__init__.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/integrations/siem/__init__.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/integrations/siem/base.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/integrations/siem/elastic.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/integrations/siem/factory.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/integrations/siem/googlesecops.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/integrations/siem/rule_mappings/__init__.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/integrations/siem/rule_mappings/wazuh_rules.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/integrations/siem/sentinel.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/integrations/siem/splunk.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/integrations/siem/wazuh.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/integrations/wazuh/__init__.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/integrations/wazuh/client.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/integrations/wazuh/config.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/integrations/wazuh/host_mapper.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/integrations/wazuh/sync.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/intelligence/__init__.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/intelligence/correlation_analyzer.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/intelligence/exploit_knowledge.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/intelligence/exploit_suggestions.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/intelligence/gap_analyzer.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/intelligence/gap_detector.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/intelligence/sensitive_tables.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/intelligence/service_parser.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/intelligence/surface_analyzer.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/intelligence/target_parser.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/licensing/__init__.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/licensing/validator.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/log_config.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/migrations/__init__.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/migrations/fix_job_counter.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/parsers/__init__.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/parsers/bloodhound_parser.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/parsers/crackmapexec_parser.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/parsers/dalfox_parser.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/parsers/dnsrecon_parser.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/parsers/enum4linux_parser.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/parsers/ffuf_parser.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/parsers/gobuster_parser.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/parsers/hashcat_parser.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/parsers/http_fingerprint_parser.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/parsers/hydra_parser.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/parsers/impacket_parser.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/parsers/john_parser.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/parsers/msf_parser.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/parsers/nikto_parser.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/parsers/nmap_parser.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/parsers/nuclei_parser.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/parsers/responder_parser.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/parsers/searchsploit_parser.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/parsers/smbmap_parser.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/parsers/sqlmap_parser.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/parsers/theharvester_parser.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/parsers/whois_parser.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/parsers/wpscan_parser.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/__init__.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/afp.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/afp_brute.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/ard.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/bloodhound.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/crackmapexec.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/dalfox.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/dns_hijack.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/dnsrecon.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/enum4linux.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/ffuf.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/firmware_extract.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/gobuster.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/hashcat.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/http_fingerprint.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/hydra.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/impacket_getnpusers.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/impacket_psexec.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/impacket_secretsdump.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/impacket_smbclient.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/john.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/macos_ssh.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/mdns.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/msf_auxiliary.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/msf_exploit.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/nikto.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/nmap.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/nuclei.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/plugin_base.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/plugin_template.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/responder.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/router_http_brute.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/router_ssh_brute.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/router_telnet_brute.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/routersploit.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/routersploit_exploit.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/searchsploit.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/smbmap.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/sqlmap.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/theharvester.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/tr069.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/upnp.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/upnp_abuse.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/vnc_access.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/vnc_brute.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/whois.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/plugins/wpscan.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/reporting/__init__.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/reporting/attack_chain.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/reporting/charts.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/reporting/compliance_mappings.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/reporting/detection_report.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/reporting/formatters.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/reporting/generator.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/reporting/metrics.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/scanner.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/security/__init__.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/security/scope_validator.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/security/validation.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/security.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/__init__.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/credentials.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/crypto.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/database.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/db.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/deliverable_evidence.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/deliverable_exporter.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/deliverable_templates.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/deliverables.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/engagements.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/evidence.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/execution_log.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/exploit_attempts.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/exploits.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/findings.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/hosts.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/migrate_to_engagements.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/migrations/_001_add_credential_enhancements.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/migrations/_002_add_status_tracking.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/migrations/_003_add_execution_log.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/migrations/_005_screenshots.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/migrations/_006_deliverables.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/migrations/_007_deliverable_templates.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/migrations/_008_add_nuclei_table.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/migrations/_009_add_cme_tables.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/migrations/_010_evidence_linking.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/migrations/_011_timeline_tracking.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/migrations/_012_team_collaboration.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/migrations/_013_add_host_tags.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/migrations/_014_exploit_attempts.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/migrations/_015_add_mac_os_fields.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/migrations/_016_add_domain_field.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/migrations/_017_msf_sessions.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/migrations/_018_add_osint_target.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/migrations/_019_add_engagement_type.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/migrations/_020_add_rbac.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/migrations/_021_wazuh_integration.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/migrations/_022_wazuh_indexer_columns.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/migrations/_023_fix_detection_results_fk.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/migrations/_024_wazuh_vulnerabilities.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/migrations/_025_multi_siem_support.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/migrations/_026_add_engagement_scope.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/migrations/_027_multi_siem_persistence.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/migrations/__init__.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/migrations/migration_manager.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/msf_sessions.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/osint.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/recommendation_engine.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/schema.sql +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/screenshots.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/smb_shares.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/sqlmap_data.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/team_collaboration.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/timeline_tracker.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/wazuh_vulns.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/storage/web_paths.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/testing/__init__.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/testing/credential_tester.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/__init__.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/ai_quotes.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/attack_surface.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/chain_rules_view.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/correlation_view.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/dashboard.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/deliverables_view.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/design_system.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/errors.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/evidence_linking_view.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/evidence_vault.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/exploit_suggestions_view.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/export_view.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/gap_analysis_view.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/help_system.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/intelligence_view.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/interactive_selector.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/log_formatter.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/menu_components.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/msf_auxiliary_menu.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/pending_chains_view.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/progress_indicators.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/recommendations_view.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/rule_builder.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/setup_wizard.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/shortcuts.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/splunk_gap_analysis_view.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/splunk_vulns_view.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/team_dashboard.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/template_selector.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/terminal.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/timeline_view.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/tool_setup.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/tutorial.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/tutorial_state.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/wazuh_vulns_view.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui/wordlist_browser.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/ui.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/utils/__init__.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/utils/tool_checker.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/utils.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez/wordlists.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez.egg-info/SOURCES.txt +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez.egg-info/dependency_links.txt +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez.egg-info/entry_points.txt +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez.egg-info/requires.txt +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/souleyez.egg-info/top_level.txt +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/tests/test_config.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/tests/test_config_enhanced.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/tests/test_crypto.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/tests/test_database_100_final.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/tests/test_engagements.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/tests/test_engagements_simple.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/tests/test_job_status_tracking.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/tests/test_logging.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/tests/test_network_utils.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/tests/test_ollama_service.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/tests/test_plugin_base.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/tests/test_recommender.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/tests/test_result_handler_sqlmap.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/tests/test_schema.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/tests/test_scope_integration.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/tests/test_scope_validator.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/tests/test_security_hardening.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/tests/test_security_validation.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/tests/test_sqlmap_parser.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/tests/test_storage.py +0 -0
- {souleyez-2.43.24 → souleyez-2.43.25}/tests/test_version_utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: souleyez
|
|
3
|
-
Version: 2.43.
|
|
3
|
+
Version: 2.43.25
|
|
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,7 +1,7 @@
|
|
|
1
1
|
# SoulEyez Documentation
|
|
2
2
|
|
|
3
|
-
**Version:** 2.43.
|
|
4
|
-
**Last Updated:** January
|
|
3
|
+
**Version:** 2.43.25
|
|
4
|
+
**Last Updated:** January 13, 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.
|
|
@@ -173,7 +173,7 @@ def _check_privileged_tools():
|
|
|
173
173
|
|
|
174
174
|
|
|
175
175
|
@click.group()
|
|
176
|
-
@click.version_option(version='2.43.
|
|
176
|
+
@click.version_option(version='2.43.25')
|
|
177
177
|
def cli():
|
|
178
178
|
"""SoulEyez - AI-Powered Pentesting Platform by CyberSoul Security"""
|
|
179
179
|
from souleyez.log_config import init_logging
|
|
@@ -7467,6 +7467,113 @@ def view_job_detail(job_id: int):
|
|
|
7467
7467
|
# Silently fail - not critical
|
|
7468
7468
|
pass
|
|
7469
7469
|
|
|
7470
|
+
# =================================================================
|
|
7471
|
+
# GENERIC STATUS HANDLERS (fallbacks for tools without custom handlers)
|
|
7472
|
+
# =================================================================
|
|
7473
|
+
|
|
7474
|
+
# Tools with custom error handlers (don't show generic for these)
|
|
7475
|
+
tools_with_error_handlers = ['gobuster', 'ffuf']
|
|
7476
|
+
|
|
7477
|
+
# Tools with custom warning handlers
|
|
7478
|
+
tools_with_warning_handlers = ['gobuster', 'ffuf']
|
|
7479
|
+
|
|
7480
|
+
# Tools with custom no_results handlers
|
|
7481
|
+
tools_with_no_results_handlers = [
|
|
7482
|
+
'ffuf', 'gobuster', 'sqlmap', 'wpscan', 'dnsrecon', 'nuclei',
|
|
7483
|
+
'theharvester', 'nikto', 'whois', 'crackmapexec', 'smbmap',
|
|
7484
|
+
'enum4linux', 'hydra', 'searchsploit', 'http_fingerprint'
|
|
7485
|
+
]
|
|
7486
|
+
|
|
7487
|
+
current_tool = job.get('tool', '')
|
|
7488
|
+
current_status = job.get('status', '')
|
|
7489
|
+
|
|
7490
|
+
# Generic ERROR handler
|
|
7491
|
+
if current_status == 'error' and current_tool not in tools_with_error_handlers:
|
|
7492
|
+
tool_name = current_tool.upper().replace('_', ' ') if current_tool else 'UNKNOWN'
|
|
7493
|
+
click.echo()
|
|
7494
|
+
click.echo(click.style("=" * 70, fg='red'))
|
|
7495
|
+
click.echo(click.style(f"[ERROR] {tool_name} SCAN FAILED", bold=True, fg='red'))
|
|
7496
|
+
click.echo(click.style("=" * 70, fg='red'))
|
|
7497
|
+
click.echo()
|
|
7498
|
+
|
|
7499
|
+
# Try to extract error message from log
|
|
7500
|
+
error_msg = None
|
|
7501
|
+
if log_path and os.path.exists(log_path):
|
|
7502
|
+
try:
|
|
7503
|
+
with open(log_path, 'r', encoding='utf-8', errors='replace') as f:
|
|
7504
|
+
log_text = f.read()
|
|
7505
|
+
|
|
7506
|
+
if 'Connection refused' in log_text:
|
|
7507
|
+
error_msg = "Connection refused - target may be down or port closed"
|
|
7508
|
+
elif 'timed out' in log_text.lower() or 'timeout' in log_text.lower():
|
|
7509
|
+
error_msg = "Command timed out - target may be slow or unresponsive"
|
|
7510
|
+
elif 'Permission denied' in log_text:
|
|
7511
|
+
error_msg = "Permission denied - may need elevated privileges"
|
|
7512
|
+
elif 'not found' in log_text.lower() and 'command' in log_text.lower():
|
|
7513
|
+
error_msg = "Tool not found - check installation"
|
|
7514
|
+
elif 'ERROR:' in log_text:
|
|
7515
|
+
match = re.search(r'ERROR:\s*(.+?)(?:\n|$)', log_text)
|
|
7516
|
+
if match:
|
|
7517
|
+
error_msg = match.group(1).strip()[:100]
|
|
7518
|
+
except:
|
|
7519
|
+
pass
|
|
7520
|
+
|
|
7521
|
+
if error_msg:
|
|
7522
|
+
click.echo(f" {error_msg}")
|
|
7523
|
+
else:
|
|
7524
|
+
click.echo(" Scan failed - see raw logs for details (press 'r')")
|
|
7525
|
+
|
|
7526
|
+
click.echo()
|
|
7527
|
+
click.echo(click.style("=" * 70, fg='red'))
|
|
7528
|
+
click.echo()
|
|
7529
|
+
|
|
7530
|
+
# Generic WARNING handler
|
|
7531
|
+
elif current_status == 'warning' and current_tool not in tools_with_warning_handlers:
|
|
7532
|
+
tool_name = current_tool.upper().replace('_', ' ') if current_tool else 'UNKNOWN'
|
|
7533
|
+
click.echo()
|
|
7534
|
+
click.echo(click.style("=" * 70, fg='yellow'))
|
|
7535
|
+
click.echo(click.style(f"[WARNING] {tool_name} SCAN COMPLETED WITH ISSUES", bold=True, fg='yellow'))
|
|
7536
|
+
click.echo(click.style("=" * 70, fg='yellow'))
|
|
7537
|
+
click.echo()
|
|
7538
|
+
click.echo(" Scan completed but encountered problems.")
|
|
7539
|
+
click.echo(" Press 'r' to view raw logs for details.")
|
|
7540
|
+
click.echo()
|
|
7541
|
+
click.echo(click.style("=" * 70, fg='yellow'))
|
|
7542
|
+
click.echo()
|
|
7543
|
+
|
|
7544
|
+
# Generic KILLED handler (no tools have custom killed handlers)
|
|
7545
|
+
elif current_status == 'killed':
|
|
7546
|
+
tool_name = current_tool.upper().replace('_', ' ') if current_tool else 'UNKNOWN'
|
|
7547
|
+
click.echo()
|
|
7548
|
+
click.echo(click.style("=" * 70, fg='magenta'))
|
|
7549
|
+
click.echo(click.style(f"[KILLED] {tool_name} SCAN TERMINATED", bold=True, fg='magenta'))
|
|
7550
|
+
click.echo(click.style("=" * 70, fg='magenta'))
|
|
7551
|
+
click.echo()
|
|
7552
|
+
click.echo(" Scan was manually stopped by user.")
|
|
7553
|
+
if log_path and os.path.exists(log_path):
|
|
7554
|
+
click.echo(" Partial results may be available in raw logs (press 'r').")
|
|
7555
|
+
click.echo()
|
|
7556
|
+
click.echo(click.style("=" * 70, fg='magenta'))
|
|
7557
|
+
click.echo()
|
|
7558
|
+
|
|
7559
|
+
# Generic NO_RESULTS handler (for tools without custom handlers)
|
|
7560
|
+
elif current_status == 'no_results' and current_tool not in tools_with_no_results_handlers:
|
|
7561
|
+
tool_name = current_tool.upper().replace('_', ' ') if current_tool else 'UNKNOWN'
|
|
7562
|
+
click.echo()
|
|
7563
|
+
click.echo(click.style("=" * 70, fg='cyan'))
|
|
7564
|
+
click.echo(click.style(f"{tool_name} RESULTS", bold=True, fg='cyan'))
|
|
7565
|
+
click.echo(click.style("=" * 70, fg='cyan'))
|
|
7566
|
+
click.echo()
|
|
7567
|
+
click.echo(" No results found.")
|
|
7568
|
+
click.echo()
|
|
7569
|
+
click.echo(click.style(" This could mean:", fg='bright_black'))
|
|
7570
|
+
click.echo(click.style(" - Target is not vulnerable to this check", fg='bright_black'))
|
|
7571
|
+
click.echo(click.style(" - Service/port is not available", fg='bright_black'))
|
|
7572
|
+
click.echo(click.style(" - Different scan options may yield results", fg='bright_black'))
|
|
7573
|
+
click.echo()
|
|
7574
|
+
click.echo(click.style("=" * 70, fg='cyan'))
|
|
7575
|
+
click.echo()
|
|
7576
|
+
|
|
7470
7577
|
click.echo()
|
|
7471
7578
|
|
|
7472
7579
|
# Actions menu
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: souleyez
|
|
3
|
-
Version: 2.43.
|
|
3
|
+
Version: 2.43.25
|
|
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>
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|