
Framework automatizzato per bug bounty e ricognizione — integra Subfinder, Naabu, Httpx, Nuclei, Nmap, CVEMap, Gowitness, Katana e altro dietro un'interfaccia web unificata
Una piattaforma offensiva di sicurezza open-source potenziata dall'IA che integra strumenti di sicurezza noti dietro un'interfaccia web unificata — con scansione distribuita, report generati dall'IA, un planner di scansione intelligente, un grafo degli attacchi interattivo e un SDK per plugin della community.
Dai un'occhiata anche ad ObsidianBox Modern su Google Play.
| Sezione | Descrizione |
|---|---|
| Perché | Motivazione e filosofia |
| Strumenti Integrati | I 10 strumenti open-source orchestrati da XPFarm |
| Mappa dell'Architettura | Architettura completa del sistema, pipeline di scansione, flusso dei dati |
| Overlord — Analisi AI | Agente AI per l'analisi binaria/malware/web |
| Bug Bounty Reports | Report professionali di divulgazione generati dall'IA |
| AI Scan Planner | Pianificatore ottimizzato dall'IA per fasi di ricognizione e sfruttamento |
| Worker Distribuiti | Esegui scansioni su più macchine in parallelo |
| Grafo di Scansione | Grafo interattivo di asset, servizi, vulnerabilità, exploit |
| Plugin SDK | Sistema di strumenti, agenti e pipeline estensibile dalla community |
| Motore di Normalizzazione dei Risultati | Risultati di sicurezza unificati, arricchiti e deduplicati |
| Novità | Recenti miglioramenti per sicurezza, affidabilità e UX |
| Configurazione | Istruzioni per build e deployment |
| TODO | Funzionalità pianificate e roadmap |

Strumenti come Assetnote sono ottimi — ben mantenuti, aggiornati e trasparenti nell'identificazione delle vulnerabilità. Ma non sono open-source. Inoltre non c'è bisogno di reinventare la ruota, dato che esistono già molti solidi strumenti open-source. XPFarm li integra insieme in modo da avere uno scanner di vulnerabilità open-source e meno corporate.
L'attenzione è stata posta sulla creazione di uno scanner di vulnerabilità dove puoi vedere cosa fallisce o viene rimosso in background, invece di chiederti quale sia il mistero. Ogni cosa che la pipeline di scansione fa viene mostrata all'utente.

![]() Asjidkalam |
![]() jamoski3112 Ricerca |
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["Pagine HTML"]
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["Pipeline di Scansione a 8 Stadi"]
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/"]