
Uma plataforma de testes de segurança aberta e local-first para pentesters, agentes de IA, pipelines de CI/CD e equipes.
Um motor de testes de segurança. Todas as interfaces.
Uma plataforma de testes de segurança aberta e local-first para pentesters, agentes de IA, pipelines de CI/CD e equipes.
As ferramentas de segurança tradicionais foram projetadas em torno de um único testador usando uma interface desktop.
O pwnproxy é construído em torno de um motor compartilhado de testes de segurança que pode ser controlado por terminal, TUI, API REST, streams WebSocket, pipelines de CI/CD ou agentes de IA via MCP.
┌─────────────────────┐
│ pwnproxy core │
│ │
│ Proxy · Scanners │
│ Repeater · Intruder │
│ Sessions · Plugins │
└──────────┬──────────┘
│
┌───────────┬───────────┼───────────┬───────────┐
▼ ▼ ▼ ▼ ▼
CLI TUI REST API WebSocket MCP
│ │ │ │ │
Pentesters Pentesters Automation Teams AI Agents
O mesmo núcleo é usado tanto para interceptar tráfego manualmente, executar uma varredura automatizada, integrar verificações de segurança em CI/CD ou dar a um agente de IA acesso ao seu fluxo de trabalho de testes.
O proxy, os scanners, o armazenamento e a automação rodam na sua infraestrutura.
Nenhuma dependência de nuvem é necessária para o fluxo de trabalho principal de testes.
A CLI, a TUI, a API REST, os streams WebSocket e o servidor MCP são interfaces para o mesmo sistema subjacente.
Você não precisa de ferramentas separadas para testes manuais e automação.
Execute varreduras diretamente da linha de comando, consuma saída JSON ou SARIF e integre descobertas em pipelines de CI/CD.
O pwnproxy expõe suas capacidades por meio de um servidor MCP nativo, para que agentes de IA compatíveis possam interagir com o mesmo motor de testes usado por operadores humanos.
Scanners e hooks usam uma arquitetura de plugins projetada para extensões integradas e de terceiros.
git clone https://github.com/ericmtzmtz/pwnproxy.git
cd pwnproxy
poetry install
Python 3.12 ou posterior é necessário.
poetry run pwnproxy start --proxy-port 8080 --api-port 8000
Isso 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 saída:
| Código | Significado |
|---|---|
| 0 | Varredura concluída, sem descobertas |
| 1 | Varredura concluída, descobertas encontradas |
| 2 | Erro |
O pwnproxy é atualmente instalado a partir do código-fonte usando Poetry. O empacotamento via PyPI está planejado para uma versão futura.
Pause, inspecione, modifique e retome tráfego HTTP/HTTPS.
Os scanners integrados atualmente incluem:
| Scanner | Detecção |
|---|---|
| SQLi | Detecção cega baseada em erro e em tempo |
| XSS | XSS refletido e armazenado com análise de contexto |
| LFI | Assinaturas de conteúdo, traversal e wrappers PHP |
| XXE | Baseado em erro, XInclude, mutação JSON e fluxos OOB |
| SSRF | Análise de parâmetros, detecção de redirecionamento e validação de callback |
Os scanners consomem fluxos capturados e também podem ser executados diretamente em modo headless.
Reproduza e modifique requisições HTTP brutas independentemente do proxy.
As descobertas preservam os dados da requisição para que os problemas detectados possam ser validados manualmente.
Fuzzing de requisições usando posições de marcador §marker§ no estilo Burp.
Os modos suportados incluem:
Descoberta de caminhos e arquivos baseada em wordlists com:
Extraia e armazene automaticamente:
As sessões são isoladas e persistidas localmente.
Estenda o pwnproxy com scanners e hooks personalizados.
Os plugins podem ser:
A mesma interface de plugins é usada para scanners integrados e de terceiros.
Um watchdog rastreia falhas de plugins e pode desabilitar automaticamente plugins que falham repetidamente.
Execute o pwnproxy diretamente do terminal.
pwnproxy start
pwnproxy history
pwnproxy findings
pwnproxy scan url https://example.com
pwnproxy plugin list
pwnproxy session list
Use uma interface de terminal interativa para:
Controle a plataforma programaticamente.
curl http://127.0.0.1:8000/api/v1/flows
A API expõe funcionalidades para:
A documentação interativa da API está disponível em:
http://127.0.0.1:8000/docs
Consuma eventos em tempo real para tráfego, descobertas, atividade do crawler e outros fluxos de trabalho.
Exemplos de streams:
/ws/traffic/ws/findings/ws/eventsIsso permite que interfaces externas e sistemas de automação reajam à atividade de testes em tempo real.
O pwnproxy inclui um servidor MCP nativo que expõe a plataforma de testes a agentes compatíveis com MCP.
Claude / Copilot / Custom Agent
│
▼
┌──────────────┐
│ MCP Server │
└──────┬───────┘
│
▼
┌──────────────┐
│ pwnproxy API │
└──────┬───────┘
│
┌─────────┼─────────┐
▼ ▼ ▼
Traffic Findings Scanners
│ │ │
└─────────┼─────────┘
▼
Security workflow
Inicie o pwnproxy:
pwnproxy start
Em seguida, configure seu agente compatível com MCP:
{
"mcpServers": {
"pwnproxy": {
"command": "python",
"args": [
"-m",
"apps.mcp.src.pwnproxy_mcp.server"
]
}
}
}
O servidor MCP atua como uma camada de integração leve sobre a plataforma pwnproxy.
Consulte:
docs/mcp.md
para configuração específica de agentes e documentação de ferramentas.
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
O pwnproxy é projetado para que o fluxo de trabalho principal de testes seja independente da interface usada para controlá-lo.
O pwnproxy não é um clone do Burp Suite.
O Burp Suite continua sendo uma excelente ferramenta para testes manuais baseados em GUI.
O pwnproxy foca em uma arquitetura diferente:
| Burp Suite | pwnproxy | |
|---|---|---|
| Modelo principal | Aplicação desktop | Motor compartilhado de testes |
| Testes manuais | GUI | TUI + interfaces de API |
| Automação | Extensões / integrações | CLI + REST + SARIF |
| Agentes de IA | Integrações externas | Servidor MCP nativo |
| Plugins | Ecossistema Java | Plugins baseados em Python |
| Fluxos headless | Limitados | Nativos |
| CI/CD | Ferramentas externas | Saída e códigos de saída integrados |
| Implantação local | Sim | Sim |
O pwnproxy também pode importar configurações de escopo do Burp.
pwnproxy import burp --config burp-config.json
Consulte:
docs/burp-migration.md
para detalhes de migração.
Execute varreduras sem iniciar o proxy:
pwnproxy scan url https://example.com \
--output sarif \
--output-file report.sarif
Exemplo de fluxo de trabalho do 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
O pwnproxy usa armazenamento SQLite local por sessão.
Uma sessão pode conter:
~/.pwnproxy/sessions/<session>/
├── traffic.db
├── scanner_results.db
├── sessions.db
└── tasks.db
Isso mantém os dados de teste isolados e portáveis.
Uma sessão completa pode ser copiada ou movida como um diretório.
Para implantações colaborativas maiores ou de infraestrutura, a camada de armazenamento é projetada em torno de abstrações async do SQLAlchemy.
Linux / macOS:
./dev.sh
Windows PowerShell:
.\dev.ps1
Isso inicia:
:8080:8000:4321poetry run pytest
Consulte a documentação de contribuição para detalhes de arquitetura e desenvolvimento.
Antes de adicionar grandes novos recursos, o ciclo de desenvolvimento atual foca na estabilidade e consistência arquitetural.
P0 — Invariantes de arquitetura
P1 — Resiliência operacional
P2 — Disciplina de release
O objetivo é fortalecer a plataforma antes de continuar expandindo sua superfície.
| Tópico | Documentação |
|---|---|
| Instalação | docs/installation.md |
| CLI | docs/cli.md |
| API | docs/api.md |
| MCP | docs/mcp.md |
| Arquitetura | docs/architecture.md |
| Plugins | docs/plugin-architecture.md |
| Scanners | docs/scanners.md |
| Descoberta de diretórios | docs/directory-bruteforce.md |
| Migração do Burp | docs/burp-migration.md |
| Desenvolvimento | docs/development.md |
Contribuições são bem-vindas.
git clone https://github.com/ericmtzmtz/pwnproxy.git
cd pwnproxy
poetry install
poetry run pytest
Antes de enviar um pull request:
Mudanças detalhadas de arquitetura e especificações são rastreadas em:
openspec/openspec/changes/O pwnproxy é mantido pela NEXTECH SOLUTIONS — uma empresa de serviços de cibersegurança sediada no México.
A plataforma principal é gratuita e de código aberto sob a licença AGPLv3.
Os serviços profissionais podem incluir:
| Serviço | Descrição |
|---|---|
| Avaliações de segurança | Engajamentos profissionais de pentest e relatórios |
| Desenvolvimento personalizado | Scanners, plugins e integrações personalizados |
| Treinamento | Treinamento prático em segurança e DevSecOps |
| Automação | Fluxos de trabalho de testes de segurança integrados em CI/CD |
Para consultas:
O pwnproxy é licenciado sob a GNU Affero General Public License v3.0.
Consulte:
LICENSE
Você é livre para usar, modificar e distribuir o pwnproxy sob os termos da AGPLv3.
Construído para testes de segurança além do desktop.