feat: add --scan-mode CLI option with quick/standard/deep modes

Introduces scan mode selection to control testing depth and methodology:
- quick: optimized for CI/CD, focuses on recent changes and high-impact vulns
- standard: balanced coverage with systematic methodology
- deep: exhaustive testing with hierarchical agent swarm (now default)

Each mode has dedicated prompt modules with detailed pentesting guidelines
covering reconnaissance, mapping, business logic analysis, exploitation,
and vulnerability chaining strategies.

Closes #152
This commit is contained in:
0xallam
2025-12-14 19:05:00 -08:00
committed by Ahmed Allam
parent 5c995628bf
commit c29f13fd69
9 changed files with 333 additions and 12 deletions

View File

@@ -158,9 +158,10 @@ class LLM:
)
try:
prompt_module_content = load_prompt_modules(
self.config.prompt_modules or [], self.jinja_env
)
modules_to_load = list(self.config.prompt_modules or [])
modules_to_load.append(f"scan_modes/{self.config.scan_mode}")
prompt_module_content = load_prompt_modules(modules_to_load, self.jinja_env)
def get_module(name: str) -> str:
return prompt_module_content.get(name, "")