
Открытая локальная платформа для тестирования безопасности, предназначенная для пентестеров, ИИ-агентов, CI/CD-конвейеров и команд.
Один движок для тестирования безопасности. Любой интерфейс.
Открытая, локально-ориентированная платформа для тестирования безопасности, предназначенная для пентестеров, ИИ-агентов, CI/CD-конвейеров и команд.
Традиционные инструменты безопасности были спроектированы вокруг одного тестировщика, использующего десктопный интерфейс.
pwnproxy построен вокруг общего движка тестирования безопасности, которым можно управлять через терминал, TUI, REST API, WebSocket-потоки, CI/CD-конвейеры или ИИ-агентов через MCP.
┌─────────────────────┐
│ pwnproxy core │
│ │
│ Proxy · Scanners │
│ Repeater · Intruder │
│ Sessions · Plugins │
└──────────┬──────────┘
│
┌───────────┬───────────┼───────────┬───────────┐
▼ ▼ ▼ ▼ ▼
CLI TUI REST API WebSocket MCP
│ │ │ │ │
Pentesters Pentesters Automation Teams AI Agents
Одно и то же ядро используется независимо от того, перехватываете ли вы трафик вручную, запускаете автоматическое сканирование, интегрируете проверки безопасности в CI/CD или предоставляете ИИ-агенту доступ к вашему рабочему процессу тестирования.
Прокси, сканеры, хранилище и автоматизация работают на вашей инфраструктуре.
Для основного рабочего процесса тестирования не требуется зависимость от облака.
CLI, TUI, REST API, WebSocket-потоки и MCP-сервер — это интерфейсы к одной и той же базовой системе.
Вам не нужны отдельные инструменты для ручного тестирования и автоматизации.
Запускайте сканирование прямо из командной строки, используйте вывод в формате JSON или SARIF и интегрируйте результаты в CI/CD-конвейеры.
pwnproxy предоставляет свои возможности через нативный MCP-сервер, чтобы совместимые ИИ-агенты могли взаимодействовать с тем же движком тестирования, который используют операторы-люди.
Сканеры и хуки используют плагинную архитектуру, предназначенную для встроенных и сторонних расширений.
git clone https://github.com/ericmtzmtz/pwnproxy.git
cd pwnproxy
poetry install
Требуется Python 3.12 или новее.
poetry run pwnproxy start --proxy-port 8080 --api-port 8000
Это запускает:
127.0.0.1:8080127.0.0.1:8000http://127.0.0.1:8000/docscurl -x http://127.0.0.1:8080 http://httpbin.org/get
poetry run pwnproxy history
poetry run pwnproxy scan url https://example.com \
--scanners sqli,xss \
--output sarif \
--output-file report.sarif
Коды выхода:
| Код | Значение |
|---|---|
| 0 | Сканирование завершено, находок нет |
| 1 | Сканирование завершено, найдены находки |
| 2 | Ошибка |
В настоящее время pwnproxy устанавливается из исходного кода с помощью Poetry. Публикация в PyPI запланирована на будущий релиз.
Пауза, просмотр, изменение и возобновление HTTP/HTTPS-трафика.
Встроенные сканеры в настоящее время включают:
| Сканер | Обнаружение |
|---|---|
| SQLi | Слепое обнаружение на основе ошибок и времени |
| XSS | Отражённый и хранимый XSS с анализом контекста |
| LFI | Сигнатуры содержимого, обход каталогов и PHP-обёртки |
| XXE | На основе ошибок, XInclude, JSON-мутации и OOB-сценарии |
| SSRF | Анализ параметров, обнаружение редиректов и проверка callback-ов |
Сканеры потребляют перехваченные потоки, а также могут выполняться напрямую в headless-режиме.
Воспроизведение и изменение сырых HTTP-запросов независимо от прокси.
Находки сохраняют данные запросов, чтобы обнаруженные проблемы можно было проверить вручную.
Фаззинг запросов с использованием позиций в стиле Burp с маркерами §marker§.
Поддерживаемые режимы включают:
Обнаружение путей и файлов на основе словарей с:
Автоматическое извлечение и хранение:
Сессии изолированы и сохраняются локально.
Расширяйте pwnproxy с помощью пользовательских сканеров и хуков.
Плагины могут быть:
Тот же плагинный интерфейс используется для встроенных и сторонних сканеров.
Сторожевой механизм отслеживает сбои плагинов и может автоматически отключать плагины, которые неоднократно дают сбои.
Запускайте pwnproxy прямо из терминала.
pwnproxy start
pwnproxy history
pwnproxy findings
pwnproxy scan url https://example.com
pwnproxy plugin list
pwnproxy session list
Используйте интерактивный терминальный интерфейс для:
Управляйте платформой программно.
curl http://127.0.0.1:8000/api/v1/flows
API предоставляет функциональность для:
Интерактивная документация API доступна по адресу:
http://127.0.0.1:8000/docs
Потребляйте события в реальном времени для трафика, находок, активности краулера и других рабочих процессов.
Примеры потоков:
/ws/traffic/ws/findings/ws/eventsЭто позволяет внешним интерфейсам и системам автоматизации реагировать на активность тестирования в реальном времени.
pwnproxy включает нативный MCP-сервер, который предоставляет платформу тестирования MCP-совместимым агентам.
Claude / Copilot / Custom Agent
│
▼
┌──────────────┐
│ MCP Server │
└──────┬───────┘
│
▼
┌──────────────┐
│ pwnproxy API │
└──────┬───────┘
│
┌─────────┼─────────┐
▼ ▼ ▼
Traffic Findings Scanners
│ │ │
└─────────┼─────────┘
▼
Security workflow
Запустите pwnproxy:
pwnproxy start
Затем настройте вашего MCP-совместимого агента:
{
"mcpServers": {
"pwnproxy": {
"command": "python",
"args": [
"-m",
"apps.mcp.src.pwnproxy_mcp.server"
]
}
}
}
MCP-сервер действует как тонкий интеграционный слой поверх платформы pwnproxy.
Смотрите:
docs/mcp.md
для конфигурации, специфичной для агентов, и документации по инструментам.
pwnproxy
┌───────────────┐
│ Proxy Layer │
│ mitmproxy │
└───────┬───────┘
│
▼
┌─────────────────┐
│ HookBus │
│ async events │
└────────┬────────┘
│
┌──────────────────┼──────────────────┐
▼ ▼ ▼
Scanners Sessions Plugins
│ │ │
└──────────────────┼──────────────────┘
│
▼
┌─────────────────┐
│ Storage Layer │
│ SQLite / async │
└────────┬────────┘
│
▼
┌──────────────────────────────────────┐
│ Control Plane │
│ │
│ FastAPI · REST · WebSocket · Events │
└──────────────────┬───────────────────┘
│
┌──────────┬────────┼────────┬──────────┐
▼ ▼ ▼ ▼ ▼
CLI TUI REST WS MCP
pwnproxy спроектирован так, чтобы основной рабочий процесс тестирования не зависел от интерфейса, используемого для управления им.
pwnproxy — это не клон Burp Suite.
Burp Suite остаётся отличным инструментом для ручного тестирования через GUI.
pwnproxy фокусируется на другой архитектуре:
| Burp Suite | pwnproxy | |
|---|---|---|
| Основная модель | Десктопное приложение | Общий движок тестирования |
| Ручное тестирование | GUI | TUI + API-интерфейсы |
| Автоматизация | Расширения / интеграции | CLI + REST + SARIF |
| ИИ-агенты | Внешние интеграции | Нативный MCP-сервер |
| Плагины | Экосистема Java | Плагины на Python |
| Headless-сценарии | Ограниченно | Нативно |
| CI/CD | Внешние инструменты | Встроенный вывод и коды выхода |
| Локальное развертывание | Да | Да |
pwnproxy также может импортировать конфигурации области сканирования из Burp.
pwnproxy import burp --config burp-config.json
Смотрите:
docs/burp-migration.md
для деталей миграции.
Запускайте сканирование без запуска прокси:
pwnproxy scan url https://example.com \
--output sarif \
--output-file report.sarif
Пример рабочего процесса GitHub Actions:
- name: Install pwnproxy
run: |
git clone https://github.com/ericmtzmtz/pwnproxy.git
cd pwnproxy
pip install poetry
poetry install
- name: Security scan
run: |
cd pwnproxy
poetry run pwnproxy scan url ${{ matrix.url }} \
--output sarif \
--output-file report.sarif
continue-on-error: true
- name: Upload SARIF
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: pwnproxy/report.sarif
pwnproxy использует локальное SQLite-хранилище для каждой сессии.
Сессия может содержать:
~/.pwnproxy/sessions/<session>/
├── traffic.db
├── scanner_results.db
├── sessions.db
└── tasks.db
Это обеспечивает изоляцию и переносимость данных тестирования.
Полную сессию можно сохранить в резервную копию или переместить как каталог.
Для более крупных совместных или инфраструктурных развертываний слой хранения спроектирован на основе асинхронных абстракций SQLAlchemy.
Linux / macOS:
./dev.sh
Windows PowerShell:
.\dev.ps1
Это запускает:
:8080:8000:4321poetry run pytest
Смотрите документацию по вкладу для деталей архитектуры и разработки.
Прежде чем добавлять крупные новые функции, текущий цикл разработки сосредоточен на архитектурной стабильности и согласованности.
P0 — Архитектурные инварианты
P1 — Операционная устойчивость
P2 — Дисциплина релизов
Цель — укрепить платформу перед дальнейшим расширением её поверхности.
| Тема | Документация |
|---|---|
| Установка | docs/installation.md |
| CLI | docs/cli.md |
| API | docs/api.md |
| MCP | docs/mcp.md |
| Архитектура | docs/architecture.md |
| Плагины | docs/plugin-architecture.md |
| Сканеры | docs/scanners.md |
| Поиск каталогов | docs/directory-bruteforce.md |
| Миграция с Burp | docs/burp-migration.md |
| Разработка | docs/development.md |
Вклад приветствуется.
git clone https://github.com/ericmtzmtz/pwnproxy.git
cd pwnproxy
poetry install
poetry run pytest
Перед отправкой pull request:
Детальные архитектурные изменения и спецификации отслеживаются в:
openspec/openspec/changes/pwnproxy поддерживается компанией NEXTECH SOLUTIONS — компанией по кибербезопасности, базирующейся в Мексике.
Основная платформа бесплатна и имеет открытый исходный код под лицензией AGPLv3.
Профессиональные услуги могут включать:
| Услуга | Описание |
|---|---|
| Оценка безопасности | Профессиональные пентест-проекты и отчётность |
| Пользовательская разработка | Пользовательские сканеры, плагины и интеграции |
| Обучение | Практическое обучение безопасности и DevSecOps |
| Автоматизация | Рабочие процессы тестирования безопасности, интегрированные в CI/CD |
По вопросам:
pwnproxy распространяется под лицензией GNU Affero General Public License v3.0.
Смотрите:
LICENSE
Вы можете свободно использовать, изменять и распространять pwnproxy в соответствии с условиями AGPLv3.
Создан для тестирования безопасности за пределами десктопа.