souleyez 2.43.16__tar.gz → 2.43.20__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.16/souleyez.egg-info → souleyez-2.43.20}/PKG-INFO +2 -2
- {souleyez-2.43.16 → souleyez-2.43.20}/README.md +1 -1
- {souleyez-2.43.16 → souleyez-2.43.20}/pyproject.toml +1 -1
- souleyez-2.43.20/souleyez/__init__.py +2 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/README.md +1 -1
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/main.py +1 -1
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/dashboard.py +27 -2
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/interactive.py +46 -8
- {souleyez-2.43.16 → souleyez-2.43.20/souleyez.egg-info}/PKG-INFO +2 -2
- souleyez-2.43.16/souleyez/__init__.py +0 -2
- {souleyez-2.43.16 → souleyez-2.43.20}/LICENSE +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/MANIFEST.in +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/setup.cfg +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ai/__init__.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ai/action_mapper.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ai/chain_advisor.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ai/claude_provider.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ai/context_builder.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ai/executor.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ai/feedback_handler.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ai/llm_factory.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ai/llm_provider.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ai/ollama_provider.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ai/ollama_service.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ai/path_scorer.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ai/recommender.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ai/report_context.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ai/report_prompts.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ai/report_service.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ai/result_parser.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ai/safety.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/assets/__init__.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/assets/souleyez-icon.png +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/auth/__init__.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/auth/audit.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/auth/engagement_access.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/auth/permissions.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/auth/session_manager.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/auth/user_manager.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/commands/__init__.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/commands/audit.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/commands/auth.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/commands/deliverables.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/commands/engagement.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/commands/license.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/commands/screenshots.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/commands/user.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/config.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/core/__init__.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/core/credential_tester.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/core/cve_mappings.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/core/cve_matcher.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/core/msf_auto_mapper.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/core/msf_chain_engine.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/core/msf_database.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/core/msf_integration.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/core/msf_rpc_client.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/core/msf_rpc_manager.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/core/msf_sync_manager.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/core/network_utils.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/core/parser_handler.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/core/pending_chains.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/core/templates.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/core/tool_chaining.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/core/version_utils.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/core/vuln_correlation.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/core/web_utils.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/templates/README.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/templates/active_directory.json +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/templates/cis_controls_v8.json +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/templates/cloud_security.json +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/templates/cmmc_2.0.json +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/templates/external_network.json +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/templates/ffiec_cat.json +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/templates/gdpr_article32.json +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/templates/glba_safeguards.json +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/templates/hipaa_security.json +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/templates/hitrust_csf.json +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/templates/internal_network.json +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/templates/iso27001.json +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/templates/nerc_cip.json +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/templates/nist_csf.json +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/templates/owasp_top10_2021.json +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/templates/pci_dss_4.0.json +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/templates/ptes_standard.json +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/templates/red_team.json +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/templates/soc2_type2.json +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/templates/webapp_advanced.json +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/wordlists/README.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/wordlists/all_users.txt +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/wordlists/api_endpoints.txt +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/wordlists/default_credentials.txt +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/wordlists/macos_users.txt +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/wordlists/router_passwords.txt +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/wordlists/router_users.txt +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/wordlists/soul_pass.txt +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/wordlists/soul_users.txt +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/wordlists/subdomains_common.txt +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/wordlists/top100.txt +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/wordlists/top20_quick.txt +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/wordlists/vnc_passwords.txt +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/wordlists/web_dirs_common.txt +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/wordlists/web_extensions.txt +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/data/wordlists/web_files_common.txt +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/detection/__init__.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/detection/attack_signatures.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/detection/mitre_mappings.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/detection/validator.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/devtools.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/api-reference/cli-commands.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/api-reference/engagement-api.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/api-reference/integration-guide.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/api-reference/parser-formats.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/architecture/decisions/000-template.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/architecture/decisions/001-local-llm-over-cloud.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/architecture/decisions/002-master-password-approach.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/architecture/decisions/003-database-schema-design.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/architecture/overview.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/database/MIGRATIONS.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/database/SCHEMA.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/database/SCHEMA_ERD.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/developer-guide/test_coverage_plan.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/developer-guide/ui-design-system.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/images/README.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/security/best-practices.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/security/credential-encryption.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/security/password-protected-commands.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/security/secure-defaults.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/security/threat-model.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/user-guide/ai-integration.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/user-guide/attack-surface.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/user-guide/auto-chaining.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/user-guide/configuration.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/user-guide/deliverables-screenshots.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/user-guide/dependencies.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/user-guide/evidence-vault.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/user-guide/exploit-suggestions.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/user-guide/getting-started.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/user-guide/installation.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/user-guide/metasploit-integration.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/user-guide/rbac.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/user-guide/report-generation.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/user-guide/scope-management.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/user-guide/siem-integration.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/user-guide/tools-reference.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/user-guide/troubleshooting.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/user-guide/uninstall.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/user-guide/worker-management.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/docs/user-guide/workflows.md +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/engine/__init__.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/engine/background.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/engine/base.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/engine/job_status.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/engine/loader.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/engine/log_sanitizer.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/engine/manager.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/engine/result_handler.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/engine/worker_manager.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/export/__init__.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/export/evidence_bundle.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/feature_flags/__init__.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/feature_flags/features.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/feature_flags.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/history.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/importers/__init__.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/importers/msf_importer.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/importers/smart_importer.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/integrations/__init__.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/integrations/siem/__init__.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/integrations/siem/base.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/integrations/siem/elastic.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/integrations/siem/factory.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/integrations/siem/googlesecops.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/integrations/siem/rule_mappings/__init__.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/integrations/siem/rule_mappings/wazuh_rules.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/integrations/siem/sentinel.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/integrations/siem/splunk.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/integrations/siem/wazuh.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/integrations/wazuh/__init__.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/integrations/wazuh/client.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/integrations/wazuh/config.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/integrations/wazuh/host_mapper.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/integrations/wazuh/sync.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/intelligence/__init__.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/intelligence/correlation_analyzer.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/intelligence/exploit_knowledge.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/intelligence/exploit_suggestions.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/intelligence/gap_analyzer.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/intelligence/gap_detector.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/intelligence/sensitive_tables.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/intelligence/service_parser.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/intelligence/surface_analyzer.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/intelligence/target_parser.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/licensing/__init__.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/licensing/validator.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/log_config.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/migrations/__init__.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/migrations/fix_job_counter.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/parsers/__init__.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/parsers/bloodhound_parser.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/parsers/crackmapexec_parser.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/parsers/dalfox_parser.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/parsers/dnsrecon_parser.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/parsers/enum4linux_parser.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/parsers/ffuf_parser.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/parsers/gobuster_parser.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/parsers/hashcat_parser.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/parsers/http_fingerprint_parser.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/parsers/hydra_parser.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/parsers/impacket_parser.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/parsers/john_parser.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/parsers/msf_parser.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/parsers/nikto_parser.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/parsers/nmap_parser.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/parsers/nuclei_parser.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/parsers/responder_parser.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/parsers/searchsploit_parser.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/parsers/smbmap_parser.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/parsers/sqlmap_parser.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/parsers/theharvester_parser.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/parsers/whois_parser.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/parsers/wpscan_parser.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/__init__.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/afp.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/afp_brute.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/ard.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/bloodhound.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/crackmapexec.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/dalfox.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/dns_hijack.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/dnsrecon.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/enum4linux.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/ffuf.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/firmware_extract.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/gobuster.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/hashcat.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/http_fingerprint.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/hydra.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/impacket_getnpusers.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/impacket_psexec.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/impacket_secretsdump.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/impacket_smbclient.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/john.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/macos_ssh.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/mdns.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/msf_auxiliary.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/msf_exploit.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/nikto.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/nmap.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/nuclei.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/plugin_base.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/plugin_template.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/responder.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/router_http_brute.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/router_ssh_brute.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/router_telnet_brute.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/routersploit.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/routersploit_exploit.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/searchsploit.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/smbmap.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/sqlmap.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/theharvester.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/tr069.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/upnp.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/upnp_abuse.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/vnc_access.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/vnc_brute.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/whois.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/plugins/wpscan.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/reporting/__init__.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/reporting/attack_chain.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/reporting/charts.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/reporting/compliance_mappings.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/reporting/detection_report.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/reporting/formatters.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/reporting/generator.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/reporting/metrics.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/scanner.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/security/__init__.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/security/scope_validator.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/security/validation.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/security.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/__init__.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/credentials.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/crypto.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/database.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/db.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/deliverable_evidence.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/deliverable_exporter.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/deliverable_templates.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/deliverables.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/engagements.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/evidence.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/execution_log.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/exploit_attempts.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/exploits.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/findings.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/hosts.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/migrate_to_engagements.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/migrations/_001_add_credential_enhancements.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/migrations/_002_add_status_tracking.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/migrations/_003_add_execution_log.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/migrations/_005_screenshots.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/migrations/_006_deliverables.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/migrations/_007_deliverable_templates.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/migrations/_008_add_nuclei_table.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/migrations/_009_add_cme_tables.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/migrations/_010_evidence_linking.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/migrations/_011_timeline_tracking.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/migrations/_012_team_collaboration.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/migrations/_013_add_host_tags.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/migrations/_014_exploit_attempts.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/migrations/_015_add_mac_os_fields.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/migrations/_016_add_domain_field.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/migrations/_017_msf_sessions.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/migrations/_018_add_osint_target.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/migrations/_019_add_engagement_type.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/migrations/_020_add_rbac.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/migrations/_021_wazuh_integration.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/migrations/_022_wazuh_indexer_columns.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/migrations/_023_fix_detection_results_fk.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/migrations/_024_wazuh_vulnerabilities.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/migrations/_025_multi_siem_support.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/migrations/_026_add_engagement_scope.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/migrations/_027_multi_siem_persistence.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/migrations/__init__.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/migrations/migration_manager.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/msf_sessions.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/osint.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/recommendation_engine.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/schema.sql +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/screenshots.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/smb_shares.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/sqlmap_data.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/team_collaboration.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/timeline_tracker.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/wazuh_vulns.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/storage/web_paths.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/testing/__init__.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/testing/credential_tester.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/__init__.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/ai_quotes.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/attack_surface.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/chain_rules_view.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/correlation_view.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/deliverables_view.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/design_system.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/errors.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/evidence_linking_view.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/evidence_vault.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/exploit_suggestions_view.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/export_view.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/gap_analysis_view.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/help_system.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/intelligence_view.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/interactive_selector.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/log_formatter.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/menu_components.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/msf_auxiliary_menu.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/pending_chains_view.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/progress_indicators.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/recommendations_view.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/rule_builder.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/setup_wizard.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/shortcuts.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/splunk_gap_analysis_view.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/splunk_vulns_view.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/team_dashboard.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/template_selector.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/terminal.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/timeline_view.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/tool_setup.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/tutorial.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/tutorial_state.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/wazuh_vulns_view.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui/wordlist_browser.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/ui.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/utils/__init__.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/utils/tool_checker.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/utils.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez/wordlists.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez.egg-info/SOURCES.txt +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez.egg-info/dependency_links.txt +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez.egg-info/entry_points.txt +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez.egg-info/requires.txt +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/souleyez.egg-info/top_level.txt +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/tests/test_config.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/tests/test_config_enhanced.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/tests/test_crypto.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/tests/test_database_100_final.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/tests/test_engagements.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/tests/test_engagements_simple.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/tests/test_job_status_tracking.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/tests/test_logging.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/tests/test_network_utils.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/tests/test_ollama_service.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/tests/test_plugin_base.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/tests/test_recommender.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/tests/test_result_handler_sqlmap.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/tests/test_schema.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/tests/test_scope_integration.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/tests/test_scope_validator.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/tests/test_security_hardening.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/tests/test_security_validation.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/tests/test_sqlmap_parser.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/tests/test_storage.py +0 -0
- {souleyez-2.43.16 → souleyez-2.43.20}/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.20
|
|
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>
|
|
@@ -266,4 +266,4 @@ See [LICENSE](LICENSE) for details.
|
|
|
266
266
|
|
|
267
267
|
---
|
|
268
268
|
|
|
269
|
-
**Version**: 2.43.
|
|
269
|
+
**Version**: 2.43.20 | **Maintainer**: [CyberSoul Security](https://www.cybersoulsecurity.com)
|
|
@@ -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.20')
|
|
177
177
|
def cli():
|
|
178
178
|
"""SoulEyez - AI-Powered Pentesting Platform by CyberSoul Security"""
|
|
179
179
|
from souleyez.log_config import init_logging
|
|
@@ -2358,6 +2358,31 @@ def render_live_log(job_id: Optional[int], width: int, height: int):
|
|
|
2358
2358
|
find_word = "finding" if findings_added == 1 else "findings"
|
|
2359
2359
|
lines.append(click.style(f" • {findings_added} security {find_word} detected", fg='red', bold=True))
|
|
2360
2360
|
|
|
2361
|
+
elif tool == 'http_fingerprint':
|
|
2362
|
+
# Show fingerprint summary
|
|
2363
|
+
server = result.get('server')
|
|
2364
|
+
managed_hosting = result.get('managed_hosting')
|
|
2365
|
+
waf = result.get('waf', [])
|
|
2366
|
+
cdn = result.get('cdn', [])
|
|
2367
|
+
technologies = result.get('technologies', [])
|
|
2368
|
+
redirect_url = result.get('redirect_url')
|
|
2369
|
+
status_code = result.get('status_code')
|
|
2370
|
+
|
|
2371
|
+
if status_code:
|
|
2372
|
+
lines.append(f" • HTTP Status: {status_code}")
|
|
2373
|
+
if redirect_url:
|
|
2374
|
+
lines.append(f" • Redirects to: {redirect_url}")
|
|
2375
|
+
if server:
|
|
2376
|
+
lines.append(f" • Server: {server}")
|
|
2377
|
+
if managed_hosting:
|
|
2378
|
+
lines.append(click.style(f" • Managed Hosting: {managed_hosting}", fg='yellow'))
|
|
2379
|
+
if waf:
|
|
2380
|
+
lines.append(click.style(f" • WAF Detected: {', '.join(waf)}", fg='red', bold=True))
|
|
2381
|
+
if cdn:
|
|
2382
|
+
lines.append(f" • CDN: {', '.join(cdn)}")
|
|
2383
|
+
if technologies:
|
|
2384
|
+
lines.append(f" • Technologies: {', '.join(technologies[:5])}")
|
|
2385
|
+
|
|
2361
2386
|
else:
|
|
2362
2387
|
# Generic result display
|
|
2363
2388
|
for key, value in result.items():
|
|
@@ -3360,7 +3385,7 @@ def _show_dashboard_menu(engagement_id: int) -> str:
|
|
|
3360
3385
|
click.echo(" " + "─" * 76)
|
|
3361
3386
|
click.echo(" " + click.style("[h]", fg='cyan', bold=True) + " or " +
|
|
3362
3387
|
click.style("[8]", fg='cyan') + " 🎯 Hosts - Discovered hosts, tags, filtering")
|
|
3363
|
-
click.echo(" " + click.style("[
|
|
3388
|
+
click.echo(" " + click.style("[s]", fg='cyan', bold=True) + " or " +
|
|
3364
3389
|
click.style("[9]", fg='cyan') + " 🔌 Services - Open ports, service enumeration")
|
|
3365
3390
|
click.echo(" " + click.style("[f]", fg='cyan', bold=True) + " or " +
|
|
3366
3391
|
click.style("[10]", fg='cyan') + " 🔍 Findings - All vulnerabilities (detailed view)")
|
|
@@ -3405,7 +3430,7 @@ def _show_dashboard_menu(engagement_id: int) -> str:
|
|
|
3405
3430
|
'r': 'reports', '7': 'reports',
|
|
3406
3431
|
# Data Management (10 items: 8-17)
|
|
3407
3432
|
'h': 'hosts', '8': 'hosts',
|
|
3408
|
-
'
|
|
3433
|
+
's': 'services', '9': 'services',
|
|
3409
3434
|
'f': 'findings', '10': 'findings',
|
|
3410
3435
|
'c': 'credentials', '11': 'credentials',
|
|
3411
3436
|
'b': 'web_paths', '12': 'web_paths',
|
|
@@ -5617,7 +5617,51 @@ def view_job_detail(job_id: int):
|
|
|
5617
5617
|
with open(log_path, 'r', encoding='utf-8', errors='replace') as f:
|
|
5618
5618
|
log_content = f.read()
|
|
5619
5619
|
parsed = parse_gobuster_output(log_content, job.get('target', ''))
|
|
5620
|
-
|
|
5620
|
+
|
|
5621
|
+
# Show warning summary for jobs with warning status
|
|
5622
|
+
if job.get('status') == 'warning':
|
|
5623
|
+
click.echo(click.style("=" * 70, fg='yellow'))
|
|
5624
|
+
click.echo(click.style("⚠️ SCAN WARNING", bold=True, fg='yellow'))
|
|
5625
|
+
click.echo(click.style("=" * 70, fg='yellow'))
|
|
5626
|
+
click.echo()
|
|
5627
|
+
|
|
5628
|
+
# Check for host redirect
|
|
5629
|
+
if 'HOST_REDIRECT_TARGET:' in log_content:
|
|
5630
|
+
import re
|
|
5631
|
+
redirect_match = re.search(r'HOST_REDIRECT_TARGET:\s*(\S+)', log_content)
|
|
5632
|
+
if redirect_match:
|
|
5633
|
+
redirect_target = redirect_match.group(1)
|
|
5634
|
+
click.echo(click.style("Host-Level Redirect Detected", bold=True))
|
|
5635
|
+
click.echo(f" • Original target: {job.get('target', 'unknown')}")
|
|
5636
|
+
click.echo(f" • Redirects to: {redirect_target}")
|
|
5637
|
+
click.echo()
|
|
5638
|
+
click.echo(" The server redirects ALL requests to a different host.")
|
|
5639
|
+
click.echo(" Results are unreliable due to variable redirect response sizes.")
|
|
5640
|
+
click.echo()
|
|
5641
|
+
click.echo(click.style(" → A retry job was auto-queued with the correct target.", fg='green'))
|
|
5642
|
+
click.echo()
|
|
5643
|
+
|
|
5644
|
+
# Check for wildcard response
|
|
5645
|
+
elif 'wildcard' in log_content.lower() or 'the server returns a status code that matches' in log_content.lower():
|
|
5646
|
+
click.echo(click.style("Wildcard Response Detected", bold=True))
|
|
5647
|
+
click.echo(" The server returns the same response for ALL URLs.")
|
|
5648
|
+
click.echo(" Gobuster cannot differentiate real vs fake paths.")
|
|
5649
|
+
click.echo()
|
|
5650
|
+
# Extract exclude length if present
|
|
5651
|
+
import re
|
|
5652
|
+
length_match = re.search(r'Length:\s*(\d+)', log_content)
|
|
5653
|
+
if length_match:
|
|
5654
|
+
click.echo(f" • Response length: {length_match.group(1)} bytes")
|
|
5655
|
+
click.echo()
|
|
5656
|
+
click.echo(click.style(" → A retry job was auto-queued with --exclude-length.", fg='green'))
|
|
5657
|
+
click.echo()
|
|
5658
|
+
|
|
5659
|
+
else:
|
|
5660
|
+
# Generic warning
|
|
5661
|
+
click.echo(" Scan completed with warnings. Check raw logs for details.")
|
|
5662
|
+
click.echo(" Press [r] to view raw logs.")
|
|
5663
|
+
click.echo()
|
|
5664
|
+
|
|
5621
5665
|
paths = parsed.get('paths', [])
|
|
5622
5666
|
if paths:
|
|
5623
5667
|
# Check if status was incorrectly set to no_results
|
|
@@ -19216,13 +19260,7 @@ def _delete_selected_osint(records: list, console):
|
|
|
19216
19260
|
|
|
19217
19261
|
# Show confirmation
|
|
19218
19262
|
click.echo()
|
|
19219
|
-
click.
|
|
19220
|
-
click.echo(" This action cannot be undone!")
|
|
19221
|
-
click.echo()
|
|
19222
|
-
|
|
19223
|
-
confirm = click.prompt(" Type 'DELETE' to confirm", type=str, default='').strip()
|
|
19224
|
-
|
|
19225
|
-
if confirm != 'DELETE':
|
|
19263
|
+
if not click.confirm(f" ⚠️ Delete {len(records)} OSINT record(s)? This cannot be undone!", default=False):
|
|
19226
19264
|
click.echo(click.style(" Cancelled", fg='yellow'))
|
|
19227
19265
|
click.pause()
|
|
19228
19266
|
return
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: souleyez
|
|
3
|
-
Version: 2.43.
|
|
3
|
+
Version: 2.43.20
|
|
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>
|
|
@@ -266,4 +266,4 @@ See [LICENSE](LICENSE) for details.
|
|
|
266
266
|
|
|
267
267
|
---
|
|
268
268
|
|
|
269
|
-
**Version**: 2.43.
|
|
269
|
+
**Version**: 2.43.20 | **Maintainer**: [CyberSoul Security](https://www.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
|