Add integration test endpoints for n8n and Ollama

This commit is contained in:
2025-11-13 22:35:43 -05:00
parent e21301cffb
commit 97bb575cbd
37 changed files with 4731 additions and 1 deletions

View File

@@ -0,0 +1,35 @@
"""Target prioritizer AI agent."""
from __future__ import annotations
from typing import Any, Dict, List
from .base_agent import AgentResult, BaseAgent
class PrioritizerAgent(BaseAgent):
name = "prioritizer"
def build_prompt(self, context: Dict[str, Any]) -> str:
hosts: List[Dict[str, Any]] = context.get("assets", [])
findings = []
for asset in hosts:
ip = asset.get("ip")
severity = max(
(vuln.get("severity", "") for svc in asset.get("services", []) for vuln in svc.get("vulnerabilities", [])),
default="",
)
findings.append(f"Host {ip} exposes {len(asset.get('services', []))} services (max severity: {severity}).")
prompt_lines = [
"You are GooseStrike's targeting aide.",
"Rank the following hosts for next actions using MITRE ATT&CK tactics.",
]
prompt_lines.extend(findings or ["No assets supplied; recommend intel-gathering tasks."])
prompt_lines.append("Return JSON with priorities, rationale, and suggested tactic per host.")
return "\n".join(prompt_lines)
def parse(self, raw: str) -> Dict[str, Any]:
return {"priorities": raw.strip()}
def prioritize_targets(context: Dict[str, Any]) -> AgentResult:
return PrioritizerAgent().run(context)