
Система защиты веб-сайтов с реактивным управлением на основе ИИ, которая обнаруживает атаки, анализирует их и автономно исправляет исходный код в реальном времени с помощью LLM-агентов.
AI-управляемая реактивная система защиты веб-приложений, предназначенная для отражения атак на основе ИИ в реальном времени.
Mahoraga Defender — это PoC реактивной, не зависящей от типа атакующего системы защиты в реальном времени. Основной механизм заключается в том, чтобы заставить противника проводить разведку и атаки на безобидную, фальшивую среду («shadow»-среду) и регистрировать эти атаки. Затем LLM-агент анализирует логи и передаёт сведения о любых обнаруженных эксплойтах другим LLM-агентам для исправления уязвимостей и развёртывания патчей.
Система спроектирована для полной автоматизации с учётом оптимизации затрат на API. Создан графический интерфейс для удобного мониторинга логов трафика, активности агентов и конвейера патчинга, а также для контроля количества развёртываемых агентов.
Целевой (жертвенный) веб-сайт — это форк crAPI (Completely Ridiculous API), намеренно уязвимого веб-приложения, созданного OWASP для обучения тестированию безопасности API. crAPI имитирует платформу владельцев автомобилей с микросервисами, охватывающими OWASP Top 10 уязвимостей API. Защитник спроектирован так, чтобы чётко различать обычные и вредоносные сессии пользователей, чтобы обычные пользователи не испытывали снижения качества обслуживания, пока защитник защищает сайт от атакующих.
Наш форк (crapi-fork/) добавляет:
Чистая копия хранится в crapi-original/, чтобы среду можно было сбросить между экспериментами.
crapi-fork/. Работает в изолированной bash-среде с доступом только к crapi-fork/.При развёртывании Python-сервисы горяче перезагружаются через gunicorn (мгновенно), а Java/Go-сервисы пересобираются через docker compose up -d --build.
Почему нет агента-тестировщика? Мы рассматривали добавление специального агента для тестирования пользователей и отдельной тестовой среды, но удалили оба, чтобы сохранить систему лёгкой.
conda create -n XYZ python=3.13, затем conda activate XYZ).pip install -r requirements.txt./start.sh из корневого каталога проекта — сбрасывает исходный код crapi-fork/ из crapi-original/, пересобирает все сервисы, размещает флаги и приманки.python3 -m harness.main --app-url http://localhost:8888 -v.localhost:8888 (описание заданий находится по адресу localhost:8888/challenge). Если пентест проводится с помощью ИИ-агента, агент не должен получать доступ к внутренним процессам Docker, так как это будет считаться мошенничеством.localhost:3000 для просмотра логов в реальном времени, действий агентов, патчей, захваченных флагов и т.д.docker compose down -v, чтобы удалить контейнеры Docker и базы данных, созданные для этого проекта.Панель управления: http://localhost:3000
На всех вкладках отображается глобальная строка состояния агентов, показывающая их здоровье (активен/завис/бездействует/ошибка) с элементами управления масштабированием.
Просмотр логов запросов prod/shadow в реальном времени с разделением экрана, цветовой кодировкой по степени серьёзности и группировкой трафика
Лента активности каждого агента с системными промптами, вызовами инструментов и метками используемых LLM
Доска Канбан: Обнаружено → Исправляется → Проверяется → Развёрнуто, с изменяемой панелью деталей
Различия в коде, изменённые файлы, команды отката и временная шкала для каждого патча