
Una plataforma de pruebas de seguridad abierta y local-first para pentesters, agentes de IA, pipelines de CI/CD y equipos.
Un 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 fueron diseñadas en torno a un único probador que utiliza una interfaz de escritorio.
pwnproxy está construido en torno a un motor compartido de pruebas de seguridad que puede controlarse mediante una 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 estás interceptando tráfico manualmente, ejecutando un escaneo automatizado, integrando comprobaciones de seguridad en CI/CD o dando a un agente de IA acceso a tu flujo de trabajo de pruebas.
El proxy, los escáneres, el almacenamiento y la automatización se ejecutan en tu infraestructura.
No se requiere dependencia en la nube para el flujo de trabajo principal de pruebas.
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 pruebas manuales y automatización.
Ejecuta escaneos directamente desde la línea de comandos, consume salida JSON o SARIF e integra hallazgos en 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 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
Esto inicia:
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. El empaquetado en PyPI está planificado para una futura versión.
Pausa, inspecciona, modifica y reanuda tráfico HTTP/HTTPS.
Los escáneres integrados incluyen actualmente:
| Escáner | Detección |
|---|---|
| SQLi | Detección ciega basada en errores y en tiempo |
| XSS | XSS reflejado y almacenado con análisis de contexto |
| LFI | Firmas de contenido, traversal y wrappers de PHP |
| XXE | Basado en errores, XInclude, mutación JSON y flujos OOB |
| SSRF | Análisis de parámetros, detección de redirecciones y validación de callbacks |
Los escáneres consumen flujos capturados y también pueden ejecutarse directamente en modo headless.
Reproduce y modifica peticiones HTTP crudas de forma independiente del proxy.
Los hallazgos conservan los datos de la petición para que los problemas detectados puedan validarse manualmente.
Fuzzing de peticiones usando posiciones de marcador §marker§ estilo Burp.
Los modos compatibles incluyen:
Descubrimiento de rutas y archivos basado en wordlists con:
Extrae y almacena automáticamente:
Las sesiones se aíslan y persisten localmente.
Extiende pwnproxy con escáneres y hooks personalizados.
Los plugins pueden:
La misma interfaz de plugins se utiliza para escáneres integrados y de terceros.
Un watchdog rastrea los fallos de los plugins y puede deshabilitar 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
Usa una interfaz de terminal interactiva para:
Controla la plataforma programáticamente.
curl http://127.0.0.1:8000/api/v1/flows
La API expone funcionalidad para:
La documentación interactiva de la API está disponible en:
http://127.0.0.1:8000/docs
Consume eventos en tiempo real para tráfico, hallazgos, actividad del crawler y otros flujos de trabajo.
Ejemplos de streams:
/ws/traffic/ws/findings/ws/eventsEsto permite que interfaces externas y sistemas de automatización reaccionen a la actividad de pruebas en tiempo real.
pwnproxy incluye un servidor MCP nativo que expone la plataforma de pruebas a agentes compatibles con MCP.
Claude / Copilot / Custom Agent
│
▼
┌──────────────┐
│ MCP Server │
└──────┬───────┘
│
▼
┌──────────────┐
│ pwnproxy API │
└──────┬───────┘
│
┌─────────┼─────────┐
▼ ▼ ▼
Traffic Findings Scanners
│ │ │
└─────────┼─────────┘
▼
Security workflow
Inicia pwnproxy:
pwnproxy start
Luego configura tu agente compatible con MCP:
{
"mcpServers": {
"pwnproxy": {
"command": "python",
"args": [
"-m",
"apps.mcp.src.pwnproxy_mcp.server"
]
}
}
}
El servidor MCP actúa como una capa de integración ligera sobre la plataforma pwnproxy.
Consulta:
docs/mcp.md
para la configuración específica de agentes y la documentación de herramientas.
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 está diseñado para que el flujo de trabajo principal de pruebas sea independiente de la interfaz utilizada para controlarlo.
pwnproxy no es un clon de Burp Suite.
Burp Suite sigue siendo una excelente herramienta para pruebas manuales basadas en GUI.
pwnproxy se centra en una arquitectura diferente:
| Burp Suite | pwnproxy | |
|---|---|---|
| Modelo principal | Aplicación de escritorio | Motor de pruebas compartido |
| Pruebas manuales | GUI | TUI + interfaces API |
| Automatización | Extensiones / integraciones | CLI + REST + SARIF |
| Agentes de IA | Integraciones externas | Servidor MCP nativo |
| Plugins | Ecosistema Java | Plugins basados en Python |
| Flujos headless | Limitados | Nativos |
| CI/CD | Herramientas externas | Salida y códigos de salida integrados |
| Despliegue local | Sí | Sí |
pwnproxy también puede importar configuraciones de alcance de Burp.
pwnproxy import burp --config burp-config.json
Consulta:
docs/burp-migration.md
para los detalles de migración.
Ejecuta escaneos sin iniciar el proxy:
pwnproxy scan url https://example.com \
--output sarif \
--output-file report.sarif
Ejemplo de flujo de trabajo de 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 utiliza almacenamiento SQLite local por sesión.
Una sesión puede contener:
~/.pwnproxy/sessions/<session>/
├── traffic.db
├── scanner_results.db
├── sessions.db
└── tasks.db
Esto mantiene los datos de prueba aislados y portables.
Una sesión completa puede respaldarse o moverse como un directorio.
Para despliegues colaborativos o de infraestructura más grandes, la capa de almacenamiento está diseñada en torno a abstracciones async de SQLAlchemy.
Linux / macOS:
./dev.sh
Windows PowerShell:
.\dev.ps1
Esto inicia:
:8080:8000:4321poetry run pytest
Consulta la documentación de contribución para los detalles de arquitectura y desarrollo.
Antes de añadir nuevas características importantes, el ciclo de desarrollo actual se centra en la estabilidad y consistencia arquitectónica.
P0 — Invariantes de arquitectura
P1 — Resiliencia operativa
P2 — Disciplina de lanzamiento
El objetivo es fortalecer la plataforma antes de continuar expandiendo su superficie.
| Tema | Documentación |
|---|---|
| Instalación | docs/installation.md |
| CLI | docs/cli.md |
| API | docs/api.md |
| MCP | docs/mcp.md |
| Arquitectura | docs/architecture.md |
| Plugins | docs/plugin-architecture.md |
| Escáneres | docs/scanners.md |
| Descubrimiento de directorios | docs/directory-bruteforce.md |
| Migración de Burp | docs/burp-migration.md |
| Desarrollo | docs/development.md |
Las contribuciones son bienvenidas.
git clone https://github.com/ericmtzmtz/pwnproxy.git
cd pwnproxy
poetry install
poetry run pytest
Antes de enviar un pull request:
Los cambios detallados de arquitectura y las especificaciones se rastrean en:
openspec/openspec/changes/pwnproxy es mantenido por NEXTECH SOLUTIONS — una empresa de servicios de ciberseguridad con sede en México.
La plataforma principal es gratuita y de código abierto bajo la licencia AGPLv3.
Los servicios profesionales pueden incluir:
| Servicio | Descripción |
|---|---|
| Evaluaciones de seguridad | Compromisos de pentesting profesionales e informes |
| Desarrollo personalizado | Escáneres, plugins e integraciones personalizados |
| Formación | Formación práctica en seguridad y DevSecOps |
| Automatización | Flujos de trabajo de pruebas de seguridad integrados en CI/CD |
Para consultas:
pwnproxy está licenciado bajo la GNU Affero General Public License v3.0.
Consulta:
LICENSE
Eres libre de usar, modificar y distribuir pwnproxy bajo los términos de la AGPLv3.
Construido para pruebas de seguridad más allá del escritorio.