
IFRIT est un proxy inverse basé sur l'IA qui intercepte les requêtes entrantes en temps réel, classant chacune d'elles comme légitime ou malveillante. Le trafic légitime est transmis au backend ; le trafic malveillant reçoit une réponse honeypot personnalisée générée par l'IA qui imite la ressource demandée avec des données fabriquées, trompant les attaquants en leur faisant perdre du temps dessus.
Transformez les attaquants en sources de renseignement grâce à des réponses honeypot adaptatives
📦 Démarrage rapide • ✨ Fonctionnalités • 🔄 Fonctionnement • 📚 Documentation • 🔌 API
IFRIT est un proxy inverse intelligent qui se place entre Internet et vos applications, analysant chaque requête en temps réel. Le trafic légitime passe sans interruption. Le trafic malveillant ? Il reçoit des réponses honeypot générées par l'IA qui font perdre du temps aux attaquants pendant que vous collectez des renseignements.
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>
**Flux simplifié :**
<div align="center">
<img src="https://assets.kitploit.com/production/public/readmes/9318/20428ce8d35f40faaa17f7f8c313021a74af35675f384b2db7a60034dbfdcdf2.png" alt="Diagramme de flux simple d'IFRIT" width="650">
</div>
</div>
---
## 🚀 Démarrage rapide
> **Mettez-vous en route en moins de 2 minutes**
### 📦 Installation
<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">

*Installation en action - c'est vraiment simple !*
</div>
### ⚙️ Configuration (Configuration rapide)```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
Configuration minimale pour commencer:```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 } }
### 🎬 Lancement
Compilez le code source ou installez à partir des binaires 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
C'est tout ! IFRIT protège désormais votre application.
🧠 Intelligence multi-IAChoisissez votre fournisseur d'IA ou laissez IFRIT faire le basculement automatique :
| |
🎭 Moteur de leurre adaptatifRéponses intelligentes de honeypot qui apprennent :
Exemple : L'injection SQL reçoit une base de données utilisateur fictive, le path traversal reçoit des listes de fichiers fictives. |
🔍 Hub de renseignement sur les menacesEnrichissement en temps réel depuis plusieurs sources :
|
📊 Visibilité complèteIntelligence en temps réel à portée de main :
Query your intelligence./ifrit-cli threat top 10 ./ifrit-cli attacker view 45.67.89.1 ./ifrit-cli attack stats --last-24h 🎯 Que se passe-t-il après la détection ?
🔬 Pipeline d'enrichissement du renseignementChaque attaque détectée déclenche une collecte parallèle de renseignements en arrière-plan :
Caractéristiques de performance :
💡 Résultat : 90%+ taux de succès du cache = coûts API minimaux + recherches rapides 💰 Économie d'apprentissage : Optimisation des coûtsIFRIT apprend de chaque attaque, réduisant considérablement les coûts opérationnels :
📊 Scénario réel (30 jours) :``` 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!) Comment ça marche```Incoming Request │ ├─ Whitelisted? ──▶ ✅ ALLOW │ ├─ Stage 1 Match? ──▶ 🍯 HONEYPOT │ ├─ Stage 2 Match? ──▶ 🍯 HONEYPOT │ ├─ Stage 3 LLM? ────▶ 🍯 or ✅ │ └─ Default: Analyze with AI Comment ça marche```Incoming Request │ ├─ Whitelisted IP? ─▶ ✅ ALLOW │ ├─ Whitelisted Path? ─▶ ✅ ALLOW │ └─ Everything Else ──▶ 🚫 BLOCK No AI analysis needed No learning phase Instant block 🧬 Gestion des motifs```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 🔓 Liste blanche / Exceptions```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 |
💾 Opérations de base de données```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 Génération des jetons API : Configurez dans 📡 Points d'accès disponibles🚨 Intelligence des attaques```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" 👤 Profils d'attaquants```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" 🧬 Patterns appris```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 Exemple de réponse:```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" } 💾 Gestion du 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 (Alternative économique):```json { "llm": { "provider": "gemini", "gemini": { "api_key": "${GOOGLE_API_KEY}", "model": "gemini-2.0-flash-exp", "max_tokens": 4096, "temperature": 0.0 } } } PostgreSQL (Échelle Entreprise):```json { "database": { "type": "postgresql", "postgresql": { "host": "localhost", "port": 5432, "user": "ifrit_user", "password": "${POSTGRES_PASSWORD}", "database": "ifrit", "ssl_mode": "require" } } } |
Alertes multi-canaux avec filtrage basé sur des règles :```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 } } }
**Astuce :** Commencez avec uniquement les alertes CRITIQUES activées pour éviter la lassitude face aux alertes.
---
## 📚 Documentation
| Document | Description |
|----------|-------------|
| [START_HERE.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/START_HERE.md) | Guide de navigation pour tous les documents |
| [INSTALLATION.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/INSTALLATION.md) | Instructions d'installation détaillées |
| [DETECTION_MODES.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/DETECTION_MODES.md) | Comparaison détection vs liste blanche |
| [THREAT_INTELLIGENCE.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/THREAT_INTELLIGENCE.md) | Guide de collecte de renseignements |
| [NOTIFICATIONS.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/NOTIFICATIONS.md) | Configuration du système d'alerte |
| [API_ENDPOINTS.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/API_ENDPOINTS.md) | Référence complète de l'API REST |
| [FEATURES.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/FEATURES.md) | Liste complète des fonctionnalités |
| [DECEPTIVE_PAYLOADS_MANAGEMENT.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/DECEPTIVE_PAYLOADS_MANAGEMENT.md) | Système de réponse honeypot |
| [ANONYMIZATION_TESTING.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/ANONYMIZATION_TESTING.md) | Détails sur la confidentialité et la conformité |
---
## 🛣️ Feuille de route
**v0.4.0 - Intelligence améliorée**
- [ ] Intégration de l'authentification Keycloak
- [ ] Refonte du portail d'administration
- [ ] Configuration stockée en base de données
- [ ] Améliorations du scoring par apprentissage automatique
- [ ] Déduplication des attaques
**v0.5.0 - Fonctionnalités entreprise**
- [ ] Intégrations SIEM avancées (Wazuh, Splunk, ELK)
- [ ] Support MySQL/MariaDB
- [ ] Clustering et équilibrage de charge
- [ ] Planification des notifications et heures de silence
**v0.6.0 - Automatisation**
- [ ] Automatisation des réponses
- [ ] Politiques d'escalade
- [ ] Regroupement des notifications
- [ ] Corrélation avancée des menaces
---
## 🤝 Contribuer
IFRIT est open source sous licence Apache 2.0. Nous accueillons les contributions !
**Domaines où l'aide est nécessaire :**
- 🧠 Nouveaux fournisseurs LLM (GPT, Llama, Mistral)
- 🔗 Intégrations SIEM (Wazuh, Splunk, ELK)
- 🌐 Fournisseurs de renseignements sur les menaces
- 📢 Canaux de notification (Discord, Teams, PagerDuty)
- 🎭 Modèles de payload pour de nouveaux types d'attaques
- 📖 Améliorations de la documentation
- 🐛 Corrections de bugs et optimisations
Voir [CONTRIBUTING.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/CONTRIBUTING.md) pour les directives.
**Support commercial :**
Pour les déploiements en entreprise, les intégrations personnalisées ou le conseil :
- Email : [[email protected]](mailto:[email protected])
- Web : [0t.Systems](https://www.0t.Systems)
---
## 📊 Statistiques du projet
<div align="center">
| Métrique | Valeur |
|----------|--------|
| **Précision de détection** | 99.2% |
| **Temps de réponse moyen** | < 15ms |
| **Réduction des coûts** | 90% après apprentissage |
| **LLMs supportés** | Claude, Gemini |
| **Options de base de données** | SQLite, PostgreSQL |
| **Sources de renseignements sur les menaces** | 3 (AbuseIPDB, VirusTotal, IPInfo) |
| **Canaux de notification** | 4 (Email, Slack, SMS, Webhook) |
</div>
---
## 📜 Licence
IFRIT Proxy est sous licence [Apache License 2.0](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/LICENSE).
**Support commercial, intégration personnalisée ou conseil :**
📧 [[email protected]](mailto:[email protected])
---
## 🙏 Remerciements
Construit avec :
- [Go](https://go.dev) - Runtime haute performance
- [SQLite](https://www.sqlite.org) / [PostgreSQL](https://www.postgresql.org) - Persistance des données
- [Anthropic Claude](https://www.anthropic.com) - Analyse de sécurité IA
- [Google Gemini](https://deepmind.google/technologies/gemini/) - Alternative IA économique
- [AbuseIPDB](https://www.abuseipdb.com) - Renseignement sur la réputation IP
- [VirusTotal](https://www.virustotal.com) - Détection de malwares
- [IPInfo](https://ipinfo.io) - Géolocalisation et détection de confidentialité
**Un grand merci à la communauté de la sécurité** pour les contributions en matière de renseignements sur les menaces et de modèles.
---
<div align="center">
## 🚀 Prêt à commencer ?
**[📦 Installer IFRIT](#-quick-start)** • **[📖 Lire la documentation](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/START_HERE.md)** • **[🔌 Référence API](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/API_ENDPOINTS.md)**
</div>
---
<div align="center">
### **Fabriqué avec 🔥 par [0t.Systems](https://www.0t.Systems)**
*Transformer les attaquants en sources de renseignements, un honeypot à la fois*
**[⬆ Retour en haut](#-ifrit-proxy)**
---
**Questions ? Problèmes ? Idées ?**
📧 Email : [[email protected]](mailto:[email protected])
🐛 Signaler des bugs : [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>