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:13:08 -08:00
committed by Ahmed Allam
parent a4b737c2b6
commit e1d440c46f
9 changed files with 333 additions and 12 deletions
+3 -1
View File
@@ -66,6 +66,8 @@ async def run_cli(args: Any) -> None: # noqa: PLR0915
console.print(startup_panel)
console.print()
scan_mode = getattr(args, "scan_mode", "deep")
scan_config = {
"scan_id": args.run_name,
"targets": args.targets_info,
@@ -73,7 +75,7 @@ async def run_cli(args: Any) -> None: # noqa: PLR0915
"run_name": args.run_name,
}
llm_config = LLMConfig()
llm_config = LLMConfig(scan_mode=scan_mode)
agent_config = {
"llm_config": llm_config,
"max_iterations": 300,