souleyez 2.43.8__py3-none-any.whl → 2.43.12__py3-none-any.whl

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/__init__.py CHANGED
@@ -1,2 +1,2 @@
1
- __version__ = '2.43.8'
1
+ __version__ = '2.43.12'
2
2
 
souleyez/docs/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # SoulEyez Documentation
2
2
 
3
- **Version:** 2.43.8
3
+ **Version:** 2.43.12
4
4
  **Last Updated:** January 12, 2026
5
5
  **Organization:** CyberSoul Security
6
6
 
@@ -1395,7 +1395,8 @@ def _is_true_error_exit_code(rc: int, tool: str) -> bool:
1395
1395
  # Parser will determine the actual status based on output
1396
1396
  # msf_exploit returns 1 when no session opened (exploit ran but target not vulnerable)
1397
1397
  # nikto returns non-zero when it finds vulnerabilities (not an error!)
1398
- tools_with_nonzero_success = ['gobuster', 'hydra', 'medusa', 'msf_exploit', 'nikto']
1398
+ # dnsrecon returns 1 when crt.sh lookup fails (known bug) but still collects valid DNS data
1399
+ tools_with_nonzero_success = ['gobuster', 'hydra', 'medusa', 'msf_exploit', 'nikto', 'dnsrecon']
1399
1400
 
1400
1401
  if tool.lower() in tools_with_nonzero_success:
1401
1402
  # Let parser determine status
@@ -2643,6 +2643,12 @@ def parse_nuclei_job(engagement_id: int, log_path: str, job: Dict[str, Any]) ->
2643
2643
  'info': parsed.get('info', 0)
2644
2644
  }
2645
2645
  except Exception as e:
2646
+ logger.error("parse_nuclei_job exception", extra={
2647
+ "error": str(e),
2648
+ "error_type": type(e).__name__,
2649
+ "target": job.get('target', ''),
2650
+ "job_id": job.get('id')
2651
+ })
2646
2652
  return {'error': str(e)}
2647
2653
 
2648
2654
 
souleyez/main.py CHANGED
@@ -173,7 +173,7 @@ def _check_privileged_tools():
173
173
 
174
174
 
175
175
  @click.group()
176
- @click.version_option(version='2.43.8')
176
+ @click.version_option(version='2.43.12')
177
177
  def cli():
178
178
  """SoulEyez - AI-Powered Pentesting Platform by CyberSoul Security"""
179
179
  from souleyez.log_config import init_logging
souleyez/ui/dashboard.py CHANGED
@@ -3344,14 +3344,14 @@ def _show_dashboard_menu(engagement_id: int) -> str:
3344
3344
  click.echo(click.style(" 📋 DOCUMENTATION", bold=True, fg='yellow'))
3345
3345
  click.echo(" " + "─" * 76)
3346
3346
  click.echo(" " + click.style("[e]", fg='yellow', bold=True) + " or " +
3347
- click.style("[6]", fg='yellow') + " 📦 Evidence & Artifacts - Screenshots, files, exports")
3347
+ click.style("[5]", fg='yellow') + " 📦 Evidence & Artifacts - Screenshots, files, exports")
3348
3348
  click.echo(" " + click.style("[d]", fg='yellow', bold=True) + " or " +
3349
- click.style("[7]", fg='yellow') + " ✅ Deliverables - Progress tracking, checklists")
3349
+ click.style("[6]", fg='yellow') + " ✅ Deliverables - Progress tracking, checklists")
3350
3350
 
3351
3351
  # Reports - Pro feature (show to all with appropriate badge)
3352
3352
  pro_badge_yellow = click.style("💎", fg='yellow') if is_pro_user else click.style("🔒 PRO", fg='yellow')
3353
3353
  click.echo(" " + click.style("[r]", fg='yellow', bold=True) + " or " +
3354
- click.style("[8]", fg='yellow') + " 📄 Reports " +
3354
+ click.style("[7]", fg='yellow') + " 📄 Reports " +
3355
3355
  pro_badge_yellow + " - Generate & export reports")
3356
3356
  click.echo()
3357
3357
 
@@ -3359,30 +3359,30 @@ def _show_dashboard_menu(engagement_id: int) -> str:
3359
3359
  click.echo(click.style(" 📊 DATA MANAGEMENT (Deep Dive)", bold=True, fg='green'))
3360
3360
  click.echo(" " + "─" * 76)
3361
3361
  click.echo(" " + click.style("[h]", fg='cyan', bold=True) + " or " +
3362
- click.style("[9]", fg='cyan') + " 🎯 Hosts - Discovered hosts, tags, filtering")
3362
+ click.style("[8]", fg='cyan') + " 🎯 Hosts - Discovered hosts, tags, filtering")
3363
3363
  click.echo(" " + click.style("[v]", fg='cyan', bold=True) + " or " +
3364
- click.style("[10]", fg='cyan') + " 🔌 Services - Open ports, service enumeration")
3364
+ click.style("[9]", fg='cyan') + " 🔌 Services - Open ports, service enumeration")
3365
3365
  click.echo(" " + click.style("[f]", fg='cyan', bold=True) + " or " +
3366
- click.style("[11]", fg='cyan') + " 🔍 Findings - All vulnerabilities (detailed view)")
3366
+ click.style("[10]", fg='cyan') + " 🔍 Findings - All vulnerabilities (detailed view)")
3367
3367
  click.echo(" " + click.style("[c]", fg='cyan', bold=True) + " or " +
3368
- click.style("[12]", fg='cyan') + " 🔑 Credentials - Discovered users, passwords, hashes")
3368
+ click.style("[11]", fg='cyan') + " 🔑 Credentials - Discovered users, passwords, hashes")
3369
3369
  click.echo()
3370
3370
  click.echo(" " + click.style("[b]", fg='cyan', bold=True) + " or " +
3371
- click.style("[13]", fg='cyan') + " 🌐 Web Paths - Directory enumeration results")
3371
+ click.style("[12]", fg='cyan') + " 🌐 Web Paths - Directory enumeration results")
3372
3372
  click.echo(" " + click.style("[n]", fg='cyan', bold=True) + " or " +
3373
- click.style("[14]", fg='cyan') + " 📁 SMB Shares - SMB enumeration, accessible shares")
3373
+ click.style("[13]", fg='cyan') + " 📁 SMB Shares - SMB enumeration, accessible shares")
3374
3374
  click.echo(" " + click.style("[l]", fg='cyan', bold=True) + " or " +
3375
- click.style("[15]", fg='cyan') + " 💉 SQLMap Intelligence - Deduplicated injections, high-value tables")
3375
+ click.style("[14]", fg='cyan') + " 💉 SQLMap Intelligence - Deduplicated injections, high-value tables")
3376
3376
  click.echo(" " + click.style("[p]", fg='cyan', bold=True) + " or " +
3377
- click.style("[16]", fg='cyan') + " 🔌 WordPress Data - WPScan vulnerabilities")
3377
+ click.style("[15]", fg='cyan') + " 🔌 WordPress Data - WPScan vulnerabilities")
3378
3378
  click.echo(" " + click.style("[o]", fg='cyan', bold=True) + " or " +
3379
- click.style("[17]", fg='cyan') + " 💣 Exploits - SearchSploit exploit database")
3379
+ click.style("[16]", fg='cyan') + " 💣 Exploits - SearchSploit exploit database")
3380
3380
  click.echo(" " + click.style("[t]", fg='cyan', bold=True) + " or " +
3381
- click.style("[18]", fg='cyan') + " 🔍 OSINT/Discovery - DNS, WHOIS, emails, infrastructure")
3381
+ click.style("[17]", fg='cyan') + " 🔍 OSINT/Discovery - DNS, WHOIS, emails, infrastructure")
3382
3382
  click.echo()
3383
3383
 
3384
3384
  click.echo(" " + click.style("[q]", fg='red', bold=True) + " or " +
3385
- click.style("[19]", fg='red') + " ← Return to Command Center")
3385
+ click.style("[18]", fg='red') + " ← Return to Command Center")
3386
3386
  click.echo()
3387
3387
 
3388
3388
  # Footer instructions
@@ -3425,6 +3425,11 @@ def _show_dashboard_menu(engagement_id: int) -> str:
3425
3425
 
3426
3426
  # Intelligence Section (Consolidated - 3 items)
3427
3427
  elif action == 'intelligence_hub':
3428
+ # Pro feature - check tier
3429
+ if not is_pro_user:
3430
+ from souleyez.ui.interactive import _show_upgrade_prompt
3431
+ _show_upgrade_prompt("Intelligence Hub")
3432
+ continue
3428
3433
  # Unified Intelligence Hub (was Attack Correlation)
3429
3434
  from souleyez.ui.attack_surface import view_attack_surface
3430
3435
  view_attack_surface(engagement_id)
@@ -200,10 +200,11 @@ def _show_upgrade_prompt(feature_name: str):
200
200
  f"Unlock all Pro features:\n"
201
201
  f" • Intelligence Hub - Exploit suggestions & attack surface\n"
202
202
  f" • Auto-Chaining - Automatic follow-up scans\n"
203
- f" • AI Execute - Autonomous exploitation\n"
203
+ f" • AI Settings - Configure Ollama, Claude API providers\n"
204
+ f" • SIEM Integration - Wazuh, Splunk, Elastic, Sentinel\n"
204
205
  f" • MSF Integration - Metasploit attack chains\n"
205
206
  f" • Reports & Export - Professional deliverables\n"
206
- f" • Team Dashboard - Collaboration & activity tracking\n\n"
207
+ f" • Team Dashboard - Collaboration & task assignment\n\n"
207
208
  f"[cyan]Visit: https://www.cybersoulsecurity.com/souleyez[/cyan]",
208
209
  title="🔒 Upgrade Required",
209
210
  border_style="yellow"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: souleyez
3
- Version: 2.43.8
3
+ Version: 2.43.12
4
4
  Summary: AI-Powered Penetration Testing Platform with 40+ integrated tools
5
5
  Author-email: CyberSoul Security <contact@cybersoulsecurity.com>
6
6
  Maintainer-email: CyberSoul Security <contact@cybersoulsecurity.com>
@@ -1,10 +1,10 @@
1
- souleyez/__init__.py,sha256=Ik_sQ3aj5yrqnHIFTdhRKvESiPg5lT1RwJDJhI4sfHI,24
1
+ souleyez/__init__.py,sha256=AqWvRvGm0eblSfTChQBR6xzyVh0aeRZjPSgASWfhVEk,25
2
2
  souleyez/config.py,sha256=av357I3GYRWAklv8Dto-9-5Db699Wq5znez7zo7241Q,11595
3
3
  souleyez/devtools.py,sha256=rptmUY4a5eVvYjdEc6273MSagL-D9xibPOFgohVqUno,3508
4
4
  souleyez/feature_flags.py,sha256=mo6YAq07lc6sR3lEFKmIwTKxXZ2JPxwa5X97uR_mu50,4642
5
5
  souleyez/history.py,sha256=gzs5I_j-3OigIP6yfmBChdqxaFmyUIxvTpzWUPe_Q6c,2853
6
6
  souleyez/log_config.py,sha256=MMhPAJOqgXDfuE-xm5g0RxAfWndcmbhFHvIEMm1a_Wo,5830
7
- souleyez/main.py,sha256=skDRnYRjaB7t_6KkMMCITyQqCoq5Ta5n6qupas7TIdg,129100
7
+ souleyez/main.py,sha256=LfDxtOn9W1BOHPoIlAq9P46-hfl0m_YYiqSNpMhD3ng,129101
8
8
  souleyez/scanner.py,sha256=U3IWHRrJ5aQ32dSHiVAHB60w1R_z0E0QxfM99msYNlw,3124
9
9
  souleyez/security.py,sha256=S84m1QmnKz_6NgH2I6IBIAorMHxRPNYVFSnks5xjihQ,2479
10
10
  souleyez/ui.py,sha256=15pfsqoDPnojAqr5S0TZHJE2ZkSHzkHpNVfVvsRj66A,34301
@@ -104,7 +104,7 @@ souleyez/detection/__init__.py,sha256=QIhvXjFdjrquQ6A0VQ7GZQkK_EXB59t8Dv9PKXhEUe
104
104
  souleyez/detection/attack_signatures.py,sha256=akgWwiIkh6WYnghCuLhRV0y6FS0SQ0caGF8tZUc49oA,6965
105
105
  souleyez/detection/mitre_mappings.py,sha256=xejE80YK-g8kKaeQoo-vBl8P3t8RTTItbfN0NaVZw6s,20558
106
106
  souleyez/detection/validator.py,sha256=-AJ7QSJ3-6jFKLnPG_Rc34IXyF4JPyI82BFUgTA9zw0,15641
107
- souleyez/docs/README.md,sha256=-eCQcjyhWcq2_E14G7DlTWGAdJLYe0qBGoUJXC-qr_8,7187
107
+ souleyez/docs/README.md,sha256=1tbpTWjDcVQqP3DrVth28HR5bq9jAWccaUwtksG1lNk,7188
108
108
  souleyez/docs/api-reference/cli-commands.md,sha256=lTLFnILN3YRVdqCaag7WgsYXfDGglb1TuPexkxDsVdE,12917
109
109
  souleyez/docs/api-reference/engagement-api.md,sha256=nd-EvQMtiJrobg2bzFEADp853HP1Uhb9dmgok0_-neE,11672
110
110
  souleyez/docs/api-reference/integration-guide.md,sha256=c96uX79ukHyYotLa54wZ20Kx-EUZnrKegTeGkfLD-pw,16285
@@ -146,13 +146,13 @@ souleyez/docs/user-guide/uninstall.md,sha256=gDknetFhjZ0tnYk4JqhLa369NT4bIRb50rm
146
146
  souleyez/docs/user-guide/worker-management.md,sha256=hNu6eSTVb6XM4Zbb0I9Y5aL4AA2EiWOSFI6iGjn17kU,12035
147
147
  souleyez/docs/user-guide/workflows.md,sha256=4EyZKWRyuWf9wrENJwtidWKN25PGis1Pk33HIHk5UHM,22261
148
148
  souleyez/engine/__init__.py,sha256=THI_89hQfAPJDsfzDcur6H9sEGhGAnTxSNim7UOExYc,110
149
- souleyez/engine/background.py,sha256=kzlajb0wP8_EpuUFhVY0uiXWeUyMJTaWdH5FtEJ72FY,85144
149
+ souleyez/engine/background.py,sha256=55-DOhq9s3oud5POuutV-NmUQARg3i9kvSl_pLy7oBY,85252
150
150
  souleyez/engine/base.py,sha256=G35U1d-fygUvzmHH8zxLXw-vyQ9JzcfhGaSYOsHJtzQ,728
151
151
  souleyez/engine/job_status.py,sha256=OAEf2rAzapm55m4tc3PSilotdA5ONX15JavUMLre0is,2685
152
152
  souleyez/engine/loader.py,sha256=ke6QQVVWozDnqGNBotajC3RBYOa2_DZmv5DAnDZVgIc,2769
153
153
  souleyez/engine/log_sanitizer.py,sha256=QHF6zSms-wHo6SbL6fHXIh1GG-8G34lE7kl45nbPn70,7130
154
154
  souleyez/engine/manager.py,sha256=aBQMoib-VWNXtIp5Qn34tRj1P1jiLpwAIoo1fexAaLU,3629
155
- souleyez/engine/result_handler.py,sha256=iJBGy9apzYYp8nQn70wnqd09iYieGeB8GNm9ESkBFag,142311
155
+ souleyez/engine/result_handler.py,sha256=eD5fqGAlnG0pr1gxhKB40HBw_uyzsFJZpFaTDeMXc1g,142535
156
156
  souleyez/engine/worker_manager.py,sha256=B7b8RbkKTNofmiIyHTNgdikoZCLXpB-iIl1S4-U3q9o,6127
157
157
  souleyez/export/__init__.py,sha256=2kFHftSqqrRUG6PhtfhCyhnkpkjc-8Zb4utGo-Nb6B4,61
158
158
  souleyez/export/evidence_bundle.py,sha256=hqPn_h2CidhL-1VAT0qraZ8r1yfnUTnLZ3RfPPCK5Ds,9966
@@ -336,7 +336,7 @@ souleyez/ui/ai_quotes.py,sha256=Ho2QCYIFfks6tPIRFwVUKpvfGChUduWLMpmIDJV4xh0,5489
336
336
  souleyez/ui/attack_surface.py,sha256=PMClCqiw1fIFFpYTghGKnXykamWFWgvraEBQzkiyuF8,196226
337
337
  souleyez/ui/chain_rules_view.py,sha256=BZ7I3UnQEDtt9AWVqufdu1soZLkBn3cMu5lfArnx9aI,63228
338
338
  souleyez/ui/correlation_view.py,sha256=BxJytk8Zq2-MhrMFgf4ZgN5G0-xU3ZdxqNWdRqMghxU,24674
339
- souleyez/ui/dashboard.py,sha256=36XIGCMULMpzU7mhZMaUNof9Q5A0YdlZGrQRipc57kI,179004
339
+ souleyez/ui/dashboard.py,sha256=xjyhC35CdK9QHSR2ZvJd3HiiBbrIEdH7EP2rsNcfJnA,179250
340
340
  souleyez/ui/deliverables_view.py,sha256=hxYCwcZNzT0loZMSQXODRuZXDNZFrHZ8FTKwcwuZdoI,9604
341
341
  souleyez/ui/design_system.py,sha256=wyI73gwBGQDzo3L_JYn7DiEGXWByFkRjlDkp5MEpZ3s,3415
342
342
  souleyez/ui/errors.py,sha256=vk4gMP5UyLd3W-Gfz06C2B_v4ra8qcie6NFmz1VjY8o,10645
@@ -347,7 +347,7 @@ souleyez/ui/export_view.py,sha256=0nQvVsKk7FU4uRzSfJ_qBZh_Lfn8hgGA2rbJ5bNg5-Y,65
347
347
  souleyez/ui/gap_analysis_view.py,sha256=AytAOEBq010wwo9hne1TE-uJpY_xicjLrFANbvN3r3w,30727
348
348
  souleyez/ui/help_system.py,sha256=nKGxLaMi-TKYs6xudTyw_tZqBb1cGFEuYYh6N-MAsJE,16648
349
349
  souleyez/ui/intelligence_view.py,sha256=VeAQ-3mANRnLIVpRqocL3JV0HUmJtADdxDeC5lzQhE0,32168
350
- souleyez/ui/interactive.py,sha256=3WUuQMTNvVjcklkKbxmZCSFL0PqcQEeiaONTDtl4duU,1409094
350
+ souleyez/ui/interactive.py,sha256=XqaN0Jnh-qRud24yAP5U-NViLM2G70sfCaAbcGC65i4,1409179
351
351
  souleyez/ui/interactive_selector.py,sha256=6A51fgmFRnemBY0aCPHIhK2Rpba16NjSGKLzC0Q5vI8,16407
352
352
  souleyez/ui/log_formatter.py,sha256=akhIkYoO_cCaKxS1V5N3iPmIrHzgsU7pmsedx70s9TI,3845
353
353
  souleyez/ui/menu_components.py,sha256=N8zq2QXGmfaLJ08l53MMYt1y-5LRWgpZH6r8nXHonj8,3519
@@ -370,9 +370,9 @@ souleyez/ui/tutorial_state.py,sha256=Thf7_qCj4VKjG7UqgJqa9kjIqiFUU-7Q7kG4v-u2B4A
370
370
  souleyez/ui/wazuh_vulns_view.py,sha256=3vJJEmrjgS2wD6EDB7ZV7WxgytBHTm-1WqNDjp7lVEI,21830
371
371
  souleyez/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
372
372
  souleyez/utils/tool_checker.py,sha256=YzNajZpFyKJA5fp0Kq_gQ0YnKb7J1BaKJSZ8vP-IWj8,30868
373
- souleyez-2.43.8.dist-info/licenses/LICENSE,sha256=J7vDD5QMF4w2oSDm35eBgosATE70ah1M40u9W4EpTZs,1090
374
- souleyez-2.43.8.dist-info/METADATA,sha256=7gYfKwNQcehNCgKHrpSM_Tc4HLHOJfQNfrsRa2HY_d8,10425
375
- souleyez-2.43.8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
376
- souleyez-2.43.8.dist-info/entry_points.txt,sha256=bN5W1dhjDZJl3TKclMjRpfQvGPmyrJLwwDuCj_X39HE,48
377
- souleyez-2.43.8.dist-info/top_level.txt,sha256=afAMzS9p4lcdBNxhGo6jl3ipQE9HUvvNIPOdjtPjr_Q,9
378
- souleyez-2.43.8.dist-info/RECORD,,
373
+ souleyez-2.43.12.dist-info/licenses/LICENSE,sha256=J7vDD5QMF4w2oSDm35eBgosATE70ah1M40u9W4EpTZs,1090
374
+ souleyez-2.43.12.dist-info/METADATA,sha256=BqwnW_Lm4R-T_rhGCK7rBhZBfsXvgDSSjWbiClza5X4,10426
375
+ souleyez-2.43.12.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
376
+ souleyez-2.43.12.dist-info/entry_points.txt,sha256=bN5W1dhjDZJl3TKclMjRpfQvGPmyrJLwwDuCj_X39HE,48
377
+ souleyez-2.43.12.dist-info/top_level.txt,sha256=afAMzS9p4lcdBNxhGo6jl3ipQE9HUvvNIPOdjtPjr_Q,9
378
+ souleyez-2.43.12.dist-info/RECORD,,