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

@@ -233,14 +233,14 @@ def create_agent(
parent_agent = _agent_instances.get(parent_id)
timeout = None
if (
parent_agent
and hasattr(parent_agent, "llm_config")
and hasattr(parent_agent.llm_config, "timeout")
):
timeout = parent_agent.llm_config.timeout
scan_mode = "deep"
if parent_agent and hasattr(parent_agent, "llm_config"):
if hasattr(parent_agent.llm_config, "timeout"):
timeout = parent_agent.llm_config.timeout
if hasattr(parent_agent.llm_config, "scan_mode"):
scan_mode = parent_agent.llm_config.scan_mode
llm_config = LLMConfig(prompt_modules=module_list, timeout=timeout)
llm_config = LLMConfig(prompt_modules=module_list, timeout=timeout, scan_mode=scan_mode)
agent_config = {
"llm_config": llm_config,