MCP-based autonomous security agent that plans, executes, and reports on security missions using modular tools and LLM-powered analysis.
Agent Smiths receives mission definitions (JSON), uses an LLM to plan the execution strategy, runs security tools autonomously, and generates detailed reports.
Mission JSON → LLM Planning → Tool Execution → Analysis → Report
- smiths.py — Core agent: mission loading, LLM-driven planning, tool orchestration, report generation
- tools.py — MCP tool framework: nmap scanning, testssl analysis, header inspection
- exploit_tool.py — CVE search and exploit execution via cve-maker
- llm_analyzer.py — LLM integration for phishing analysis, text generation, and summarization
- phishing_email_analyzer.py — Multi-layer phishing detection: header analysis, URL reputation, LLM scoring
- nlp_parser.py — Natural language mission parser (English/Spanish)
- mission_client.py — Mission dispatcher client
- Autonomous mission execution — Give it a target and mission type, it plans and executes
- Multi-tool orchestration — nmap, testssl, nikto, header analysis, CVE exploitation
- LLM-powered analysis — Uses LLM API for intelligent planning and result interpretation
- Phishing detection — Header analysis + URL reputation + LLM scoring pipeline
- Natural language interface — Parse missions from plain text in English or Spanish
- Automated reporting — Generates markdown reports with findings and recommendations
{
"mission_type": "analyze_web_vulnerability",
"mission_details": { "target": "http://testphp.vulnweb.com/" }
}{
"mission_type": "vulnerability_exploitation",
"mission_details": { "cve_id": "CVE-2021-44228" }
}pip install -r requirements.txt
# Configure your LLM API credentials
export LLM_API_KEY="your-api-key"
export LLM_BASE_URL="https://api.your-llm-provider.com/api"# Run a mission from JSON
python smiths.py --mission mision_ejemplo.json
# Run tests
python -m pytest test_smiths.py -vMIT