
Framework automatizado de bug bounty & recon — envolve Subfinder, Naabu, Httpx, Nuclei, Nmap, CVEMap, Gowitness, Katana & mais por trás de uma interface web unificada
Uma plataforma de segurança ofensiva de código aberto aumentada por IA que agrupa ferramentas de segurança conhecidas por trás de uma interface web unificada — com varredura distribuída, relatórios gerados por IA, um planejador inteligente de varredura, um grafo de ataque interativo e um SDK de plugins comunitário.
Confira também o ObsidianBox Modern no Google Play.
| Seção | Descrição |
|---|---|
| Porquê | Motivação e filosofia |
| Ferramentas Incluídas | As 10 ferramentas de código aberto orquestradas pelo XPFarm |
| Mapa da Arquitetura | Arquitetura completa do sistema, pipeline de varredura, fluxo de dados |
| Overlord — Análise com IA | Agente de IA para análise de binários/malware/web |
| Relatórios de Bug Bounty | Relatórios profissionais de divulgação gerados por IA |
| Planeador de Varredura com IA | Planejador de etapas de recon & exploração otimizado por IA |
| Trabalhadores Distribuídos | Execute varreduras em várias máquinas em paralelo |
| Grafo de Varredura | Grafo interativo de ativos, serviços, vulnerabilidades, explorações |
| SDK de Plugins | Sistema de Ferramentas, Agentes e Pipelines extensível pela comunidade |
| Motor de Normalização de Achados | Achados de segurança unificados, enriquecidos e deduplicados |
| Novidades | Melhorias recentes em segurança, confiabilidade e UX |
| Configuração | Instruções de build e implantação |
| TODO | Funcionalidades planejadas e roteiro |

Ferramentas como Assetnote são ótimas — bem mantidas, atualizadas e transparentes sobre a identificação de vulnerabilidades. Mas não são de código aberto. Também não há necessidade de reinventar a roda, já que existem muitas ferramentas de código aberto sólidas. O XPFarm as agrupa para que você tenha um scanner de vulnerabilidades que é código aberto e menos corporativo.
O foco foi construir um scanner de vulnerabilidades onde você possa ver o que falha ou é removido em segundo plano, em vez de se perguntar sobre o mistério. Tudo o que o pipeline de varredura faz é exibido para o usuário.

![]() Asjidkalam |
![]() jamoski3112 Pesquisa |
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/"]