
Cadre automatisé de bug bounty et de reconnaissance — regroupe Subfinder, Naabu, Httpx, Nuclei, Nmap, CVEMap, Gowitness, Katana et plus encore derrière une interface web unifiée
Une plateforme de sécurité offensive open source augmentée par l'IA, qui englobe des outils de sécurité bien connus derrière une interface Web unifiée — avec analyse distribuée, rapports générés par IA, planificateur de scan intelligent, graphe d'attaque interactif et SDK de plugin communautaire.
Consultez aussi ObsidianBox Modern sur Google Play.
| Section | Description |
|---|---|
| Pourquoi | Motivation et philosophie |
| Outils intégrés | Les 10 outils open source orchestrés par XPFarm |
| Architecture | Architecture complète du système, pipeline de scan, flux de données |
| Overlord — Analyse IA | Agent IA pour l'analyse de binaires/malwares/web |
| Rapports Bug Bounty | Rapports de divulgation professionnels générés par IA |
| Planificateur de scan IA | Planificateur d'étapes de reconnaissance et d'exploitation optimisé par IA |
| Travailleurs distribués | Exécution de scans sur plusieurs machines en parallèle |
| Graphe de scan | Graphe interactif des actifs, services, vulnérabilités, exploits |
| SDK de plugin | Système d'outils, agents et pipelines extensible par la communauté |
| Moteur de normalisation des constats | Constats de sécurité unifiés, enrichis et dédupliqués |
| Nouveautés | Améliorations récentes en sécurité, fiabilité et UX |
| Installation | Instructions de construction et de déploiement |
| À faire | Fonctionnalités planifiées et feuille de route |

Des outils comme Assetnote sont excellents — bien maintenus, à jour et transparents sur l'identification des vulnérabilités. Mais ils ne sont pas open source. Il n'est pas non plus nécessaire de réinventer la roue, car de nombreux outils open source solides existent déjà. XPFarm les rassemble pour vous offrir un scanner de vulnérabilités qui est open source et moins corporate.
L'accent a été mis sur la construction d'un scanner de vulnérabilité où vous pouvez voir ce qui échoue ou est supprimé en arrière-plan, au lieu de vous interroger sur le mystère. Tout ce que le pipeline de scan fait est remonté à l'utilisateur.

![]() Asjidkalam |
![]() jamoski3112 Recherche |
flowchart TB
subgraph ENTRY["Point d'entrée — main.go"]
M1["Parse Flags (-debug)"]
M2["InitDB — SQLite + WAL + GORM"]
M3["InitModules — 10 wrappers d'outils"]
M4["Load Plugins — normalization/all + plugins/all"]
M5["Health Check — auto-install des outils manquants"]
M6["CheckAndIndexTemplates — versionnement Nuclei"]
M7["StartServer — Gin sur :8888"]
M1 --> M2 --> M3 --> M4 --> M5 --> M6 --> M7
end
subgraph UI_LAYER["Interface Web — internal/ui/server.go"]
direction TB
GIN["Serveur HTTP Gin\nTemplates embarqués + statique\nMiddleware CSRF origin-check"]
subgraph Pages["Pages HTML"]
P1["Tableau de bord — progression des étapes en temps réel via SSE"]
P2["Actifs et cibles"]
P3["Recherche globale — paginée + troncature"]
P4["Graphe de scan — Cytoscape.js"]
P5["Rapports Bug Bounty"]
P6["Planificateur de scan IA"]
P7["Travailleurs et tâches"]
P8["Chat Overlord + téléversement binaire"]
P9["Modules"]
P10["Paramètres — chiffrés AES-256-GCM"]
end
GIN --> Pages
end
subgraph SCAN_ENGINE["Moteur de scan — internal/core/"]
direction TB
SM["ScanManager\nSingleton, protégé par mutex\nRécupération de panique + diffusion SSE"]
subgraph PIPELINE["Pipeline de scan en 8 étapes"]
direction TB
S1["1. Subfinder — Découverte de sous-domaines"]
S2["2. Filtrage et sauvegarde — Cloudflare / Localhost / Alive"]
S3["3. Naabu — Scan de ports (pool de 5 workers)"]
S4["4. Nmap — Détection de services et versions"]
S5["5. Httpx — Sondage HTTP + métadonnées"]
S6["6. Web parallèle — Captures d'écran, crawl, URLs, technologies"]
S7["7. CVEMap — Recherche CVE par produit/technologie"]
S8["8. Nuclei — Scan de vulnérabilités"]
S1 --> S2 --> S3 --> S4 --> S5 --> S6 --> S7 --> S8
end
SM --> PIPELINE
end
subgraph REPORTS["Rapports Bug Bounty — internal/reports/"]
RG["GenerateReport()\nCollecte du contexte DB + graphe\nGénération IA Overlord\nModèles intégrés de secours"]
RF["Formats : Markdown · PDF · HackerOne · Bugcrowd"]
RS["Stockage : internal/storage/reports/"]
RG --> RF --> RS
end
subgraph PLANNER["Planificateur de scan IA — internal/planner/"]
PL["GenerateScanPlan()\nRassemble le contexte actifs/constats/graphe\nInterroge Overlord pour un plan JSON\nPlan heuristique de secours"]
PC["Registre de capacités — 26 capacités\n10 modules intégrés + 16 agents Overlord\nNiveaux de risque : safe / active / destructive"]
PS["ExecutePlanWithLogs()\nDiffusion des logs d'étape via SSE\nAiguillage intégré vs agent Overlord"]
PL --> PC --> PS
end
subgraph DISTRIBUTED["Travailleurs distribués — internal/distributed/"]
DW["Binaire Worker — cmd/worker/main.go\n./xpfarm-worker -controller http://host:8888"]
DC["Contrôleur — authentification par jeton, moniteur de battement de cœur\nRéclame atomiquement les tâches de la file d'attente"]
DS["Planificateur — BestWorkerForTool()\nAiguille par capacité + nombre de tâches actives"]
DJ["File d'attente des tâches — internal/storage/jobs/\nRéclamation via transaction DB, timeout 30 min"]
DW --> DC --> DS --> DJ
end