
IFRIT es un proxy inverso impulsado por IA que intercepta solicitudes entrantes en tiempo real, clasificando cada una como legítima o maliciosa. El tráfico legítimo se reenvía al backend; el tráfico malicioso recibe una respuesta personalizada de honeypot generada por IA que imita el recurso solicitado con datos falsos, engañando a los atacantes para que pierdan tiempo en ello.
Convierte a los atacantes en fuentes de inteligencia con respuestas adaptativas de honeypot
📦 Inicio rápido • ✨ Características • 🔄 Cómo funciona • 📚 Documentación • 🔌 API
IFRIT es un proxy inverso inteligente que se sitúa entre internet y tus aplicaciones, analizando cada solicitud en tiempo real. El tráfico legítimo fluye sin problemas. ¿Tráfico malicioso? Recibe respuestas de honeypot generadas por IA que desperdician el tiempo de los atacantes mientras recopilas inteligencia.
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>
**Flujo simplificado:**
<div align="center">
<img src="https://assets.kitploit.com/production/public/readmes/9318/20428ce8d35f40faaa17f7f8c313021a74af35675f384b2db7a60034dbfdcdf2.png" alt="Diagrama de flujo simple de IFRIT" width="650">
</div>
</div>
---
## 🚀 Inicio Rápido
> **Ponlo en marcha en menos de 2 minutos**
### 📦 Instalación
<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">

*¡Instalación en acción - es realmente así de simple!*
</div>
### ⚙️ Configuración (Configuración rápida)```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
Configuración mínima para comenzar:```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 } }
### 🎬 Inicio
Compila el código fuente o Instala desde los binarios disponibles```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
¡Eso es todo! IFRIT ahora protege tu aplicación.
🧠 Inteligencia Multi-IAElige tu proveedor de IA o deja que IFRIT haga la caída automática:
| |
🎭 Motor de Engaño AdaptativoRespuestas inteligentes de honeypot que aprenden:
Ejemplo: La inyección SQL obtiene una base de datos de usuarios falsa, el path traversal obtiene listados de archivos falsos. |
🔍 Centro de Inteligencia de AmenazasEnriquecimiento en tiempo real desde múltiples fuentes:
|
📊 Visibilidad CompletaInteligencia en tiempo real al alcance de tu mano:
Query your intelligence./ifrit-cli threat top 10 ./ifrit-cli attacker view 45.67.89.1 ./ifrit-cli attack stats --last-24h 🎯 ¿Qué sucede después de la detección?
🔬 Pipeline de Enriquecimiento de InteligenciaCada ataque detectado desencadena recopilación de inteligencia en paralelo en segundo plano:
Características de rendimiento:
💡 Resultado: Tasa de acierto de caché >90% = costos de API mínimos + búsquedas rápidas 💰 Economía de Aprendizaje: Optimización de CostosIFRIT aprende de cada ataque, reduciendo drásticamente los costos operativos:
📊 Escenario del mundo real (30 días):``` 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!) Cómo Funciona```Incoming Request │ ├─ Whitelisted? ──▶ ✅ ALLOW │ ├─ Stage 1 Match? ──▶ 🍯 HONEYPOT │ ├─ Stage 2 Match? ──▶ 🍯 HONEYPOT │ ├─ Stage 3 LLM? ────▶ 🍯 or ✅ │ └─ Default: Analyze with AI Cómo funciona```Incoming Request │ ├─ Whitelisted IP? ─▶ ✅ ALLOW │ ├─ Whitelisted Path? ─▶ ✅ ALLOW │ └─ Everything Else ──▶ 🚫 BLOCK No AI analysis needed No learning phase Instant block 🧬 Gestión de Patrones```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 🔓 Lista blanca/Excepciones```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 |
💾 Operaciones de Base de Datos```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 Generando tokens de API: Configurar en 📡 Endpoints disponibles🚨 Inteligencia de Ataques```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" 👤 Perfiles del Atacante```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" 🧬 Patrones Aprendidos```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 Ejemplo de respuesta:```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" } 💾 Gestión de Caché```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 rentable):```json { "llm": { "provider": "gemini", "gemini": { "api_key": "${GOOGLE_API_KEY}", "model": "gemini-2.0-flash-exp", "max_tokens": 4096, "temperature": 0.0 } } } PostgreSQL (Escala Empresarial):```json { "database": { "type": "postgresql", "postgresql": { "host": "localhost", "port": 5432, "user": "ifrit_user", "password": "${POSTGRES_PASSWORD}", "database": "ifrit", "ssl_mode": "require" } } } |
Alertas multicanal con filtrado basado en reglas:```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 } } }
**Consejo profesional:** Comience con solo alertas CRÍTICAS habilitadas para evitar la fatiga de alertas.
---
## 📚 Documentación
| Documento | Descripción |
|----------|-------------|
| [START_HERE.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/START_HERE.md) | Guía de navegación para toda la documentación |
| [INSTALLATION.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/INSTALLATION.md) | Instrucciones detalladas de configuración |
| [DETECTION_MODES.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/DETECTION_MODES.md) | Comparación entre detección y lista permitida |
| [THREAT_INTELLIGENCE.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/THREAT_INTELLIGENCE.md) | Guía de recopilación de inteligencia |
| [NOTIFICATIONS.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/NOTIFICATIONS.md) | Configuración del sistema de alertas |
| [API_ENDPOINTS.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/API_ENDPOINTS.md) | Referencia completa de la API REST |
| [FEATURES.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/FEATURES.md) | Lista completa de características |
| [DECEPTIVE_PAYLOADS_MANAGEMENT.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/DECEPTIVE_PAYLOADS_MANAGEMENT.md) | Sistema de respuesta honeypot |
| [ANONYMIZATION_TESTING.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/ANONYMIZATION_TESTING.md) | Detalles de privacidad y cumplimiento |
---
## 🛣️ Hoja de ruta
**v0.4.0 - Inteligencia mejorada**
- [ ] Integración de autenticación Keycloak
- [ ] Rediseño del portal de administración
- [ ] Configuración almacenada en base de datos
- [ ] Mejoras en la puntuación de aprendizaje automático
- [ ] Deduplicación de ataques
**v0.5.0 - Características empresariales**
- [ ] Integraciones avanzadas de SIEM (Wazuh, Splunk, ELK)
- [ ] Soporte para MySQL/MariaDB
- [ ] Clustering y balanceo de carga
- [ ] Programación de notificaciones y horas de silencio
**v0.6.0 - Automatización**
- [ ] Automatización de respuestas
- [ ] Políticas de escalamiento
- [ ] Agrupación de notificaciones
- [ ] Correlación avanzada de amenazas
---
## 🤝 Contribuciones
IFRIT es de código abierto bajo la Licencia Apache 2.0. ¡Agradecemos las contribuciones!
**Áreas que necesitan ayuda:**
- 🧠 Nuevos proveedores de LLM (GPT, Llama, Mistral)
- 🔗 Integraciones SIEM (Wazuh, Splunk, ELK)
- 🌐 Proveedores de inteligencia de amenazas
- 📢 Canales de notificación (Discord, Teams, PagerDuty)
- 🎭 Plantillas de payload para nuevos tipos de ataques
- 📖 Mejoras en la documentación
- 🐛 Correcciones de errores y optimizaciones
Consulte [CONTRIBUTING.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/CONTRIBUTING.md) para obtener pautas.
**Soporte comercial:**
Para implementaciones empresariales, integraciones personalizadas o consultoría:
- Correo electrónico: [[email protected]](mailto:[email protected])
- Web: [0t.Systems](https://www.0t.Systems)
---
## 📊 Estadísticas del proyecto
<div align="center">
| Métrica | Valor |
|--------|-------|
| **Precisión de detección** | 99.2% |
| **Tiempo de respuesta promedio** | < 15ms |
| **Reducción de costos** | 90% después del aprendizaje |
| **LLMs compatibles** | Claude, Gemini |
| **Opciones de base de datos** | SQLite, PostgreSQL |
| **Fuentes de inteligencia de amenazas** | 3 (AbuseIPDB, VirusTotal, IPInfo) |
| **Canales de notificación** | 4 (Correo electrónico, Slack, SMS, Webhook) |
</div>
---
## 📜 Licencia
IFRIT Proxy está licenciado bajo [Apache License 2.0](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/LICENSE).
**Soporte comercial, integración personalizada o consultoría:**
📧 [[email protected]](mailto:[email protected])
---
## 🙏 Agradecimientos
Construido con:
- [Go](https://go.dev) - Entorno de ejecución de alto rendimiento
- [SQLite](https://www.sqlite.org) / [PostgreSQL](https://www.postgresql.org) - Persistencia de datos
- [Anthropic Claude](https://www.anthropic.com) - Análisis de seguridad con IA
- [Google Gemini](https://deepmind.google/technologies/gemini/) - Alternativa de IA rentable
- [AbuseIPDB](https://www.abuseipdb.com) - Inteligencia de reputación IP
- [VirusTotal](https://www.virustotal.com) - Detección de malware
- [IPInfo](https://ipinfo.io) - Geolocalización y detección de privacidad
**Un agradecimiento especial a la comunidad de seguridad** por las contribuciones de inteligencia de amenazas y patrones.
---
<div align="center">
## 🚀 ¿Listo para comenzar?
**[📦 Instalar IFRIT](#-quick-start)** • **[📖 Leer la documentación](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/START_HERE.md)** • **[🔌 Referencia de la API](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/API_ENDPOINTS.md)**
</div>
---
<div align="center">
### **Hecho con 🔥 por [0t.Systems](https://www.0t.Systems)**
*Convirtiendo atacantes en fuentes de inteligencia, una honeypot a la vez*
**[⬆ Volver al inicio](#-ifrit-proxy)**
---
**¿Preguntas? ¿Problemas? ¿Ideas?**
📧 Correo electrónico: [[email protected]](mailto:[email protected])
🐛 Reportar errores: [GitHub Issues](https://github.com/0tSystemsPublicRepos/IfritProxy/issues)
💬 Discussions: [GitHub Discussions](https://github.com/0tSystemsPublicRepos/IfritProxy/discussions)
---
[](https://github.com/0tSystemsPublicRepos/IfritProxy)
[](https://www.linkedin.com/company/0t-systems)
</div>