souleyez 2.35.0__tar.gz → 2.36.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (407) hide show
  1. {souleyez-2.35.0 → souleyez-2.36.0}/BETA_README.md +2 -2
  2. {souleyez-2.35.0/souleyez.egg-info → souleyez-2.36.0}/PKG-INFO +3 -3
  3. {souleyez-2.35.0 → souleyez-2.36.0}/pyproject.toml +1 -1
  4. souleyez-2.36.0/souleyez/__init__.py +2 -0
  5. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/core/tool_chaining.py +53 -7
  6. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/README.md +1 -1
  7. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/main.py +1 -1
  8. {souleyez-2.35.0 → souleyez-2.36.0/souleyez.egg-info}/PKG-INFO +3 -3
  9. souleyez-2.35.0/souleyez/__init__.py +0 -2
  10. {souleyez-2.35.0 → souleyez-2.36.0}/LICENSE +0 -0
  11. {souleyez-2.35.0 → souleyez-2.36.0}/MANIFEST.in +0 -0
  12. {souleyez-2.35.0 → souleyez-2.36.0}/README.md +0 -0
  13. {souleyez-2.35.0 → souleyez-2.36.0}/setup.cfg +0 -0
  14. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ai/__init__.py +0 -0
  15. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ai/action_mapper.py +0 -0
  16. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ai/chain_advisor.py +0 -0
  17. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ai/claude_provider.py +0 -0
  18. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ai/context_builder.py +0 -0
  19. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ai/executor.py +0 -0
  20. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ai/feedback_handler.py +0 -0
  21. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ai/llm_factory.py +0 -0
  22. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ai/llm_provider.py +0 -0
  23. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ai/ollama_provider.py +0 -0
  24. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ai/ollama_service.py +0 -0
  25. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ai/path_scorer.py +0 -0
  26. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ai/recommender.py +0 -0
  27. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ai/report_context.py +0 -0
  28. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ai/report_prompts.py +0 -0
  29. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ai/report_service.py +0 -0
  30. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ai/result_parser.py +0 -0
  31. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ai/safety.py +0 -0
  32. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/assets/__init__.py +0 -0
  33. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/assets/souleyez-icon.png +0 -0
  34. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/auth/__init__.py +0 -0
  35. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/auth/audit.py +0 -0
  36. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/auth/engagement_access.py +0 -0
  37. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/auth/permissions.py +0 -0
  38. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/auth/session_manager.py +0 -0
  39. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/auth/user_manager.py +0 -0
  40. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/commands/__init__.py +0 -0
  41. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/commands/audit.py +0 -0
  42. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/commands/auth.py +0 -0
  43. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/commands/deliverables.py +0 -0
  44. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/commands/engagement.py +0 -0
  45. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/commands/license.py +0 -0
  46. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/commands/screenshots.py +0 -0
  47. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/commands/user.py +0 -0
  48. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/config.py +0 -0
  49. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/core/__init__.py +0 -0
  50. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/core/credential_tester.py +0 -0
  51. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/core/cve_mappings.py +0 -0
  52. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/core/cve_matcher.py +0 -0
  53. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/core/msf_auto_mapper.py +0 -0
  54. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/core/msf_chain_engine.py +0 -0
  55. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/core/msf_database.py +0 -0
  56. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/core/msf_integration.py +0 -0
  57. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/core/msf_rpc_client.py +0 -0
  58. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/core/msf_rpc_manager.py +0 -0
  59. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/core/msf_sync_manager.py +0 -0
  60. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/core/network_utils.py +0 -0
  61. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/core/parser_handler.py +0 -0
  62. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/core/pending_chains.py +0 -0
  63. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/core/templates.py +0 -0
  64. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/core/version_utils.py +0 -0
  65. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/core/vuln_correlation.py +0 -0
  66. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/core/web_utils.py +0 -0
  67. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/templates/README.md +0 -0
  68. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/templates/active_directory.json +0 -0
  69. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/templates/cis_controls_v8.json +0 -0
  70. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/templates/cloud_security.json +0 -0
  71. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/templates/cmmc_2.0.json +0 -0
  72. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/templates/external_network.json +0 -0
  73. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/templates/ffiec_cat.json +0 -0
  74. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/templates/gdpr_article32.json +0 -0
  75. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/templates/glba_safeguards.json +0 -0
  76. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/templates/hipaa_security.json +0 -0
  77. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/templates/hitrust_csf.json +0 -0
  78. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/templates/internal_network.json +0 -0
  79. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/templates/iso27001.json +0 -0
  80. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/templates/nerc_cip.json +0 -0
  81. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/templates/nist_csf.json +0 -0
  82. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/templates/owasp_top10_2021.json +0 -0
  83. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/templates/pci_dss_4.0.json +0 -0
  84. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/templates/ptes_standard.json +0 -0
  85. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/templates/red_team.json +0 -0
  86. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/templates/soc2_type2.json +0 -0
  87. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/templates/webapp_advanced.json +0 -0
  88. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/wordlists/README.md +0 -0
  89. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/wordlists/all_users.txt +0 -0
  90. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/wordlists/api_endpoints.txt +0 -0
  91. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/wordlists/default_credentials.txt +0 -0
  92. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/wordlists/macos_users.txt +0 -0
  93. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/wordlists/router_passwords.txt +0 -0
  94. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/wordlists/router_users.txt +0 -0
  95. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/wordlists/soul_pass.txt +0 -0
  96. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/wordlists/soul_users.txt +0 -0
  97. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/wordlists/subdomains_common.txt +0 -0
  98. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/wordlists/top100.txt +0 -0
  99. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/wordlists/top20_quick.txt +0 -0
  100. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/wordlists/vnc_passwords.txt +0 -0
  101. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/wordlists/web_dirs_common.txt +0 -0
  102. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/wordlists/web_extensions.txt +0 -0
  103. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/data/wordlists/web_files_common.txt +0 -0
  104. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/detection/__init__.py +0 -0
  105. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/detection/attack_signatures.py +0 -0
  106. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/detection/mitre_mappings.py +0 -0
  107. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/detection/validator.py +0 -0
  108. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/devtools.py +0 -0
  109. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/api-reference/cli-commands.md +0 -0
  110. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/api-reference/engagement-api.md +0 -0
  111. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/api-reference/integration-guide.md +0 -0
  112. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/api-reference/parser-formats.md +0 -0
  113. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/architecture/decisions/000-template.md +0 -0
  114. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/architecture/decisions/001-local-llm-over-cloud.md +0 -0
  115. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/architecture/decisions/002-master-password-approach.md +0 -0
  116. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/architecture/decisions/003-database-schema-design.md +0 -0
  117. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/architecture/overview.md +0 -0
  118. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/database/MIGRATIONS.md +0 -0
  119. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/database/SCHEMA.md +0 -0
  120. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/database/SCHEMA_ERD.md +0 -0
  121. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/developer-guide/test_coverage_plan.md +0 -0
  122. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/developer-guide/ui-design-system.md +0 -0
  123. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/images/README.md +0 -0
  124. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/security/best-practices.md +0 -0
  125. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/security/credential-encryption.md +0 -0
  126. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/security/password-protected-commands.md +0 -0
  127. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/security/secure-defaults.md +0 -0
  128. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/security/threat-model.md +0 -0
  129. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/user-guide/ai-integration.md +0 -0
  130. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/user-guide/attack-surface.md +0 -0
  131. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/user-guide/auto-chaining.md +0 -0
  132. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/user-guide/configuration.md +0 -0
  133. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/user-guide/deliverables-screenshots.md +0 -0
  134. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/user-guide/dependencies.md +0 -0
  135. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/user-guide/evidence-vault.md +0 -0
  136. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/user-guide/exploit-suggestions.md +0 -0
  137. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/user-guide/getting-started.md +0 -0
  138. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/user-guide/installation.md +0 -0
  139. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/user-guide/metasploit-integration.md +0 -0
  140. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/user-guide/rbac.md +0 -0
  141. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/user-guide/report-generation.md +0 -0
  142. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/user-guide/scope-management.md +0 -0
  143. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/user-guide/siem-integration.md +0 -0
  144. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/user-guide/tools-reference.md +0 -0
  145. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/user-guide/troubleshooting.md +0 -0
  146. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/user-guide/uninstall.md +0 -0
  147. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/user-guide/worker-management.md +0 -0
  148. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/docs/user-guide/workflows.md +0 -0
  149. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/engine/__init__.py +0 -0
  150. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/engine/background.py +0 -0
  151. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/engine/base.py +0 -0
  152. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/engine/job_status.py +0 -0
  153. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/engine/loader.py +0 -0
  154. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/engine/log_sanitizer.py +0 -0
  155. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/engine/manager.py +0 -0
  156. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/engine/result_handler.py +0 -0
  157. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/engine/worker_manager.py +0 -0
  158. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/export/__init__.py +0 -0
  159. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/export/evidence_bundle.py +0 -0
  160. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/feature_flags/__init__.py +0 -0
  161. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/feature_flags/features.py +0 -0
  162. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/feature_flags.py +0 -0
  163. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/history.py +0 -0
  164. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/importers/__init__.py +0 -0
  165. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/importers/msf_importer.py +0 -0
  166. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/importers/smart_importer.py +0 -0
  167. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/integrations/__init__.py +0 -0
  168. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/integrations/siem/__init__.py +0 -0
  169. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/integrations/siem/base.py +0 -0
  170. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/integrations/siem/elastic.py +0 -0
  171. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/integrations/siem/factory.py +0 -0
  172. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/integrations/siem/googlesecops.py +0 -0
  173. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/integrations/siem/rule_mappings/__init__.py +0 -0
  174. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/integrations/siem/rule_mappings/wazuh_rules.py +0 -0
  175. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/integrations/siem/sentinel.py +0 -0
  176. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/integrations/siem/splunk.py +0 -0
  177. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/integrations/siem/wazuh.py +0 -0
  178. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/integrations/wazuh/__init__.py +0 -0
  179. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/integrations/wazuh/client.py +0 -0
  180. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/integrations/wazuh/config.py +0 -0
  181. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/integrations/wazuh/host_mapper.py +0 -0
  182. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/integrations/wazuh/sync.py +0 -0
  183. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/intelligence/__init__.py +0 -0
  184. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/intelligence/correlation_analyzer.py +0 -0
  185. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/intelligence/exploit_knowledge.py +0 -0
  186. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/intelligence/exploit_suggestions.py +0 -0
  187. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/intelligence/gap_analyzer.py +0 -0
  188. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/intelligence/gap_detector.py +0 -0
  189. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/intelligence/sensitive_tables.py +0 -0
  190. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/intelligence/service_parser.py +0 -0
  191. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/intelligence/surface_analyzer.py +0 -0
  192. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/intelligence/target_parser.py +0 -0
  193. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/licensing/__init__.py +0 -0
  194. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/licensing/validator.py +0 -0
  195. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/log_config.py +0 -0
  196. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/migrations/__init__.py +0 -0
  197. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/migrations/fix_job_counter.py +0 -0
  198. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/parsers/__init__.py +0 -0
  199. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/parsers/bloodhound_parser.py +0 -0
  200. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/parsers/crackmapexec_parser.py +0 -0
  201. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/parsers/dalfox_parser.py +0 -0
  202. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/parsers/dnsrecon_parser.py +0 -0
  203. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/parsers/enum4linux_parser.py +0 -0
  204. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/parsers/ffuf_parser.py +0 -0
  205. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/parsers/gobuster_parser.py +0 -0
  206. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/parsers/hashcat_parser.py +0 -0
  207. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/parsers/http_fingerprint_parser.py +0 -0
  208. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/parsers/hydra_parser.py +0 -0
  209. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/parsers/impacket_parser.py +0 -0
  210. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/parsers/john_parser.py +0 -0
  211. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/parsers/msf_parser.py +0 -0
  212. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/parsers/nikto_parser.py +0 -0
  213. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/parsers/nmap_parser.py +0 -0
  214. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/parsers/nuclei_parser.py +0 -0
  215. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/parsers/responder_parser.py +0 -0
  216. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/parsers/searchsploit_parser.py +0 -0
  217. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/parsers/smbmap_parser.py +0 -0
  218. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/parsers/sqlmap_parser.py +0 -0
  219. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/parsers/theharvester_parser.py +0 -0
  220. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/parsers/whois_parser.py +0 -0
  221. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/parsers/wpscan_parser.py +0 -0
  222. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/__init__.py +0 -0
  223. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/afp.py +0 -0
  224. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/afp_brute.py +0 -0
  225. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/ard.py +0 -0
  226. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/bloodhound.py +0 -0
  227. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/crackmapexec.py +0 -0
  228. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/dalfox.py +0 -0
  229. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/dns_hijack.py +0 -0
  230. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/dnsrecon.py +0 -0
  231. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/enum4linux.py +0 -0
  232. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/ffuf.py +0 -0
  233. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/firmware_extract.py +0 -0
  234. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/gobuster.py +0 -0
  235. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/hashcat.py +0 -0
  236. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/http_fingerprint.py +0 -0
  237. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/hydra.py +0 -0
  238. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/impacket_getnpusers.py +0 -0
  239. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/impacket_psexec.py +0 -0
  240. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/impacket_secretsdump.py +0 -0
  241. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/impacket_smbclient.py +0 -0
  242. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/john.py +0 -0
  243. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/macos_ssh.py +0 -0
  244. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/mdns.py +0 -0
  245. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/msf_auxiliary.py +0 -0
  246. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/msf_exploit.py +0 -0
  247. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/nikto.py +0 -0
  248. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/nmap.py +0 -0
  249. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/nuclei.py +0 -0
  250. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/plugin_base.py +0 -0
  251. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/plugin_template.py +0 -0
  252. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/responder.py +0 -0
  253. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/router_http_brute.py +0 -0
  254. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/router_ssh_brute.py +0 -0
  255. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/router_telnet_brute.py +0 -0
  256. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/routersploit.py +0 -0
  257. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/routersploit_exploit.py +0 -0
  258. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/searchsploit.py +0 -0
  259. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/smbmap.py +0 -0
  260. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/sqlmap.py +0 -0
  261. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/theharvester.py +0 -0
  262. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/tr069.py +0 -0
  263. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/upnp.py +0 -0
  264. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/upnp_abuse.py +0 -0
  265. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/vnc_access.py +0 -0
  266. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/vnc_brute.py +0 -0
  267. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/whois.py +0 -0
  268. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/plugins/wpscan.py +0 -0
  269. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/reporting/__init__.py +0 -0
  270. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/reporting/attack_chain.py +0 -0
  271. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/reporting/charts.py +0 -0
  272. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/reporting/compliance_mappings.py +0 -0
  273. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/reporting/detection_report.py +0 -0
  274. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/reporting/formatters.py +0 -0
  275. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/reporting/generator.py +0 -0
  276. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/reporting/metrics.py +0 -0
  277. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/scanner.py +0 -0
  278. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/security/__init__.py +0 -0
  279. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/security/scope_validator.py +0 -0
  280. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/security/validation.py +0 -0
  281. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/security.py +0 -0
  282. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/__init__.py +0 -0
  283. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/credentials.py +0 -0
  284. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/crypto.py +0 -0
  285. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/database.py +0 -0
  286. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/db.py +0 -0
  287. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/deliverable_evidence.py +0 -0
  288. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/deliverable_exporter.py +0 -0
  289. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/deliverable_templates.py +0 -0
  290. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/deliverables.py +0 -0
  291. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/engagements.py +0 -0
  292. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/evidence.py +0 -0
  293. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/execution_log.py +0 -0
  294. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/exploit_attempts.py +0 -0
  295. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/exploits.py +0 -0
  296. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/findings.py +0 -0
  297. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/hosts.py +0 -0
  298. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/migrate_to_engagements.py +0 -0
  299. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/migrations/_001_add_credential_enhancements.py +0 -0
  300. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/migrations/_002_add_status_tracking.py +0 -0
  301. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/migrations/_003_add_execution_log.py +0 -0
  302. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/migrations/_005_screenshots.py +0 -0
  303. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/migrations/_006_deliverables.py +0 -0
  304. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/migrations/_007_deliverable_templates.py +0 -0
  305. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/migrations/_008_add_nuclei_table.py +0 -0
  306. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/migrations/_009_add_cme_tables.py +0 -0
  307. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/migrations/_010_evidence_linking.py +0 -0
  308. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/migrations/_011_timeline_tracking.py +0 -0
  309. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/migrations/_012_team_collaboration.py +0 -0
  310. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/migrations/_013_add_host_tags.py +0 -0
  311. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/migrations/_014_exploit_attempts.py +0 -0
  312. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/migrations/_015_add_mac_os_fields.py +0 -0
  313. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/migrations/_016_add_domain_field.py +0 -0
  314. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/migrations/_017_msf_sessions.py +0 -0
  315. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/migrations/_018_add_osint_target.py +0 -0
  316. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/migrations/_019_add_engagement_type.py +0 -0
  317. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/migrations/_020_add_rbac.py +0 -0
  318. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/migrations/_021_wazuh_integration.py +0 -0
  319. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/migrations/_022_wazuh_indexer_columns.py +0 -0
  320. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/migrations/_023_fix_detection_results_fk.py +0 -0
  321. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/migrations/_024_wazuh_vulnerabilities.py +0 -0
  322. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/migrations/_025_multi_siem_support.py +0 -0
  323. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/migrations/_026_add_engagement_scope.py +0 -0
  324. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/migrations/_027_multi_siem_persistence.py +0 -0
  325. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/migrations/__init__.py +0 -0
  326. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/migrations/migration_manager.py +0 -0
  327. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/msf_sessions.py +0 -0
  328. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/osint.py +0 -0
  329. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/recommendation_engine.py +0 -0
  330. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/schema.sql +0 -0
  331. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/screenshots.py +0 -0
  332. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/smb_shares.py +0 -0
  333. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/sqlmap_data.py +0 -0
  334. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/team_collaboration.py +0 -0
  335. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/timeline_tracker.py +0 -0
  336. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/wazuh_vulns.py +0 -0
  337. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/storage/web_paths.py +0 -0
  338. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/testing/__init__.py +0 -0
  339. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/testing/credential_tester.py +0 -0
  340. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/__init__.py +0 -0
  341. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/ai_quotes.py +0 -0
  342. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/attack_surface.py +0 -0
  343. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/chain_rules_view.py +0 -0
  344. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/correlation_view.py +0 -0
  345. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/dashboard.py +0 -0
  346. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/deliverables_view.py +0 -0
  347. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/design_system.py +0 -0
  348. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/errors.py +0 -0
  349. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/evidence_linking_view.py +0 -0
  350. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/evidence_vault.py +0 -0
  351. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/exploit_suggestions_view.py +0 -0
  352. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/export_view.py +0 -0
  353. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/gap_analysis_view.py +0 -0
  354. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/help_system.py +0 -0
  355. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/intelligence_view.py +0 -0
  356. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/interactive.py +0 -0
  357. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/interactive_selector.py +0 -0
  358. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/log_formatter.py +0 -0
  359. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/menu_components.py +0 -0
  360. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/msf_auxiliary_menu.py +0 -0
  361. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/pending_chains_view.py +0 -0
  362. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/progress_indicators.py +0 -0
  363. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/recommendations_view.py +0 -0
  364. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/rule_builder.py +0 -0
  365. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/setup_wizard.py +0 -0
  366. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/shortcuts.py +0 -0
  367. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/splunk_gap_analysis_view.py +0 -0
  368. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/splunk_vulns_view.py +0 -0
  369. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/team_dashboard.py +0 -0
  370. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/template_selector.py +0 -0
  371. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/terminal.py +0 -0
  372. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/timeline_view.py +0 -0
  373. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/tool_setup.py +0 -0
  374. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/tutorial.py +0 -0
  375. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/tutorial_state.py +0 -0
  376. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui/wazuh_vulns_view.py +0 -0
  377. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/ui.py +0 -0
  378. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/utils/__init__.py +0 -0
  379. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/utils/tool_checker.py +0 -0
  380. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/utils.py +0 -0
  381. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez/wordlists.py +0 -0
  382. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez.egg-info/SOURCES.txt +0 -0
  383. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez.egg-info/dependency_links.txt +0 -0
  384. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez.egg-info/entry_points.txt +0 -0
  385. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez.egg-info/requires.txt +0 -0
  386. {souleyez-2.35.0 → souleyez-2.36.0}/souleyez.egg-info/top_level.txt +0 -0
  387. {souleyez-2.35.0 → souleyez-2.36.0}/tests/test_config.py +0 -0
  388. {souleyez-2.35.0 → souleyez-2.36.0}/tests/test_config_enhanced.py +0 -0
  389. {souleyez-2.35.0 → souleyez-2.36.0}/tests/test_crypto.py +0 -0
  390. {souleyez-2.35.0 → souleyez-2.36.0}/tests/test_database_100_final.py +0 -0
  391. {souleyez-2.35.0 → souleyez-2.36.0}/tests/test_engagements.py +0 -0
  392. {souleyez-2.35.0 → souleyez-2.36.0}/tests/test_engagements_simple.py +0 -0
  393. {souleyez-2.35.0 → souleyez-2.36.0}/tests/test_job_status_tracking.py +0 -0
  394. {souleyez-2.35.0 → souleyez-2.36.0}/tests/test_logging.py +0 -0
  395. {souleyez-2.35.0 → souleyez-2.36.0}/tests/test_network_utils.py +0 -0
  396. {souleyez-2.35.0 → souleyez-2.36.0}/tests/test_ollama_service.py +0 -0
  397. {souleyez-2.35.0 → souleyez-2.36.0}/tests/test_plugin_base.py +0 -0
  398. {souleyez-2.35.0 → souleyez-2.36.0}/tests/test_recommender.py +0 -0
  399. {souleyez-2.35.0 → souleyez-2.36.0}/tests/test_result_handler_sqlmap.py +0 -0
  400. {souleyez-2.35.0 → souleyez-2.36.0}/tests/test_schema.py +0 -0
  401. {souleyez-2.35.0 → souleyez-2.36.0}/tests/test_scope_integration.py +0 -0
  402. {souleyez-2.35.0 → souleyez-2.36.0}/tests/test_scope_validator.py +0 -0
  403. {souleyez-2.35.0 → souleyez-2.36.0}/tests/test_security_hardening.py +0 -0
  404. {souleyez-2.35.0 → souleyez-2.36.0}/tests/test_security_validation.py +0 -0
  405. {souleyez-2.35.0 → souleyez-2.36.0}/tests/test_sqlmap_parser.py +0 -0
  406. {souleyez-2.35.0 → souleyez-2.36.0}/tests/test_storage.py +0 -0
  407. {souleyez-2.35.0 → souleyez-2.36.0}/tests/test_version_utils.py +0 -0
@@ -27,7 +27,7 @@ Welcome to the SoulEyez beta! Thank you for helping us test and improve this pen
27
27
 
28
28
  > ⚠️ **Important**: Only use SoulEyez on systems you have explicit authorization to test.
29
29
 
30
- ## Version: 2.35.0
30
+ ## Version: 2.36.0
31
31
 
32
32
  ### What's Included
33
33
 
@@ -265,4 +265,4 @@ Happy hacking! 🛡️
265
265
 
266
266
  ---
267
267
 
268
- **Version**: 2.35.0 | **Release Date**: January 2026 | **Maintainer**: CyberSoul Security
268
+ **Version**: 2.36.0 | **Release Date**: January 2026 | **Maintainer**: CyberSoul Security
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: souleyez
3
- Version: 2.35.0
3
+ Version: 2.36.0
4
4
  Summary: AI-Powered Penetration Testing Platform with 40+ integrated tools
5
5
  Author-email: CyberSoul Security <contact@cybersoulsecurity.com>
6
6
  Maintainer-email: CyberSoul Security <contact@cybersoulsecurity.com>
@@ -78,7 +78,7 @@ Welcome to the SoulEyez beta! Thank you for helping us test and improve this pen
78
78
 
79
79
  > ⚠️ **Important**: Only use SoulEyez on systems you have explicit authorization to test.
80
80
 
81
- ## Version: 2.35.0
81
+ ## Version: 2.36.0
82
82
 
83
83
  ### What's Included
84
84
 
@@ -316,4 +316,4 @@ Happy hacking! 🛡️
316
316
 
317
317
  ---
318
318
 
319
- **Version**: 2.35.0 | **Release Date**: January 2026 | **Maintainer**: CyberSoul Security
319
+ **Version**: 2.36.0 | **Release Date**: January 2026 | **Maintainer**: CyberSoul Security
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "souleyez"
7
- version = "2.35.0"
7
+ version = "2.36.0"
8
8
  description = "AI-Powered Penetration Testing Platform with 40+ integrated tools"
9
9
  readme = "BETA_README.md"
10
10
  license = {text = "MIT"}
@@ -0,0 +1,2 @@
1
+ __version__ = '2.36.0'
2
+
@@ -3972,7 +3972,7 @@ class ToolChaining:
3972
3972
  # This reduces noise and focuses on high-value targets
3973
3973
  from souleyez.intelligence.sensitive_tables import is_sensitive_table, is_system_table
3974
3974
 
3975
- MAX_TABLES_FOR_COLUMN_ENUM = 15 # Focused on sensitive tables only
3975
+ MAX_TABLES_FOR_COLUMN_ENUM = 10 # Focused on sensitive tables only
3976
3976
  tables_queued = 0
3977
3977
  skipped_tables = 0
3978
3978
 
@@ -5770,6 +5770,17 @@ class ToolChaining:
5770
5770
 
5771
5771
  status = existing_job.get('status')
5772
5772
 
5773
+ # === SQLMAP RULE-BASED DEDUP (check ALL completed jobs, not just recent) ===
5774
+ # For sqlmap: if same rule was already applied to this URL, skip it entirely
5775
+ # This prevents infinite loops where each sqlmap job re-triggers the same rules
5776
+ if cmd['tool'] == 'sqlmap' and status in ['done', 'queued', 'running']:
5777
+ cmd_rule_id = cmd.get('rule_id')
5778
+ existing_rule_id = existing_job.get('rule_id')
5779
+ if cmd_rule_id and existing_rule_id and cmd_rule_id == existing_rule_id:
5780
+ similar_exists = True
5781
+ print(f" ⏭️ Skipping sqlmap for {cmd_target}: rule #{cmd_rule_id} already applied (job #{existing_job['id']} {status})")
5782
+ break
5783
+
5773
5784
  # Check if job is active (queued/running)
5774
5785
  is_active = status in ['queued', 'running']
5775
5786
 
@@ -5784,11 +5795,28 @@ class ToolChaining:
5784
5795
  current_time = datetime.now(finished_time.tzinfo) if finished_time.tzinfo else datetime.now()
5785
5796
  time_delta = (current_time - finished_time).total_seconds()
5786
5797
 
5787
- # Only block if same args AND finished < 5 min ago
5798
+ # Only block if finished < 5 min ago AND (same args OR same rule_id for sqlmap)
5788
5799
  if time_delta < DUPLICATE_WINDOW_SECONDS:
5789
5800
  existing_args = existing_job.get('args', [])
5790
5801
  cmd_args = cmd.get('args', [])
5791
- if existing_args == cmd_args:
5802
+
5803
+ # For sqlmap: also check rule_id (same rule = duplicate even with different parent)
5804
+ if cmd['tool'] == 'sqlmap':
5805
+ cmd_rule_id = cmd.get('rule_id')
5806
+ existing_rule_id = existing_job.get('rule_id')
5807
+ if cmd_rule_id and existing_rule_id and cmd_rule_id == existing_rule_id:
5808
+ is_recent_duplicate = True
5809
+ minutes_ago = int(time_delta // 60)
5810
+ seconds_ago = int(time_delta % 60)
5811
+ time_str = f"{minutes_ago}m {seconds_ago}s ago" if minutes_ago > 0 else f"{seconds_ago}s ago"
5812
+ print(f" ⏭️ Skipping sqlmap for {cmd_target}: rule #{cmd_rule_id} completed {time_str} (duplicate)")
5813
+ elif existing_args == cmd_args:
5814
+ is_recent_duplicate = True
5815
+ minutes_ago = int(time_delta // 60)
5816
+ seconds_ago = int(time_delta % 60)
5817
+ time_str = f"{minutes_ago}m {seconds_ago}s ago" if minutes_ago > 0 else f"{seconds_ago}s ago"
5818
+ print(f" ⏭️ Skipping sqlmap for {cmd_target}: job #{existing_job['id']} completed {time_str} (duplicate)")
5819
+ elif existing_args == cmd_args:
5792
5820
  is_recent_duplicate = True
5793
5821
  minutes_ago = int(time_delta // 60)
5794
5822
  seconds_ago = int(time_delta % 60)
@@ -5810,16 +5838,34 @@ class ToolChaining:
5810
5838
  print(f" ⏭️ Skipping {cmd['tool']} for {cmd_target}: similar job #{existing_job['id']} already exists ({existing_job['status']})")
5811
5839
  break
5812
5840
 
5813
- # For sqlmap, gobuster: check if args match (allow different ports/phases)
5814
- elif cmd['tool'] in ['sqlmap', 'gobuster']:
5841
+ # For sqlmap: check by rule_id to prevent same rule firing twice on same URL
5842
+ elif cmd['tool'] == 'sqlmap':
5843
+ cmd_rule_id = cmd.get('rule_id')
5844
+ existing_rule_id = existing_job.get('rule_id')
5845
+ existing_args = existing_job.get('args', [])
5846
+ cmd_args = cmd.get('args', [])
5847
+
5848
+ # If both have rule_id and they match, it's a duplicate
5849
+ # (same rule already applied to this injection point)
5850
+ if cmd_rule_id and existing_rule_id and cmd_rule_id == existing_rule_id:
5851
+ similar_exists = True
5852
+ print(f" ⏭️ Skipping sqlmap for {cmd_target}: rule #{cmd_rule_id} already applied (job #{existing_job['id']} {existing_job['status']})")
5853
+ break
5854
+ # Also check if exact same args (covers manual/no-rule jobs)
5855
+ elif existing_args == cmd_args:
5856
+ similar_exists = True
5857
+ print(f" ⏭️ Skipping sqlmap for {cmd_target}: similar job #{existing_job['id']} already exists ({existing_job['status']})")
5858
+ break
5859
+ # If different rule_id and different args, allow it (different SQLMap phase)
5860
+
5861
+ # For gobuster: check if args match
5862
+ elif cmd['tool'] == 'gobuster':
5815
5863
  existing_args = existing_job.get('args', [])
5816
5864
  cmd_args = cmd.get('args', [])
5817
- # Compare args - if they're the same, it's a duplicate
5818
5865
  if existing_args == cmd_args:
5819
5866
  similar_exists = True
5820
5867
  print(f" ⏭️ Skipping {cmd['tool']} for {cmd_target}: similar job #{existing_job['id']} already exists ({existing_job['status']})")
5821
5868
  break
5822
- # If args are different, allow it (different SQLMap phase)
5823
5869
 
5824
5870
  # For quick lookup tools (whois, dnsrecon), skip 5-min duplicate check
5825
5871
  # They're fast and each theHarvester run should trigger them
@@ -1,6 +1,6 @@
1
1
  # SoulEyez Documentation
2
2
 
3
- **Version:** 2.35.0
3
+ **Version:** 2.36.0
4
4
  **Last Updated:** January 9, 2026
5
5
  **Organization:** CyberSoul Security
6
6
 
@@ -173,7 +173,7 @@ def _check_privileged_tools():
173
173
 
174
174
 
175
175
  @click.group()
176
- @click.version_option(version='2.35.0')
176
+ @click.version_option(version='2.36.0')
177
177
  def cli():
178
178
  """SoulEyez - AI-Powered Pentesting Platform by CyberSoul Security"""
179
179
  from souleyez.log_config import init_logging
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: souleyez
3
- Version: 2.35.0
3
+ Version: 2.36.0
4
4
  Summary: AI-Powered Penetration Testing Platform with 40+ integrated tools
5
5
  Author-email: CyberSoul Security <contact@cybersoulsecurity.com>
6
6
  Maintainer-email: CyberSoul Security <contact@cybersoulsecurity.com>
@@ -78,7 +78,7 @@ Welcome to the SoulEyez beta! Thank you for helping us test and improve this pen
78
78
 
79
79
  > ⚠️ **Important**: Only use SoulEyez on systems you have explicit authorization to test.
80
80
 
81
- ## Version: 2.35.0
81
+ ## Version: 2.36.0
82
82
 
83
83
  ### What's Included
84
84
 
@@ -316,4 +316,4 @@ Happy hacking! 🛡️
316
316
 
317
317
  ---
318
318
 
319
- **Version**: 2.35.0 | **Release Date**: January 2026 | **Maintainer**: CyberSoul Security
319
+ **Version**: 2.36.0 | **Release Date**: January 2026 | **Maintainer**: CyberSoul Security
@@ -1,2 +0,0 @@
1
- __version__ = '2.35.0'
2
-
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes