
Pipeline automatizzata di analisi delle minacce basata su AI che instrada file, URL, IP, domini o immagini attraverso analizzatori di sicurezza specializzati e genera report professionali PWNDoc con regole YARA e Sigma integrate.
Carica qualsiasi file, URL, IP, dominio o immagine. SecFlow lo instrada attraverso analizzatori specializzati, valuta i risultati con l'IA e produce un rapporto di sicurezza professionale con regole YARA, regole SIGMA e PDF esportabile — automaticamente.
Guida Rapida · Architettura · Output del Report · Documentazione
SecFlow è una pipeline automatizzata open-source per l'analisi delle minacce progettata per analisti di sicurezza, team SOC e ricercatori. Invece di eseguire manualmente strumenti disparati e correlare i risultati, SecFlow:
| Caratteristica | Dettaglio |
|---|---|
| Routing basato su IA | Groq qwen/qwen3-32b decide l'analizzatore successivo dopo ogni passaggio — nessuna configurazione manuale |
| 5 analizzatori specializzati | Malware · Steganografia · Ricognizione · Vulnerabilità Web · Macro/Office |
| Primo passaggio intelligente | Regole deterministiche di file + python-magic al passaggio 1 — L'IA viene chiamata solo quando il tipo è ambiguo |
| Download e analisi | Segue gli IOC — scarica i payload trovati nell'output grezzo e li instrada attraverso l'analizzatore corretto |
| Generazione di regole YARA | Genera automaticamente 2–5 regole YARA distribuibili per analisi, ciascuna citando l'esatta evidenza che l'ha motivata |
| Generazione di regole SIGMA | Genera automaticamente 2–4 regole SIGMA per Splunk / Elastic / Sentinel — coprendo diverse fonti di log |
| Mapping MITRE ATT&CK | Ogni risultato mappato a ID TTP reali con nomi di tattiche |
| Formati di report duali | Report HTML (stampa in PDF nel browser) + report JSON strutturato (alimentato direttamente all'IA per ulteriori analisi) |
| Dashboard React | Interfaccia utente completa — invia analisi, visualizza l'avanzamento della pipeline in tempo reale, sfoglia i risultati per analizzatore |
| Integrazione VirusTotal | Sia l'analizzatore Malware che Macro interrogano oltre 70 motori antivirus tramite API v3 VT |
| Profondità di loop configurabile | 3, 4 o 5 passaggi — si ferma prima se l'IA segnala nessun ulteriore segnale |
| Modalità standalone | Ogni microservizio analizzatore espone la propria API REST — usali in modo indipendente |
User Input (file / URL / IP / domain / image) │ ▼ ┌────────────────────────────────┐ │ Input Classifier │ file + python-magic → deterministic rule │ (Rule-based, pass 1 only) │ unknown type? → Groq AI fallback └───────────────┬────────────────┘ │ first analyzer selected ▼ ┌────────────────────────────────────────────────────────┐ │ Analyzer Loop (N = 3 / 4 / 5 passes) │ │ │ │ ┌──────────────────────────────────────────────────┐ │ │ │ Run Analyzer (HTTP → Docker microservice) │ │ │ │ Malware · Steg · Recon · Web · Macro │ │ │ └───────────────┬──────────────────────────────────┘ │ │ │ findings + raw_output │ │ ┌───────────────▼──────────────────────────────────┐ │ │ │ AI Routing Engine (Groq qwen/qwen3-32b) │ │ │ │ IOC extraction → next_tool + target │ │ │ └───────────────┬──────────────────────────────────┘ │ │ │ │ │ ┌───────┴──────────────────┐ │ │ next tool null │ │ │ │ │ │ │ Download HTTP payloads │ │ │ from raw_output → re-analyze │ │ └──────────────── repeat ────────────────────┘│ └─────────────────┬──────────────────────────────────────┘ │ ▼ ┌────────────────────────────────┐ │ Findings Store │ All passes · all findings accumulated └───────────────┬────────────────┘ │ ▼ ┌────────────────────────────────────────────┐ │ Threat Intelligence Engine │ │ (Groq llama-3.3-70b-versatile) │ │ ├─ Threat Summary + MITRE ATT&CK TTPs │ │ ├─ YARA Detection Rules (2–5 rules) │ │ └─ SIGMA SIEM Rules (2–4 rules) │ └───────────────┬────────────────────────────┘ │ ▼ ┌────────────────────────────────┐ │ PWNDoc HTML Report │ Groq summary → browser-rendered HTML │ │ One-click Export PDF button └────────────────────────────────┘
---
## Avvio rapido
### Prerequisiti
- Docker + Docker Compose
- Chiavi API per Groq e VirusTotal (i livelli gratuiti funzionano)
### 1. Clona il repository```bash
git clone https://github.com/aradhyacp/SecFlow.git
cd SecFlow/backend
cp .env.example .env
Modifica `.env` con le tue chiavi:```env
# Required
GROQ_API_KEY=your_groq_api_key_here
VIRUSTOTAL_API_KEY=your_vt_api_key_here
# Optional — unlock additional OSINT capabilities
NUMVERIFY_API_KEY=your_numverify_key # Phone number lookups
THREATFOX_API_KEY=your_threatfox_key # Higher ThreatFox rate limits
ipAPI_KEY=your_ipapi_key # Higher ip-api.com rate limits
# Pipeline control
MAX_PASSES=3 # 3 | 4 | 5
docker compose up -d
Questo avvia 6 contenitori:
| Servizio | Porta | Ruolo |
|---|---|---|
| `orchestrator` | `5000` | Controllore della pipeline — punto di ingresso principale |
| `malware-analyzer` | `5001` | Decompilazione Ghidra + VirusTotal |
| `steg-analyzer` | `5002` | binwalk + zsteg + steghide + ExifTool |
| `recon-analyzer` | `5003` | ip-api + ThreatFox + OSINT |
| `web-analyzer` | `5005` | Scanner vulnerabilità HTTP + audit header |
| `macro-analyzer` | `5006` | oletools (olevba) + VirusTotal |
> **Nota:** Il primo avvio potrebbe richiedere diversi minuti — l'Analizzatore Malware scarica Ghidra 12.0.1 (~500 MB) e richiede una JVM JDK 21.