souleyez 2.43.20__tar.gz → 2.43.21__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.20/souleyez.egg-info → souleyez-2.43.21}/PKG-INFO +2 -2
- {souleyez-2.43.20 → souleyez-2.43.21}/README.md +1 -1
- {souleyez-2.43.20 → souleyez-2.43.21}/pyproject.toml +1 -1
- souleyez-2.43.21/souleyez/__init__.py +2 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/README.md +1 -1
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/main.py +1 -1
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/interactive.py +105 -1
- {souleyez-2.43.20 → souleyez-2.43.21/souleyez.egg-info}/PKG-INFO +2 -2
- souleyez-2.43.20/souleyez/__init__.py +0 -2
- {souleyez-2.43.20 → souleyez-2.43.21}/LICENSE +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/MANIFEST.in +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/setup.cfg +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ai/__init__.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ai/action_mapper.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ai/chain_advisor.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ai/claude_provider.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ai/context_builder.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ai/executor.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ai/feedback_handler.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ai/llm_factory.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ai/llm_provider.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ai/ollama_provider.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ai/ollama_service.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ai/path_scorer.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ai/recommender.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ai/report_context.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ai/report_prompts.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ai/report_service.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ai/result_parser.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ai/safety.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/assets/__init__.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/assets/souleyez-icon.png +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/auth/__init__.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/auth/audit.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/auth/engagement_access.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/auth/permissions.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/auth/session_manager.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/auth/user_manager.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/commands/__init__.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/commands/audit.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/commands/auth.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/commands/deliverables.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/commands/engagement.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/commands/license.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/commands/screenshots.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/commands/user.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/config.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/core/__init__.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/core/credential_tester.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/core/cve_mappings.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/core/cve_matcher.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/core/msf_auto_mapper.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/core/msf_chain_engine.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/core/msf_database.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/core/msf_integration.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/core/msf_rpc_client.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/core/msf_rpc_manager.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/core/msf_sync_manager.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/core/network_utils.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/core/parser_handler.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/core/pending_chains.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/core/templates.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/core/tool_chaining.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/core/version_utils.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/core/vuln_correlation.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/core/web_utils.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/templates/README.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/templates/active_directory.json +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/templates/cis_controls_v8.json +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/templates/cloud_security.json +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/templates/cmmc_2.0.json +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/templates/external_network.json +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/templates/ffiec_cat.json +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/templates/gdpr_article32.json +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/templates/glba_safeguards.json +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/templates/hipaa_security.json +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/templates/hitrust_csf.json +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/templates/internal_network.json +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/templates/iso27001.json +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/templates/nerc_cip.json +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/templates/nist_csf.json +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/templates/owasp_top10_2021.json +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/templates/pci_dss_4.0.json +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/templates/ptes_standard.json +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/templates/red_team.json +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/templates/soc2_type2.json +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/templates/webapp_advanced.json +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/wordlists/README.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/wordlists/all_users.txt +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/wordlists/api_endpoints.txt +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/wordlists/default_credentials.txt +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/wordlists/macos_users.txt +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/wordlists/router_passwords.txt +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/wordlists/router_users.txt +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/wordlists/soul_pass.txt +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/wordlists/soul_users.txt +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/wordlists/subdomains_common.txt +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/wordlists/top100.txt +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/wordlists/top20_quick.txt +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/wordlists/vnc_passwords.txt +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/wordlists/web_dirs_common.txt +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/wordlists/web_extensions.txt +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/data/wordlists/web_files_common.txt +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/detection/__init__.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/detection/attack_signatures.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/detection/mitre_mappings.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/detection/validator.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/devtools.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/api-reference/cli-commands.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/api-reference/engagement-api.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/api-reference/integration-guide.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/api-reference/parser-formats.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/architecture/decisions/000-template.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/architecture/decisions/001-local-llm-over-cloud.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/architecture/decisions/002-master-password-approach.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/architecture/decisions/003-database-schema-design.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/architecture/overview.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/database/MIGRATIONS.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/database/SCHEMA.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/database/SCHEMA_ERD.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/developer-guide/test_coverage_plan.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/developer-guide/ui-design-system.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/images/README.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/security/best-practices.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/security/credential-encryption.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/security/password-protected-commands.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/security/secure-defaults.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/security/threat-model.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/user-guide/ai-integration.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/user-guide/attack-surface.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/user-guide/auto-chaining.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/user-guide/configuration.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/user-guide/deliverables-screenshots.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/user-guide/dependencies.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/user-guide/evidence-vault.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/user-guide/exploit-suggestions.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/user-guide/getting-started.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/user-guide/installation.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/user-guide/metasploit-integration.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/user-guide/rbac.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/user-guide/report-generation.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/user-guide/scope-management.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/user-guide/siem-integration.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/user-guide/tools-reference.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/user-guide/troubleshooting.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/user-guide/uninstall.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/user-guide/worker-management.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/docs/user-guide/workflows.md +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/engine/__init__.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/engine/background.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/engine/base.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/engine/job_status.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/engine/loader.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/engine/log_sanitizer.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/engine/manager.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/engine/result_handler.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/engine/worker_manager.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/export/__init__.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/export/evidence_bundle.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/feature_flags/__init__.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/feature_flags/features.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/feature_flags.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/history.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/importers/__init__.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/importers/msf_importer.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/importers/smart_importer.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/integrations/__init__.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/integrations/siem/__init__.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/integrations/siem/base.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/integrations/siem/elastic.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/integrations/siem/factory.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/integrations/siem/googlesecops.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/integrations/siem/rule_mappings/__init__.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/integrations/siem/rule_mappings/wazuh_rules.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/integrations/siem/sentinel.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/integrations/siem/splunk.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/integrations/siem/wazuh.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/integrations/wazuh/__init__.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/integrations/wazuh/client.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/integrations/wazuh/config.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/integrations/wazuh/host_mapper.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/integrations/wazuh/sync.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/intelligence/__init__.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/intelligence/correlation_analyzer.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/intelligence/exploit_knowledge.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/intelligence/exploit_suggestions.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/intelligence/gap_analyzer.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/intelligence/gap_detector.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/intelligence/sensitive_tables.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/intelligence/service_parser.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/intelligence/surface_analyzer.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/intelligence/target_parser.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/licensing/__init__.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/licensing/validator.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/log_config.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/migrations/__init__.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/migrations/fix_job_counter.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/parsers/__init__.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/parsers/bloodhound_parser.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/parsers/crackmapexec_parser.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/parsers/dalfox_parser.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/parsers/dnsrecon_parser.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/parsers/enum4linux_parser.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/parsers/ffuf_parser.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/parsers/gobuster_parser.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/parsers/hashcat_parser.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/parsers/http_fingerprint_parser.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/parsers/hydra_parser.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/parsers/impacket_parser.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/parsers/john_parser.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/parsers/msf_parser.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/parsers/nikto_parser.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/parsers/nmap_parser.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/parsers/nuclei_parser.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/parsers/responder_parser.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/parsers/searchsploit_parser.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/parsers/smbmap_parser.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/parsers/sqlmap_parser.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/parsers/theharvester_parser.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/parsers/whois_parser.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/parsers/wpscan_parser.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/__init__.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/afp.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/afp_brute.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/ard.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/bloodhound.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/crackmapexec.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/dalfox.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/dns_hijack.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/dnsrecon.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/enum4linux.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/ffuf.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/firmware_extract.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/gobuster.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/hashcat.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/http_fingerprint.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/hydra.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/impacket_getnpusers.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/impacket_psexec.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/impacket_secretsdump.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/impacket_smbclient.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/john.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/macos_ssh.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/mdns.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/msf_auxiliary.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/msf_exploit.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/nikto.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/nmap.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/nuclei.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/plugin_base.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/plugin_template.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/responder.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/router_http_brute.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/router_ssh_brute.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/router_telnet_brute.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/routersploit.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/routersploit_exploit.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/searchsploit.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/smbmap.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/sqlmap.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/theharvester.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/tr069.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/upnp.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/upnp_abuse.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/vnc_access.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/vnc_brute.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/whois.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/plugins/wpscan.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/reporting/__init__.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/reporting/attack_chain.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/reporting/charts.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/reporting/compliance_mappings.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/reporting/detection_report.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/reporting/formatters.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/reporting/generator.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/reporting/metrics.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/scanner.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/security/__init__.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/security/scope_validator.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/security/validation.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/security.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/__init__.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/credentials.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/crypto.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/database.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/db.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/deliverable_evidence.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/deliverable_exporter.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/deliverable_templates.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/deliverables.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/engagements.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/evidence.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/execution_log.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/exploit_attempts.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/exploits.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/findings.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/hosts.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/migrate_to_engagements.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/migrations/_001_add_credential_enhancements.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/migrations/_002_add_status_tracking.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/migrations/_003_add_execution_log.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/migrations/_005_screenshots.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/migrations/_006_deliverables.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/migrations/_007_deliverable_templates.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/migrations/_008_add_nuclei_table.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/migrations/_009_add_cme_tables.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/migrations/_010_evidence_linking.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/migrations/_011_timeline_tracking.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/migrations/_012_team_collaboration.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/migrations/_013_add_host_tags.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/migrations/_014_exploit_attempts.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/migrations/_015_add_mac_os_fields.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/migrations/_016_add_domain_field.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/migrations/_017_msf_sessions.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/migrations/_018_add_osint_target.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/migrations/_019_add_engagement_type.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/migrations/_020_add_rbac.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/migrations/_021_wazuh_integration.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/migrations/_022_wazuh_indexer_columns.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/migrations/_023_fix_detection_results_fk.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/migrations/_024_wazuh_vulnerabilities.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/migrations/_025_multi_siem_support.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/migrations/_026_add_engagement_scope.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/migrations/_027_multi_siem_persistence.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/migrations/__init__.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/migrations/migration_manager.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/msf_sessions.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/osint.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/recommendation_engine.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/schema.sql +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/screenshots.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/smb_shares.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/sqlmap_data.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/team_collaboration.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/timeline_tracker.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/wazuh_vulns.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/storage/web_paths.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/testing/__init__.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/testing/credential_tester.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/__init__.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/ai_quotes.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/attack_surface.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/chain_rules_view.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/correlation_view.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/dashboard.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/deliverables_view.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/design_system.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/errors.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/evidence_linking_view.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/evidence_vault.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/exploit_suggestions_view.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/export_view.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/gap_analysis_view.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/help_system.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/intelligence_view.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/interactive_selector.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/log_formatter.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/menu_components.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/msf_auxiliary_menu.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/pending_chains_view.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/progress_indicators.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/recommendations_view.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/rule_builder.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/setup_wizard.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/shortcuts.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/splunk_gap_analysis_view.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/splunk_vulns_view.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/team_dashboard.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/template_selector.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/terminal.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/timeline_view.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/tool_setup.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/tutorial.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/tutorial_state.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/wazuh_vulns_view.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui/wordlist_browser.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/ui.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/utils/__init__.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/utils/tool_checker.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/utils.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez/wordlists.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez.egg-info/SOURCES.txt +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez.egg-info/dependency_links.txt +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez.egg-info/entry_points.txt +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez.egg-info/requires.txt +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/souleyez.egg-info/top_level.txt +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/tests/test_config.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/tests/test_config_enhanced.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/tests/test_crypto.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/tests/test_database_100_final.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/tests/test_engagements.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/tests/test_engagements_simple.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/tests/test_job_status_tracking.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/tests/test_logging.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/tests/test_network_utils.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/tests/test_ollama_service.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/tests/test_plugin_base.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/tests/test_recommender.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/tests/test_result_handler_sqlmap.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/tests/test_schema.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/tests/test_scope_integration.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/tests/test_scope_validator.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/tests/test_security_hardening.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/tests/test_security_validation.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/tests/test_sqlmap_parser.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/tests/test_storage.py +0 -0
- {souleyez-2.43.20 → souleyez-2.43.21}/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.21
|
|
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.21 | **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.21')
|
|
177
177
|
def cli():
|
|
178
178
|
"""SoulEyez - AI-Powered Pentesting Platform by CyberSoul Security"""
|
|
179
179
|
from souleyez.log_config import init_logging
|
|
@@ -5487,7 +5487,7 @@ def view_job_detail(job_id: int):
|
|
|
5487
5487
|
|
|
5488
5488
|
# Check if tool has a parser - if yes, hide raw logs by default
|
|
5489
5489
|
tool = job.get('tool', '')
|
|
5490
|
-
has_parser = tool in ['dnsrecon', 'nmap', 'ard', 'nuclei', 'nikto', 'dalfox', 'theharvester', 'sqlmap', 'ffuf', 'gobuster', 'wpscan', 'crackmapexec', 'hydra', 'whois', 'smbmap', 'enum4linux', 'msf_auxiliary', 'searchsploit']
|
|
5490
|
+
has_parser = tool in ['dnsrecon', 'nmap', 'ard', 'nuclei', 'nikto', 'dalfox', 'theharvester', 'sqlmap', 'ffuf', 'gobuster', 'wpscan', 'crackmapexec', 'hydra', 'whois', 'smbmap', 'enum4linux', 'msf_auxiliary', 'searchsploit', 'http_fingerprint']
|
|
5491
5491
|
|
|
5492
5492
|
# Show log file if exists
|
|
5493
5493
|
log_path = job.get('log')
|
|
@@ -7177,6 +7177,110 @@ def view_job_detail(job_id: int):
|
|
|
7177
7177
|
# Silently fail - not critical
|
|
7178
7178
|
pass
|
|
7179
7179
|
|
|
7180
|
+
# Parse and display http_fingerprint results if available (only when not showing raw logs)
|
|
7181
|
+
if not show_raw_logs and job.get('tool') == 'http_fingerprint' and job.get('status') in ['done', 'completed', 'no_results'] and log_path and os.path.exists(log_path):
|
|
7182
|
+
try:
|
|
7183
|
+
with open(log_path, 'r', encoding='utf-8', errors='replace') as f:
|
|
7184
|
+
log_content = f.read()
|
|
7185
|
+
|
|
7186
|
+
# Extract JSON result from log
|
|
7187
|
+
import json
|
|
7188
|
+
import re
|
|
7189
|
+
json_match = re.search(r'=== JSON_RESULT ===\s*(\{.*?\})\s*=== END_JSON_RESULT ===', log_content, re.DOTALL)
|
|
7190
|
+
|
|
7191
|
+
if json_match:
|
|
7192
|
+
result = json.loads(json_match.group(1))
|
|
7193
|
+
|
|
7194
|
+
click.echo(click.style("=" * 70, fg='cyan'))
|
|
7195
|
+
click.echo(click.style("HTTP FINGERPRINT RESULTS", bold=True, fg='cyan'))
|
|
7196
|
+
click.echo(click.style("=" * 70, fg='cyan'))
|
|
7197
|
+
click.echo()
|
|
7198
|
+
|
|
7199
|
+
# Status and redirects
|
|
7200
|
+
status_code = result.get('status_code')
|
|
7201
|
+
redirect_url = result.get('redirect_url')
|
|
7202
|
+
if status_code:
|
|
7203
|
+
click.echo(f" HTTP Status: {status_code}")
|
|
7204
|
+
if redirect_url:
|
|
7205
|
+
click.echo(f" Redirects to: {redirect_url}")
|
|
7206
|
+
|
|
7207
|
+
# Server info
|
|
7208
|
+
server = result.get('server')
|
|
7209
|
+
server_version = result.get('server_version')
|
|
7210
|
+
if server:
|
|
7211
|
+
server_str = f"{server} {server_version}" if server_version else server
|
|
7212
|
+
click.echo(f" Server: {server_str}")
|
|
7213
|
+
|
|
7214
|
+
# Security detections - WAF (red, important)
|
|
7215
|
+
waf = result.get('waf', [])
|
|
7216
|
+
if waf:
|
|
7217
|
+
click.echo()
|
|
7218
|
+
click.echo(click.style(f" ⚠️ WAF Detected: {', '.join(waf)}", fg='red', bold=True))
|
|
7219
|
+
|
|
7220
|
+
# Managed hosting (yellow)
|
|
7221
|
+
managed_hosting = result.get('managed_hosting')
|
|
7222
|
+
if managed_hosting:
|
|
7223
|
+
click.echo(click.style(f" Managed Hosting: {managed_hosting}", fg='yellow'))
|
|
7224
|
+
|
|
7225
|
+
# CDN
|
|
7226
|
+
cdn = result.get('cdn', [])
|
|
7227
|
+
if cdn:
|
|
7228
|
+
click.echo(f" CDN: {', '.join(cdn)}")
|
|
7229
|
+
|
|
7230
|
+
# Technologies
|
|
7231
|
+
technologies = result.get('technologies', [])
|
|
7232
|
+
if technologies:
|
|
7233
|
+
click.echo(f" Technologies: {', '.join(technologies)}")
|
|
7234
|
+
|
|
7235
|
+
# TLS info
|
|
7236
|
+
tls = result.get('tls')
|
|
7237
|
+
if tls:
|
|
7238
|
+
click.echo()
|
|
7239
|
+
click.echo(click.style(" TLS Certificate:", bold=True))
|
|
7240
|
+
if tls.get('issuer'):
|
|
7241
|
+
click.echo(f" Issuer: {tls['issuer']}")
|
|
7242
|
+
if tls.get('subject'):
|
|
7243
|
+
click.echo(f" Subject: {tls['subject']}")
|
|
7244
|
+
if tls.get('not_after'):
|
|
7245
|
+
click.echo(f" Expires: {tls['not_after']}")
|
|
7246
|
+
|
|
7247
|
+
# Cookies
|
|
7248
|
+
cookies = result.get('cookies', [])
|
|
7249
|
+
if cookies:
|
|
7250
|
+
click.echo()
|
|
7251
|
+
click.echo(click.style(f" Cookies ({len(cookies)}):", bold=True))
|
|
7252
|
+
for cookie in cookies[:5]:
|
|
7253
|
+
# Truncate long cookies
|
|
7254
|
+
cookie_display = cookie[:60] + '...' if len(cookie) > 60 else cookie
|
|
7255
|
+
click.echo(f" • {cookie_display}")
|
|
7256
|
+
if len(cookies) > 5:
|
|
7257
|
+
click.echo(f" ... and {len(cookies) - 5} more")
|
|
7258
|
+
|
|
7259
|
+
# Security headers summary
|
|
7260
|
+
headers = result.get('headers', {})
|
|
7261
|
+
security_headers = []
|
|
7262
|
+
if headers.get('Strict-Transport-Security'):
|
|
7263
|
+
security_headers.append('HSTS')
|
|
7264
|
+
if headers.get('Content-Security-Policy'):
|
|
7265
|
+
security_headers.append('CSP')
|
|
7266
|
+
if headers.get('X-Frame-Options'):
|
|
7267
|
+
security_headers.append('X-Frame-Options')
|
|
7268
|
+
if headers.get('X-Content-Type-Options'):
|
|
7269
|
+
security_headers.append('X-Content-Type-Options')
|
|
7270
|
+
if headers.get('Referrer-Policy'):
|
|
7271
|
+
security_headers.append('Referrer-Policy')
|
|
7272
|
+
|
|
7273
|
+
if security_headers:
|
|
7274
|
+
click.echo()
|
|
7275
|
+
click.echo(click.style(f" Security Headers: {', '.join(security_headers)}", fg='green'))
|
|
7276
|
+
|
|
7277
|
+
click.echo()
|
|
7278
|
+
click.echo(click.style("=" * 70, fg='cyan'))
|
|
7279
|
+
|
|
7280
|
+
except Exception as e:
|
|
7281
|
+
# Silently fail - not critical
|
|
7282
|
+
pass
|
|
7283
|
+
|
|
7180
7284
|
click.echo()
|
|
7181
7285
|
|
|
7182
7286
|
# Actions menu
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: souleyez
|
|
3
|
-
Version: 2.43.
|
|
3
|
+
Version: 2.43.21
|
|
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.21 | **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
|
|
File without changes
|