
IFRIT è un reverse proxy basato sull'intelligenza artificiale che intercetta le richieste in arrivo in tempo reale, classificando ciascuna come legittima o dannosa. Il traffico legittimo viene inoltrato al backend; il traffico dannoso riceve una risposta honeypot personalizzata generata dall'IA che imita la risorsa richiesta con dati fittizi, ingannando gli attaccanti e facendogli sprecare tempo.
Trasforma gli attaccanti in fonti di intelligence con risposte honeypot adattive
📦 Avvio rapido • ✨ Caratteristiche • 🔄 Come funziona • 📚 Documentazione • 🔌 API
IFRIT è un proxy inverso intelligente che si posiziona tra internet e le tue applicazioni, analizzando ogni richiesta in tempo reale. Il traffico legittimo passa senza intoppi. Traffico dannoso? Riceve risposte honeypot generate dall'IA che fanno perdere tempo agli attaccanti mentre raccogli intelligence.
subgraph "IFRIT Proxy Layer"
B[🛡️ IFRIT Proxy]
subgraph "AI Detection Engine"
C1[🤖 Claude Sonnet 4]
C2[🤖 Gemini 2.0 Flash]
end
subgraph "Threat Intelligence"
D1[📊 AbuseIPDB]
D2[🦠 VirusTotal]
D3[🌍 IPInfo]
end
end
subgraph Backend
E[🎯 Your Application]
end
subgraph "Attacker Receives"
F[🍯 Fake Data<br/>Honeypot Response]
end
subgraph "User Receives"
G[📦 Real Data<br/>Protected]
end
A -->|Malicious Request| B
L -->|Normal Request| B
B --> C1
B --> C2
B --> D1
B --> D2
B --> D3
B -->|Attack Detected| F
B -->|Legitimate| E
E -->|Response| G
F -.->|Wasted Time| A
G -->|Secure Access| L
style A fill:#ff6b6b,stroke:#c92a2a,stroke-width:2px,color:#fff
style L fill:#51cf66,stroke:#2f9e44,stroke-width:2px,color:#fff
style B fill:#4c6ef5,stroke:#364fc7,stroke-width:3px,color:#fff
style C1 fill:#845ef7,stroke:#5f3dc4,stroke-width:2px,color:#fff
style C2 fill:#845ef7,stroke:#5f3dc4,stroke-width:2px,color:#fff
style D1 fill:#ff922b,stroke:#e8590c,stroke-width:2px,color:#fff
style D2 fill:#ff922b,stroke:#e8590c,stroke-width:2px,color:#fff
style D3 fill:#ff922b,stroke:#e8590c,stroke-width:2px,color:#fff
style E fill:#20c997,stroke:#12b886,stroke-width:2px,color:#fff
style F fill:#fa5252,stroke:#c92a2a,stroke-width:2px,color:#fff
style G fill:#51cf66,stroke:#2f9e44,stroke-width:2px,color:#fff
</details>
**Flusso semplificato:**
<div align="center">
<img src="https://assets.kitploit.com/production/public/readmes/9318/20428ce8d35f40faaa17f7f8c313021a74af35675f384b2db7a60034dbfdcdf2.png" alt="IFRIT Diagramma di flusso semplice" width="650">
</div>
</div>
---
## 🚀 Avvio Rapido
> **Inizia a usarlo in meno di 2 minuti**
### 📦 Installazione
<table>
<tr>
<td width="50%">
**macOS (Apple Silicon)**```bash
curl -L -o ifrit-v0.3.2-darwin-arm64.tar.gz \
https://github.com/0tSystemsPublicRepos/IfritProxy/releases/download/v0.3.2/ifrit-v0.3.2-darwin-arm64.tar.gz
tar -xzf ifrit-v0.3.2-darwin-arm64.tar.gz
cd ifrit-v0.3.2-darwin-arm64
./install.sh
Linux (x64)```bash
curl -LO https://github.com/0tSystemsPublicRepos/\
IfritProxy/releases/download/v0.3.2/
ifrit-v0.3.2-linux-amd64.tar.gz
tar -xzf ifrit-v0.3.2-linux-amd64.tar.gz cd ifrit-v0.3.2-linux-amd64 ./install.sh
</td>
</tr>
</table>
<div align="center">

*Installazione in azione: è davvero così semplice!*
</div>
### ⚙️ Configurazione (Setup Rapido)```bash
# 1. Copy template
cp config/default.json.example config/default.json
# 2. Add your API keys
nano config/default.json # or use your favorite editor
Configurazione minima per iniziare:```json { "llm": { "provider": "claude", // 👈 Choose: "claude" or "gemini" "claude": { "api_key": "sk-ant-..." // 🔑 Get from console.anthropic.com } }, "proxy": { "listen_port": 8080, "backend_url": "http://localhost:3000" // 🎯 Your app } }
### 🎬 Avvio
Compila il codice sorgente o installa dai binari disponibili```bash
# Build the binary
go build -o ifrit ./cmd/ifrit
(optional: build ifrit-cli as well)
# Start IFRIT (runs in background)
./ifrit &
# 🎉 You're protected! Access dashboard:
open http://localhost:8443
Tutto qui! IFRIT ora protegge la tua applicazione.
🧠 Intelligenza Multi-AIScegli il tuo provider AI o lascia che IFRIT effettui il fallback automatico:
| |
🎭 Motore di Deception AdattivoRisposte honeypot intelligenti che apprendono:
Esempio: l'iniezione SQL ottiene un database utente falso, il path traversal ottiene elenchi di file falsi. |
🔍 Hub di Threat IntelligenceArricchimento in tempo reale da molteplici fonti:
|
📊 Visibilità CompletaIntelligenza in tempo reale a portata di mano:
Query your intelligence./ifrit-cli threat top 10 ./ifrit-cli attacker view 45.67.89.1 ./ifrit-cli attack stats --last-24h 🎯 Cosa succede dopo il rilevamento?
🔬 Pipeline di arricchimento dell'intelligenceOgni attacco rilevato attiva raccolta parallela di intelligence in background:
Caratteristiche delle prestazioni:
💡 Risultato: tasso di cache hit del 90%+ = costi API minimi + ricerche rapide 💰 Economia dell'apprendimento: Ottimizzazione dei costiIFRIT impara da ogni attacco, riducendo drasticamente i costi operativi:
📊 Scenario reale (30 giorni):``` Day 1: 5,000 attacks, 200 unique → $6.00 in API costs Day 2: 5,000 attacks, 150 new → $4.50 in API costs Day 3: 5,000 attacks, 100 new → $3.00 in API costs ... Day 7: 5,000 attacks, 50 new → $1.50 in API costs Day 14: 5,000 attacks, 20 new → $0.60 in API costs Day 30: 5,000 attacks, 10 new → $0.30 in API costs Total: 150,000 attacks handled Cost without caching: ~$450.00 Cost with IFRIT learning: ~$45.00 💰 Savings: $405.00 (90% reduction!) Come Funziona```Incoming Request │ ├─ Whitelisted? ──▶ ✅ ALLOW │ ├─ Stage 1 Match? ──▶ 🍯 HONEYPOT │ ├─ Stage 2 Match? ──▶ 🍯 HONEYPOT │ ├─ Stage 3 LLM? ────▶ 🍯 or ✅ │ └─ Default: Analyze with AI Come Funziona```Incoming Request │ ├─ Whitelisted IP? ─▶ ✅ ALLOW │ ├─ Whitelisted Path? ─▶ ✅ ALLOW │ └─ Everything Else ──▶ 🚫 BLOCK No AI analysis needed No learning phase Instant block 🧬 Gestione dei Pattern```bashList learned signatures./ifrit-cli pattern list View specific pattern./ifrit-cli pattern view 15 Add custom pattern./ifrit-cli pattern add Remove pattern./ifrit-cli pattern remove 15 Export patterns./ifrit-cli pattern export 🔓 Whitelist/Eccezioni```bashList exceptions./ifrit-cli exception list Add IP exception./ifrit-cli exception add Add path exception./ifrit-cli exception add Remove exception./ifrit-cli exception remove 3 |
💾 Operazioni sul database```bashDatabase statistics./ifrit-cli db stats View schema./ifrit-cli db schema Vacuum (SQLite only)./ifrit-cli db vacuum Export database./ifrit-cli db export backup.sql Generazione di token API: Configura in 📡 Endpoint Disponibili🚨 Intelligence sugli Attacchi```bash # Get recent attacks curl -H "X-API-Token: YOUR_TOKEN" \ http://localhost:8443/api/attacksGet specific attackcurl -H "X-API-Token: YOUR_TOKEN" Filter by IPcurl -H "X-API-Token: YOUR_TOKEN" Filter by date rangecurl -H "X-API-Token: YOUR_TOKEN" Attack statisticscurl -H "X-API-Token: YOUR_TOKEN" 👤 Profili degli Attaccanti```bash # List all attackers curl -H "X-API-Token: YOUR_TOKEN" \ http://localhost:8443/api/attackersGet specific attacker profilecurl -H "X-API-Token: YOUR_TOKEN" Top attackerscurl -H "X-API-Token: YOUR_TOKEN" 🧬 Pattern Appresi```bash # Get all patterns curl -H "X-API-Token: YOUR_TOKEN" \ http://localhost:8443/api/patternsGet pattern by IDcurl -H "X-API-Token: YOUR_TOKEN" Add new patterncurl -X POST Esempio di risposta:```json { "ip": "45.67.89.1", "risk_score": 87, "threat_level": "HIGH", "abuseipdb": { "score": 91, "total_reports": 156, "last_reported": "2024-01-14T10:30:00Z" }, "virustotal": { "malicious": 3, "suspicious": 1 }, "ipinfo": { "country": "CN", "city": "Shanghai", "is_vpn": false, "is_proxy": false, "is_tor": false, "is_hosting": true }, "cached_at": "2024-01-15T14:23:45Z" } 💾 Gestione Cache```bash # Get cache statistics curl -H "X-API-Token: YOUR_TOKEN" \ http://localhost:8443/api/cache/statsClear threat intel cachecurl -X POST Clear specific IP from cachecurl -X DELETE Gemini (alternativa conveniente):```json { "llm": { "provider": "gemini", "gemini": { "api_key": "${GOOGLE_API_KEY}", "model": "gemini-2.0-flash-exp", "max_tokens": 4096, "temperature": 0.0 } } } PostgreSQL (Scala Enterprise):```json { "database": { "type": "postgresql", "postgresql": { "host": "localhost", "port": 5432, "user": "ifrit_user", "password": "${POSTGRES_PASSWORD}", "database": "ifrit", "ssl_mode": "require" } } } |
Avvisi multi-canale con filtri basati su regole:```json { "notifications": { "enabled": true, "providers": { "email": { "enabled": true, "smtp_host": "smtp.gmail.com", "smtp_port": 587, "smtp_username": "${SMTP_USERNAME}", "smtp_password": "${SMTP_PASSWORD}", "from_address": "[email protected]" }, "slack": { "enabled": true, "webhook_url": "${SLACK_WEBHOOK_URL}" }, "twilio": { "enabled": false, "account_sid": "${TWILIO_ACCOUNT_SID}", "auth_token": "${TWILIO_AUTH_TOKEN}", "from_number": "${TWILIO_FROM_NUMBER}", "to_number": "${TWILIO_TO_NUMBER}" } }, "rules": { "alert_on_critical": true, "alert_on_high": false, "alert_on_medium": false, "alert_on_low": false } } }
**Pro tip:** Inizia abilitando solo gli avvisi CRITICAL per evitare l'affaticamento da avvisi.
---
## 📚 Documentazione
| Documento | Descrizione |
|----------|-------------|
| [START_HERE.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/START_HERE.md) | Guida alla navigazione per tutta la documentazione |
| [INSTALLATION.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/INSTALLATION.md) | Istruzioni dettagliate di configurazione |
| [DETECTION_MODES.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/DETECTION_MODES.md) | Confronto tra rilevamento e lista consentita |
| [THREAT_INTELLIGENCE.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/THREAT_INTELLIGENCE.md) | Guida alla raccolta di intelligence |
| [NOTIFICATIONS.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/NOTIFICATIONS.md) | Configurazione del sistema di avvisi |
| [API_ENDPOINTS.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/API_ENDPOINTS.md) | Riferimento completo dell'API REST |
| [FEATURES.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/FEATURES.md) | Elenco completo delle funzionalità |
| [DECEPTIVE_PAYLOADS_MANAGEMENT.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/DECEPTIVE_PAYLOADS_MANAGEMENT.md) | Sistema di risposta honeypot |
| [ANONYMIZATION_TESTING.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/ANONYMIZATION_TESTING.md) | Dettagli su privacy e conformità |
---
## 🛣️ Roadmap
**v0.4.0 - Intelligence potenziata**
- [ ] Integrazione dell'autenticazione Keycloak
- [ ] Riprogettazione del portale di amministrazione
- [ ] Configurazione archiviata nel database
- [ ] Miglioramenti dello scoring tramite machine learning
- [ ] Deduplicazione degli attacchi
**v0.5.0 - Funzionalità Enterprise**
- [ ] Integrazioni SIEM avanzate (Wazuh, Splunk, ELK)
- [ ] Supporto MySQL/MariaDB
- [ ] Clustering e bilanciamento del carico
- [ ] Pianificazione delle notifiche e ore di silenzio
**v0.6.0 - Automazione**
- [ ] Automazione delle risposte
- [ ] Politiche di escalation
- [ ] Raggruppamento delle notifiche
- [ ] Correlazione avanzata delle minacce
---
## 🤝 Contributi
IFRIT è open source con licenza Apache 2.0. Accogliamo con piacere i contributi!
**Aree che necessitano di aiuto:**
- 🧠 Nuovi provider LLM (GPT, Llama, Mistral)
- 🔗 Integrazioni SIEM (Wazuh, Splunk, ELK)
- 🌐 Provider di threat intelligence
- 📢 Canali di notifica (Discord, Teams, PagerDuty)
- 🎭 Template di payload per nuovi tipi di attacco
- 📖 Miglioramenti alla documentazione
- 🐛 Correzioni di bug e ottimizzazioni
Consulta [CONTRIBUTING.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/CONTRIBUTING.md) per le linee guida.
**Supporto commerciale:**
Per distribuzioni enterprise, integrazioni personalizzate o consulenza:
- Email: [[email protected]](mailto:[email protected])
- Web: [0t.Systems](https://www.0t.Systems)
---
## 📊 Statistiche del progetto
<div align="center">
| Metrica | Valore |
|--------|-------|
| **Precisione di rilevamento** | 99.2% |
| **Tempo medio di risposta** | < 15ms |
| **Riduzione dei costi** | 90% dopo l'apprendimento |
| **LLM supportati** | Claude, Gemini |
| **Opzioni di database** | SQLite, PostgreSQL |
| **Fonti di threat intelligence** | 3 (AbuseIPDB, VirusTotal, IPInfo) |
| **Canali di notifica** | 4 (Email, Slack, SMS, Webhook) |
</div>
---
## 📜 Licenza
IFRIT Proxy è rilasciato sotto [Apache License 2.0](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/LICENSE).
**Supporto commerciale, integrazione personalizzata o consulenza:**
📧 [[email protected]](mailto:[email protected])
---
## 🙏 Riconoscimenti
Creato con:
- [Go](https://go.dev) - Runtime ad alte prestazioni
- [SQLite](https://www.sqlite.org) / [PostgreSQL](https://www.postgresql.org) - Persistenza dei dati
- [Anthropic Claude](https://www.anthropic.com) - Analisi di sicurezza tramite IA
- [Google Gemini](https://deepmind.google/technologies/gemini/) - Alternativa IA conveniente
- [AbuseIPDB](https://www.abuseipdb.com) - Intelligence sulla reputazione IP
- [VirusTotal](https://www.virustotal.com) - Rilevamento malware
- [IPInfo](https://ipinfo.io) - Geolocalizzazione e rilevamento privacy
**Un ringraziamento speciale alla community della sicurezza** per i contributi di threat intelligence e pattern.
---
<div align="center">
## 🚀 Pronto a Iniziare?
**[📦 Installa IFRIT](#-quick-start)** • **[📖 Leggi la Documentazione](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/START_HERE.md)** • **[🔌 Riferimento API](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/API_ENDPOINTS.md)**
</div>
---
<div align="center">
### **Creato con 🔥 da [0t.Systems](https://www.0t.Systems)**
*Trasformiamo gli attaccanti in fonti di intelligence, un honeypot alla volta*
**[⬆ Torna in cima](#-ifrit-proxy)**
---
**Domande? Problemi? Idee?**
📧 Email: [[email protected]](mailto:[email protected])
🐛 Segnala bug: [GitHub Issues](https://github.com/0tSystemsPublicRepos/IfritProxy/issues)
💬 Discussioni: [GitHub Discussions](https://github.com/0tSystemsPublicRepos/IfritProxy/discussions)
---
[](https://github.com/0tSystemsPublicRepos/IfritProxy)
[](https://www.linkedin.com/company/0t-systems)
</div>