
Marco automatizado de bug bounty y reconocimiento — engloba Subfinder, Naabu, Httpx, Nuclei, Nmap, CVEMap, Gowitness, Katana y más detrás de una interfaz web unificada
Una plataforma de seguridad ofensiva aumentada con IA de código abierto que envuelve herramientas de seguridad conocidas detrás de una interfaz web unificada — con escaneo distribuido, informes generados por IA, un planificador de escaneo inteligente, un gráfico de ataque interactivo y un SDK de plugins comunitario.
También echa un vistazo a ObsidianBox Modern en Google Play.
| Sección | Descripción |
|---|---|
| Por qué | Motivación y filosofía |
| Herramientas integradas | Las 10 herramientas de código abierto orquestadas por XPFarm |
| Mapa de arquitectura | Arquitectura completa del sistema, pipeline de escaneo, flujo de datos |
| Overlord — Análisis con IA | Agente de IA para análisis de binarios/malware/web |
| Informes de Bug Bounty | Informes de divulgación profesionales generados por IA |
| Planificador de escaneo con IA | Planificador de pasos de reconocimiento y explotación optimizado por IA |
| Trabajadores distribuidos | Ejecuta escaneos en múltiples máquinas en paralelo |
| Gráfico de escaneo | Gráfico interactivo de activos, servicios, vulnerabilidades, exploits |
| SDK de plugins | Sistema de herramientas, agentes y pipelines extensible por la comunidad |
| Motor de normalización de hallazgos | Hallazgos de seguridad unificados, enriquecidos y deduplicados |
| Novedades | Mejoras recientes en seguridad, confiabilidad y UX |
| Configuración | Instrucciones de compilación e implementación |
| Pendientes | Funcionalidades planificadas y hoja de ruta |

Herramientas como Assetnote son excelentes — bien mantenidas, actualizadas y transparentes en la identificación de vulnerabilidades. Pero no son de código abierto. Tampoco es necesario reinventar la rueda, ya que existen muchas herramientas sólidas de código abierto. XPFarm las integra para que puedas tener un escáner de vulnerabilidades que sea de código abierto y menos corporativo.
El enfoque estuvo en construir un escáner de vulnerabilidades donde puedas ver qué falla o se elimina en segundo plano, en lugar de preguntarte sobre el misterio. Todo lo que hace el pipeline de escaneo se muestra al usuario.

![]() Asjidkalam |
![]() jamoski3112 Investigación |
flowchart TB
subgraph ENTRY["Entrypoint — main.go"]
M1["Parse Flags (-debug)"]
M2["InitDB — SQLite + WAL + GORM"]
M3["InitModules — 10 tool wrappers"]
M4["Load Plugins — normalization/all + plugins/all"]
M5["Health Check — auto-install missing tools"]
M6["CheckAndIndexTemplates — Nuclei versioning"]
M7["StartServer — Gin on :8888"]
M1 --> M2 --> M3 --> M4 --> M5 --> M6 --> M7
end
subgraph UI_LAYER["Web UI — internal/ui/server.go"]
direction TB
GIN["Gin HTTP Server\nEmbedded templates + static\nCSRF origin-check middleware"]
subgraph Pages["HTML Pages"]
P1["Dashboard — SSE live stage progress"]
P2["Assets & Targets"]
P3["Global Search — paginated + truncation"]
P4["Scan Graph — Cytoscape.js"]
P5["Bug Bounty Reports"]
P6["AI Scan Planner"]
P7["Workers & Jobs"]
P8["Overlord Chat + Binary Upload"]
P9["Modules"]
P10["Settings — AES-256-GCM encrypted"]
end
GIN --> Pages
end
subgraph SCAN_ENGINE["Scan Engine — internal/core/"]
direction TB
SM["ScanManager\nSingleton, mutex-guarded\nPanic recovery + SSE broadcast"]
subgraph PIPELINE["8-Stage Scanning Pipeline"]
direction TB
S1["1. Subfinder — Subdomain Discovery"]
S2["2. Filter & Save — Cloudflare / Localhost / Alive"]
S3["3. Naabu — Port Scanning (5-worker pool)"]
S4["4. Nmap — Service + Version Detection"]
S5["5. Httpx — HTTP Probing + Metadata"]
S6["6. Parallel Web — Screenshots, Crawl, URLs, Tech"]
S7["7. CVEMap — CVE lookup by product/tech"]
S8["8. Nuclei — Vulnerability Scanning"]
S1 --> S2 --> S3 --> S4 --> S5 --> S6 --> S7 --> S8
end
SM --> PIPELINE
end
subgraph REPORTS["Bug Bounty Reports — internal/reports/"]
RG["GenerateReport()\nCollects DB context + graph\nOverlord AI generation\nFallback built-in templates"]
RF["Formats: Markdown · PDF · HackerOne · Bugcrowd"]
RS["Storage: internal/storage/reports/"]
RG --> RF --> RS
end
subgraph PLANNER["AI Scan Planner — internal/planner/"]
PL["GenerateScanPlan()\nGathers asset/finding/graph context\nPolls Overlord for JSON plan\nFallback heuristic plan"]
PC["Capability Registry — 26 capabilities\n10 built-in modules + 16 Overlord agents\nRisk levels: safe / active / destructive"]
PS["ExecutePlanWithLogs()\nSSE log streaming per step\nRoutes builtin vs Overlord agent steps"]
PL --> PC --> PS
end
subgraph DISTRIBUTED["Distributed Workers — internal/distributed/"]
DW["Worker Binary — cmd/worker/main.go\n./xpfarm-worker -controller http://host:8888"]
DC["Controller — token auth, heartbeat monitor\nAtomically claims jobs from queue"]
DS["Scheduler — BestWorkerForTool()\nRoutes by capability + active job count"]
DJ["Job Queue — internal/storage/jobs/\nClaim via DB transaction, 30min timeout"]
DW --> DC --> DS --> DJ
end
subgraph OVERLORD["Overlord — AI Agent Subsystem"]
OV_PROXY["Overlord Proxy — internal/overlord/"]