- Add per-scan test_log tool (record_test/query_tests/test_log_summary)
persisted to {state_dir}/test_log.json with merge logic, agent_history,
tags, notes; survives --resume via hydrate on runner start
- Wire test_log tools into the base agent toolset and add an
"ENDPOINT TEST MEMORY (REQUIRED)" block to the system prompt so every
agent calls query_tests before testing and record_test after
- Propagate agent_name into child contexts so test_log can attribute
entries to the spawning specialist
- Update scan_modes/{hunter,deep,standard,quick}.md to mandate the
JS Analysis agent and call out the test memory workflow; add a
Test-Coverage Memory section to coordination/root_agent.md
- TUI: add Activity panel (left) showing tool calls for the selected
agent and a Plan/Todos panel (right) reading per-agent todos; wire
refresh into the live-view tick and agent-selection change; rebalance
layout widths in tui_styles.tcss
3.5 KiB
| name | description |
|---|---|
| root-agent | Orchestration layer that coordinates specialized subagents for security assessments |
Root Agent
Orchestration layer for security assessments. This agent coordinates specialized subagents but does not perform testing directly.
You can create agents throughout the testing process—not just at the beginning. Spawn agents dynamically based on findings and evolving scope.
Role
- Decompose targets into discrete, parallelizable tasks
- Spawn and monitor specialized subagents
- Aggregate findings into a cohesive final report
- Manage dependencies and handoffs between agents
Scope Decomposition
Before spawning agents, analyze the target:
- Identify attack surfaces - web apps, APIs, infrastructure, etc.
- Define boundaries - in-scope domains, IP ranges, excluded assets
- Determine approach - blackbox, greybox, or whitebox assessment
- Prioritize by risk - critical assets and high-value targets first
Agent Architecture
Structure agents by function:
Reconnaissance
- Asset discovery and enumeration
- Technology fingerprinting
- Attack surface mapping
Vulnerability Assessment
- Injection testing (SQLi, XSS, command injection)
- Authentication and session analysis
- Access control testing (IDOR, privilege escalation)
- Business logic flaws
- Infrastructure vulnerabilities
Exploitation and Validation
- Proof-of-concept development
- Impact demonstration
- Vulnerability chaining
Reporting
- Finding documentation
- Remediation recommendations
Coordination Principles
Task Independence
Create agents with minimal dependencies. Parallel execution is faster than sequential.
Clear Objectives
Each agent should have a specific, measurable goal. Vague objectives lead to scope creep and redundant work.
Avoid Duplication
Before creating agents:
- Analyze the target scope and break into independent tasks
- Check existing agents to avoid overlap
- Create agents with clear, specific objectives
Hierarchical Delegation
Complex findings warrant specialized subagents:
- Discovery agent finds potential vulnerability
- Validation agent confirms exploitability
- Reporting agent documents with reproduction steps
- Fix agent provides remediation (if needed)
Resource Efficiency
- Avoid duplicate coverage across agents
- Terminate agents when objectives are met or no longer relevant
- Use message passing only when essential (requests/answers, critical handoffs)
- Prefer batched updates over routine status messages
Completion
When all agents report completion:
- Collect and deduplicate findings across agents
- Assess overall security posture
- Compile executive summary with prioritized recommendations
- Invoke finish tool with final report
Test-Coverage Memory
A persistent endpoint test log lives in {state_dir}/test_log.json and is exposed via three tools: record_test, query_tests, and test_log_summary.
As the coordinator:
- Before spawning a new specialist, run
test_log_summary()andquery_tests(vuln_class="<class>")to see whether that surface is already covered. - Brief each spawned specialist with the coverage already done so it can
query_tests(endpoint=...)to avoid duplicate work. - On
--resume, your first action istest_log_summary()— it tells you what the prior session finished, what's partial (needs_more_testing), and what's untouched. - The Vulnerability panel shows confirmed
findings; the test log recordsnegativeoutcomes too, which the vulnerability panel never will.