
Una plataforma de pruebas de seguridad abierta y local-first para pentesters, agentes de IA, pipelines de CI/CD y equipos.
CI: suite · goldens · perf-check — línea base 281.9ms / 19 páginas (tests/perf/baseline.json) — .github/workflows/ci.yml
Un único motor de pruebas de seguridad. Todas las interfaces.
Una plataforma de pruebas de seguridad abierta y local-first para pentesters, agentes de IA, pipelines de CI/CD y equipos.
Las herramientas de seguridad tradicionales se diseñaron en torno a un único tester que utilizaba una interfaz de escritorio.
pwnproxy se construye en torno a un motor compartido de pruebas de seguridad que puede controlarse mediante un terminal, TUI, API REST, flujos WebSocket, pipelines de CI/CD o agentes de IA a través de MCP.
┌─────────────────────┐
│ pwnproxy core │
│ │
│ Proxy · Scanners │
│ Repeater · Intruder │
│ Sessions · Plugins │
└──────────┬──────────┘
│
┌───────────┬───────────┼───────────┬───────────┐
▼ ▼ ▼ ▼ ▼
CLI TUI REST API WebSocket MCP
│ │ │ │ │
Pentesters Pentesters Automation Teams AI Agents
El mismo núcleo se utiliza tanto si interceptas tráfico manualmente, ejecutas un escaneo automatizado, integras comprobaciones de seguridad en CI/CD o das acceso a un agente de IA a tu flujo de trabajo de pruebas.
El proxy, los escáneres, el almacenamiento y la automatización se ejecutan en tu propia infraestructura.
No se requiere dependencia de la nube para el flujo de trabajo de pruebas principal.
La CLI, la TUI, la API REST, los flujos WebSocket y el servidor MCP son interfaces del mismo sistema subyacente.
No necesitas herramientas separadas para las pruebas manuales y la automatización.
Ejecuta escaneos directamente desde la línea de comandos, consume la salida en JSON o SARIF e integra los hallazgos en los pipelines de CI/CD.
pwnproxy expone sus capacidades a través de un servidor MCP nativo para que los agentes de IA compatibles puedan interactuar con el mismo motor de pruebas que utilizan los operadores humanos.
Los escáneres y los hooks utilizan una arquitectura de plugins diseñada para extensiones integradas y de terceros.
git clone https://github.com/ericmtzmtz/pwnproxy.git
cd pwnproxy
poetry install
Se requiere Python 3.12 o posterior.
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
Códigos de salida:
| Código | Significado |
|---|---|
| 0 | Escaneo completado, sin hallazgos |
| 1 | Escaneo completado, hallazgos encontrados |
| 2 | Error |
pwnproxy se instala actualmente desde el código fuente usando Poetry (0.1.0 pre-release; 0.2.0-dev en CHANGELOG.md). El empaquetado en PyPI está previsto para una versión futura.
La configuración se encuentra en ~/.pwnproxy/config.toml — consulta config.example.toml para [triage] / [llm] / max_llm_per_scan y los ajustes de alcance. Las pruebas principales (proxy, escáneres, almacenamiento) funcionan sin una clave de API de LLM; el triaje se ejecuta con heurísticas por defecto.
Pausa, inspecciona, modifica y reanuda el tráfico HTTP/HTTPS.
Los escáneres integrados incluyen actualmente:
| Escáner | Detección |
|---|---|
| SQLi | Basada en errores (firmas + 5xx atenuados con controles negativos / protecciones anti-WAF), boolean-blind (múltiples rondas + línea base), basada en tiempo, OOB |
| XSS | Reflejado/almacenado con explotabilidad según el contexto (reflejo ≠ XSS); señales estáticas de sumideros DOM (dom-xss, inferido) |
| LFI | Firmas de contenido, traversal y wrappers de PHP |
| XXE | Basada en errores, XInclude, mutación de JSON y flujos de trabajo OOB |
| SSRF | Solo confirmación OOB/callback (fail-closed; sin SSRF especulativo basado en errores) |
Los hallazgos usan tres niveles de confianza — tentative, inferred y confirmed — para que las señales débiles no se traten como exploits. El triaje con LLM es opcional; por defecto el pipeline se mantiene en heurísticas y nunca envía hallazgos tentative al juez LLM.
Los escáneres consumen los flujos capturados y también pueden ejecutarse directamente en modo headless.
Reproduce y modifica solicitudes HTTP en bruto de forma independiente del proxy.
Los hallazgos conservan los datos de la solicitud para que los problemas detectados puedan validarse manualmente.
Fuzzing de solicitudes usando posiciones §marker§ al estilo Burp.
Los modos admitidos incluyen:
Descubrimiento de rutas y archivos basado en wordlists con:
Extrae y almacena automáticamente:
Las sesiones están aisladas y se persisten localmente.
Amplía pwnproxy con escáneres y hooks personalizados.
Los plugins pueden ser:
Se usa la misma interfaz de plugins para los escáneres integrados y los de terceros.
Un watchdog rastrea los fallos de los plugins y puede desactivar automáticamente los plugins que fallan repetidamente.
Ejecuta pwnproxy directamente desde la terminal.
pwnproxy start
pwnproxy history
pwnproxy findings
pwnproxy scan url https://example.com
pwnproxy plugin list
pwnproxy session list
Utiliza una interfaz de terminal interactiva para:
Controla la plataforma de forma programática.
curl http://127.0.0.1:8000/api/v1/flows
La API expone funcionalidad para: