
IFRIT — это AI-обратный прокси-сервер, который перехватывает входящие запросы в реальном времени, классифицируя каждый как легитимный или вредоносный. Легитимный трафик перенаправляется на бэкенд; вредоносный трафик получает настраиваемый ответ-ловушку, сгенерированный AI, который имитирует запрашиваемый ресурс с поддельными данными, обманывая злоумышленников и заставляя их тратить на него время.
Превратите атакующих в источники разведки с адаптивными ответами honeypot
📦 Быстрый старт • ✨ Возможности • 🔄 Как это работает • 📚 Документация • 🔌 API
IFRIT — это интеллектуальный обратный прокси, который располагается между интернетом и вашими приложениями, анализируя каждый запрос в реальном времени. Легитимный трафик проходит беспрепятственно. Вредоносный трафик? Он получает сгенерированные ИИ ответы honeypot, которые тратят время атакующих, пока вы собираете разведданные.
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>
**Упрощённая схема:**
<div align="center">
<img src="https://assets.kitploit.com/production/public/readmes/9318/20428ce8d35f40faaa17f7f8c313021a74af35675f384b2db7a60034dbfdcdf2.png" alt="Упрощённая схема работы IFRIT" width="650">
</div>
</div>
---
## 🚀 Быстрый старт
> **Начните работу менее чем за 2 минуты**
### 📦 Установка
<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">

*Установка в действии — всё действительно так просто!*
</div>
### ⚙️ Конфигурация (Быстрая настройка)```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
Минимальная конфигурация для начала работы:```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 } }
### 🎬 Запуск
Соберите исходный код или установите из доступных бинарных файлов```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
Вот и всё! IFRIT теперь защищает ваше приложение.
🧠 Мульти-ИИ интеллектВыберите своего AI-провайдера или позвольте IFRIT автоматически переключаться:
| |
🎭 Адаптивный двигатель обманаИнтеллектуальные ответы ловушек, которые обучаются:
Пример: SQL-инъекция получает фальшивую базу пользователей, path traversal — фальшивые списки файлов. |
🔍 Центр разведки угрозОбогащение в реальном времени из нескольких источников:
|
📊 Полная видимостьИнформация в реальном времени у вас под рукой:
Query your intelligence./ifrit-cli threat top 10 ./ifrit-cli attacker view 45.67.89.1 ./ifrit-cli attack stats --last-24h 🎯 Что происходит после обнаружения?
🔬 Конвейер обогащения разведывательной информацииКаждая обнаруженная атака запускает параллельный сбор разведывательной информации в фоновом режиме:
Характеристики производительности:
💡 Результат: 90%+ попаданий в кэш = минимальные затраты на API + быстрые запросы 💰 Экономика обучения: Оптимизация затратIFRIT учится на каждой атаке, значительно снижая операционные затраты:
📊 Реальный сценарий (30 дней):``` 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!) Как это работает```Incoming Request │ ├─ Whitelisted? ──▶ ✅ ALLOW │ ├─ Stage 1 Match? ──▶ 🍯 HONEYPOT │ ├─ Stage 2 Match? ──▶ 🍯 HONEYPOT │ ├─ Stage 3 LLM? ────▶ 🍯 or ✅ │ └─ Default: Analyze with AI Как это работает```Incoming Request │ ├─ Whitelisted IP? ─▶ ✅ ALLOW │ ├─ Whitelisted Path? ─▶ ✅ ALLOW │ └─ Everything Else ──▶ 🚫 BLOCK No AI analysis needed No learning phase Instant block 🧬 Управление шаблонами```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 🔓 Белый список/Исключения```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 |
💾 Операции с базой данных```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 Генерация токенов API: Настройка в 📡 Доступные эндпоинты🚨 Аналитика атак```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" 👤 Профили атакующего```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" 🧬 Изученные паттерны```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 Пример ответа:```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" } 💾 Управление кэшем```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 (Экономичная альтернатива):```json { "llm": { "provider": "gemini", "gemini": { "api_key": "${GOOGLE_API_KEY}", "model": "gemini-2.0-flash-exp", "max_tokens": 4096, "temperature": 0.0 } } } PostgreSQL (корпоративный масштаб):```json { "database": { "type": "postgresql", "postgresql": { "host": "localhost", "port": 5432, "user": "ifrit_user", "password": "${POSTGRES_PASSWORD}", "database": "ifrit", "ssl_mode": "require" } } } |
Многоканальные оповещения с фильтрацией на основе правил:```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 } } }
**Совет:** Начинайте только с критических оповещений, чтобы избежать усталости от оповещений.
---
## 📚 Документация
| Документ | Описание |
|----------|----------|
| [START_HERE.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/START_HERE.md) | Руководство по навигации по всем документам |
| [INSTALLATION.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/INSTALLATION.md) | Подробные инструкции по установке |
| [DETECTION_MODES.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/DETECTION_MODES.md) | Сравнение режимов обнаружения и разрешённого списка |
| [THREAT_INTELLIGENCE.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/THREAT_INTELLIGENCE.md) | Руководство по сбору разведданных |
| [NOTIFICATIONS.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/NOTIFICATIONS.md) | Конфигурация системы оповещений |
| [API_ENDPOINTS.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/API_ENDPOINTS.md) | Полный справочник REST API |
| [FEATURES.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/FEATURES.md) | Полный список возможностей |
| [DECEPTIVE_PAYLOADS_MANAGEMENT.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/DECEPTIVE_PAYLOADS_MANAGEMENT.md) | Система ответов honeypot |
| [ANONYMIZATION_TESTING.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/ANONYMIZATION_TESTING.md) | Детали конфиденциальности и соответствия |
---
## 🛣️ Дорожная карта
**v0.4.0 - Улучшенная разведка**
- [ ] Интеграция аутентификации Keycloak
- [ ] Переработка панели администратора
- [ ] Конфигурация, хранящаяся в базе данных
- [ ] Улучшения оценки на основе машинного обучения
- [ ] Дедупликация атак
**v0.5.0 - Корпоративные функции**
- [ ] Расширенные интеграции с SIEM (Wazuh, Splunk, ELK)
- [ ] Поддержка MySQL/MariaDB
- [ ] Кластеризация и балансировка нагрузки
- [ ] Планирование уведомлений и часы тишины
**v0.6.0 - Автоматизация**
- [ ] Автоматизация ответных действий
- [ ] Политики эскалации
- [ ] Пакетная обработка уведомлений
- [ ] Расширенная корреляция угроз
---
## 🤝 Участие в разработке
IFRIT является открытым исходным кодом под лицензией Apache 2.0. Мы приветствуем вклад!
**Области, требующие помощи:**
- 🧠 Новые LLM-провайдеры (GPT, Llama, Mistral)
- 🔗 Интеграции с SIEM (Wazuh, Splunk, ELK)
- 🌐 Провайдеры разведки угроз
- 📢 Каналы уведомлений (Discord, Teams, PagerDuty)
- 🎭 Шаблоны полезных нагрузок для новых типов атак
- 📖 Улучшение документации
- 🐛 Исправление ошибок и оптимизация
См. [CONTRIBUTING.md](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/CONTRIBUTING.md) для получения рекомендаций.
**Коммерческая поддержка:**
Для корпоративных развертываний, пользовательских интеграций или консалтинга:
- Email: [[email protected]](mailto:[email protected])
- Сайт: [0t.Systems](https://www.0t.Systems)
---
## 📊 Статистика проекта
<div align="center">
| Метрика | Значение |
|---------|----------|
| **Точность обнаружения** | 99.2% |
| **Среднее время ответа** | < 15ms |
| **Снижение затрат** | 90% после обучения |
| **Поддерживаемые LLM** | Claude, Gemini |
| **Варианты баз данных** | SQLite, PostgreSQL |
| **Источники разведки угроз** | 3 (AbuseIPDB, VirusTotal, IPInfo) |
| **Каналы уведомлений** | 4 (Email, Slack, SMS, Webhook) |
</div>
---
## 📜 Лицензия
IFRIT Proxy лицензирован под [Apache License 2.0](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/LICENSE).
**Коммерческая поддержка, индивидуальная интеграция или консалтинг:**
📧 [[email protected]](mailto:[email protected])
---
## 🙏 Благодарности
Создано с помощью:
- [Go](https://go.dev) - Высокопроизводительная среда выполнения
- [SQLite](https://www.sqlite.org) / [PostgreSQL](https://www.postgresql.org) - Постоянное хранение данных
- [Anthropic Claude](https://www.anthropic.com) - Анализ безопасности с помощью ИИ
- [Google Gemini](https://deepmind.google/technologies/gemini/) - Экономичная альтернатива ИИ
- [AbuseIPDB](https://www.abuseipdb.com) - Интеллектуальная система репутации IP
- [VirusTotal](https://www.virustotal.com) - Обнаружение вредоносного ПО
- [IPInfo](https://ipinfo.io) - Геолокация и определение приватности
**Особая благодарность сообществу безопасности** за вклад в разведку угроз и шаблоны.
---
<div align="center">
## 🚀 Готовы начать?
**[📦 Установить IFRIT](#-quick-start)** • **[📖 Читать документацию](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/START_HERE.md)** • **[🔌 Справочник API](https://github.com/0tsystemspublicrepos/ifritproxy/blob/HEAD/docs/API_ENDPOINTS.md)**
</div>
---
<div align="center">
### **Сделано с 🔥 компанией [0t.Systems](https://www.0t.Systems)**
*Превращаем атакующих в источники разведданных, одну ловушку за раз*
**[⬆ Наверх](#-ifrit-proxy)**
---
**Вопросы? Проблемы? Идеи?**
📧 Email: [[email protected]](mailto:[email protected])
🐛 Сообщить об ошибках: [GitHub Issues](https://github.com/0tSystemsPublicRepos/IfritProxy/issues)
💬 Обсуждения: [GitHub Discussions](https://github.com/0tSystemsPublicRepos/IfritProxy/discussions)
---
[](https://github.com/0tSystemsPublicRepos/IfritProxy)
[](https://www.linkedin.com/company/0t-systems)
</div>