
Moxy — это инструмент DAST с открытым исходным кодом, предназначенный для современного тестирования безопасности веб-приложений. Он предоставляет простой в использовании интерфейс с агентными возможностями для помощи и автоматизации рабочих процессов пентестинга.
Moxy (Next-Gen Man-in-the-middle proxy) Инструмент DAST с открытым исходным кодом для пентеста, работающий на базе агентного ИИ (с поддержкой Ollama). Moxy, построенный на основе browser-use, упрощает динамическое тестирование безопасности приложений.
🚀 НЕВЕРОЯТНО ПРОСТ В ИСПОЛЬЗОВАНИИ
И он бесплатный, кто же не любит бесплатные вещи?
Предупреждение:
🚧 Moxy находится в активной разработке и сейчас на стадии превью/бета.
Ожидайте критических изменений, нестабильности и отсутствующих функций.
Используйте на свой страх и риск, следите за обновлениями проекта для получения последних улучшений!
Чтобы запустить его сейчас, необходимо запускать фронтенд и бэкенд отдельно.
Перед запуском Moxy необходимо установить uv (astral-uv) — быстрый установщик и менеджер зависимостей Python.
Установка uv:
uv на вашу систему.Примечание:
uvнеобходим для управления зависимостями Python в бэкенде. Если он не установлен, команды бэкенда не будут работать.
Перейдите в директорию бэкенда:
cd backend
Установите зависимости и запустите сервер бэкенда:
uv sync
uv run moxy
Перейдите в директорию фронтенда:
cd frontend
Установите зависимости:
npm install
Запустите сервер разработки фронтенда:
npm run moxy
Примечание:
По умолчанию фронтенд запускается на http://localhost:8080,
а бэкенд — на http://localhost:5000
Moxy можно запускать с помощью Docker для более лёгкого развёртывания и единообразного окружения. Таким образом вы можете легко сотрудничать и устанавливать.
projects_data содержит все необходимые базы данных и логи. Это папка с данными.
Загрузите и запустите образ из GitHub Container Registry:
docker run -d \
--name moxy \
-p 5000:5000 \
-p 8081:8081 \
-v $(pwd)/projects_data:/app/projects_data \
ghcr.io/matank001/moxy:latest
Соберите и запустите контейнер:
docker-compose up -d --build
Откройте приложение:
Настройте браузер для использования прокси:
При запуске в Docker необходимо вручную настроить браузер на использование прокси:
localhost (или 127.0.0.1)8081Примечание:
Прокси работает внутри Docker-контейнера, но доступен на вашей хост-машине черезlocalhost:8081.
Вы можете настроить параметры прокси в сетевых настройках браузера или использовать расширения для управления прокси.
Просмотр логов:
docker-compose logs -f
Остановка контейнера:
docker-compose down
Создайте файл .env в корне проекта для настройки приложения (его нужно поместить в директорию backend/):
Примечание:
Файл.envнеобязателен. Docker Compose автоматически загружает его, если он присутствует (предупреждения при отсутствии не выводится).
Все данные проекта сохраняются в директорииprojects_data, которая смонтирована как том.
По умолчанию Moxy работает без какой-либо настройки ИИ или учётных данных — даже браузерные DAST-сценарии не используют ИИ, если он не включён.
Moxy поддерживает как API OpenAI, так и Ollama (локальный ИИ) для агентных функций. Для включения возможностей на базе ИИ:
Для локальной разработки: создайте файл .env в директории backend с соответствующей конфигурацией.
Для Docker: создайте файл .env в корне проекта (та же директория, где находится docker-compose.yml).
Для облачной обработки с помощью OpenAI настройте файл .env следующим образом:
OPENAI_API_KEY=sk-proj-... # Ваш ключ API OpenAI
MODEL=gpt-4o-mini # Опционально: по умолчанию gpt-4o-mini, если не указано
Для локальной обработки с помощью Ollama настройте файл .env следующим образом:
USE_OLLAMA=true
OPENAI_API_KEY=test # Обязательно, но значение игнорируется при использовании Ollama
OPENAI_BASE_URL=http://localhost:11434/v1/ # Конечная точка API Ollama
MODEL=qwen3:8b # Предпочитаемая модель Ollama
Возможности агента:
Агент использует ИИ для анализа поверхности атаки вашего приложения, воспроизведения или изменения трафика, а также для управления сеансами браузера с целью генерации новых тестовых сценариев.
Предупреждение:
Режимы агентного ИИ в настоящее время экспериментальны и могут быть нестабильны.
Moxy использует MITMproxy в качестве перехватывающего HTTP/HTTPS прокси для захвата и изменения трафика во время динамического тестирования безопасности приложений.
По умолчанию прокси работает на порту 8081.
Вы можете настроить браузер или систему на использование http://localhost:8081 в качестве прокси, чтобы направлять трафик через MITMproxy и позволить Moxy анализировать запросы и взаимодействовать с ними в реальном времени.
Чтобы анализировать HTTP- и HTTPS-трафик из Firefox через Moxy, необходимо настроить Firefox на использование прокси Moxy и импортировать сертификат прокси, чтобы трафик браузера (включая HTTPS) мог корректно перехватываться.
Убедитесь, что Moxy (и его процесс MITMproxy) запущен.
Настройки (или Параметры на некоторых системах).localhost и Порт на 8081.
localhost:8081.Теперь весь трафик браузера будет проходить через прокси Moxy по адресу
http://localhost:8081.
mitmproxy-ca-cert.pem).Настройки → Приватность и защита в Firefox.После выполнения этих шагов Firefox будет доверять HTTPS-соединениям, перехваченным прокси Moxy.
Теперь вы готовы к динамическому анализу и тестированию веб-приложений через HTTP и HTTPS без предупреждений о сертификатах.
Более подробную информацию см. в документации MITMproxy по сертификатам.
moxy.db — основная база данных, хранящая метаданные проектовprojects_data/{project_name}.db — отдельные базы данных проектов (названные по имени проекта, с очисткой)
Предупреждение:
На данном этапе нет гарантии миграции базы данных или обратной совместимости между версиями — будущие версии могут нарушить совместимость со старыми файлами баз данных. Будьте осторожны, если планируете обновление.
Moxy предназначен строго для этичного тестирования безопасности и исследовательских целей. Он создан, чтобы помочь специалистам по безопасности, разработчикам и организациям выявлять и устранять уязвимости в приложениях, которые им принадлежат или на тестирование которых они получили явное разрешение.