
Открытая локальная платформа для тестирования безопасности, предназначенная для пентестеров, ИИ-агентов, CI/CD-конвейеров и команд.
CI: suite · goldens · perf-check — базовый уровень 281.9ms / 19 страниц (tests/perf/baseline.json) — .github/workflows/ci.yml
Один движок тестирования безопасности. Любой интерфейс.
Открытая локальная платформа тестирования безопасности для пентестеров, AI-агентов, CI/CD-конвейеров и команд.
Традиционные инструменты безопасности были спроектированы для одного тестировщика, работающего через настольный интерфейс.
pwnproxy построен вокруг общего движка тестирования безопасности, которым можно управлять через терминал, TUI, REST API, потоки WebSocket, CI/CD-конвейеры или AI-агентов через MCP.
┌─────────────────────┐
│ pwnproxy core │
│ │
│ Proxy · Scanners │
│ Repeater · Intruder │
│ Sessions · Plugins │
└──────────┬──────────┘
│
┌───────────┬───────────┼───────────┬───────────┐
▼ ▼ ▼ ▼ ▼
CLI TUI REST API WebSocket MCP
│ │ │ │ │
Pentesters Pentesters Automation Teams AI Agents
Один и тот же движок используется независимо от того, перехватываете ли вы трафик вручную, запускаете автоматическое сканирование, интегрируете проверки безопасности в CI/CD или предоставляете AI-агенту доступ к вашему рабочему процессу тестирования.
Прокси, сканеры, хранилище и автоматизация работают на вашей инфраструктуре.
Для основного рабочего процесса тестирования облачная зависимость не требуется.
CLI, TUI, REST API, потоки WebSocket и MCP-сервер — это интерфейсы к одной и той же базовой системе.
Вам не нужны отдельные инструменты для ручного тестирования и автоматизации.
Запускайте сканирования прямо из командной строки, используйте вывод в формате JSON или SARIF и интегрируйте результаты в конвейеры CI/CD.
pwnproxy предоставляет свои возможности через нативный MCP-сервер, чтобы совместимые AI-агенты могли взаимодействовать с тем же движком тестирования, который используют операторы-люди.
Сканеры и хуки используют архитектуру плагинов, предназначенную для встроенных и сторонних расширений.
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 (предрелиз 0.1.0; 0.2.0-dev в CHANGELOG.md). Упаковка в PyPI запланирована на будущий релиз.
Конфигурация находится в ~/.pwnproxy/config.toml — см. config.example.toml для настроек [triage] / [llm] / max_llm_per_scan и параметров области действия. Базовое тестирование (прокси, сканеры, хранилище) работает без ключа API LLM; триаж по умолчанию выполняется на основе эвристик.
Приостанавливайте, инспектируйте, изменяйте и возобновляйте трафик HTTP/HTTPS.
Встроенные сканеры на данный момент включают:
| Сканер | Обнаружение |
|---|---|
| SQLi | На основе ошибок (сигнатуры + приглушённые 5xx с негативными контролями / защитой от WAF), булево-слепое (многораундовое + базовый уровень), временное, OOB |
| XSS | Отражённые/хранимые с контекстно-зависимой эксплуатируемостью (отражение ≠ XSS); статические сигналы DOM-стоков (dom-xss, выведенные) |
| LFI | Сигнатуры содержимого, обход каталогов и обёртки PHP |
| XXE | На основе ошибок, XInclude, мутация JSON и OOB-сценарии |
| SSRF | Только подтверждение через OOB/обратный вызов (fail-closed; без спекулятивного SSRF на основе ошибок) |
Находки используют три уровня достоверности — tentative, inferred и confirmed — чтобы слабые сигналы не воспринимались как эксплойты. Триаж LLM включается по желанию; по умолчанию конвейер остаётся на эвристиках и никогда не отправляет находки tentative судье LLM.
Сканеры потребляют захваченные потоки и также могут выполняться напрямую в безголовом режиме.
Воспроизводите и изменяйте необработанные HTTP-запросы независимо от прокси.
Находки сохраняют данные запроса, чтобы обнаруженные проблемы можно было проверить вручную.
Фаззинг запросов с использованием позиций §marker§ в стиле Burp.
Поддерживаемые режимы включают:
Обнаружение путей и файлов на основе словарей с:
Автоматическое извлечение и хранение:
Сессии изолированы и сохраняются локально.
Расширяйте 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 доступна по адресу: