
Una piattaforma di test di sicurezza open source e local-first per penetration tester, agenti AI, pipeline CI/CD e team.
Un motore di test di sicurezza. Ogni interfaccia.
Una piattaforma di test di sicurezza aperta e local-first per penetration tester, agenti AI, pipeline CI/CD e team.
Gli strumenti di sicurezza tradizionali sono stati progettati attorno a un singolo tester che utilizza un'interfaccia desktop.
pwnproxy è costruito attorno a un motore di test di sicurezza condiviso che può essere controllato tramite terminale, TUI, API REST, stream WebSocket, pipeline CI/CD o agenti AI tramite MCP.
┌─────────────────────┐
│ pwnproxy core │
│ │
│ Proxy · Scanners │
│ Repeater · Intruder │
│ Sessions · Plugins │
└──────────┬──────────┘
│
┌───────────┬───────────┼───────────┬───────────┐
▼ ▼ ▼ ▼ ▼
CLI TUI REST API WebSocket MCP
│ │ │ │ │
Pentesters Pentesters Automation Teams AI Agents
Lo stesso core viene utilizzato sia che tu stia intercettando manualmente il traffico, eseguendo una scansione automatizzata, integrando i controlli di sicurezza in CI/CD o dando a un agente AI accesso al tuo flusso di lavoro di test.
Il proxy, gli scanner, l'archiviazione e l'automazione vengono eseguiti sulla tua infrastruttura.
Non è richiesta alcuna dipendenza dal cloud per il flusso di lavoro di test principale.
La CLI, la TUI, l'API REST, gli stream WebSocket e il server MCP sono interfacce verso lo stesso sistema sottostante.
Non hai bisogno di strumenti separati per i test manuali e l'automazione.
Esegui scansioni direttamente dalla riga di comando, consuma output JSON o SARIF e integra i risultati nelle pipeline CI/CD.
pwnproxy espone le sue capacità tramite un server MCP nativo, così gli agenti AI compatibili possono interagire con lo stesso motore di test utilizzato dagli operatori umani.
Gli scanner e gli hook utilizzano un'architettura a plugin progettata per estensioni integrate e di terze parti.
git clone https://github.com/ericmtzmtz/pwnproxy.git
cd pwnproxy
poetry install
È richiesto Python 3.12 o successivo.
poetry run pwnproxy start --proxy-port 8080 --api-port 8000
Questo avvia:
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
Codici di uscita:
| Codice | Significato |
|---|---|
| 0 | Scansione completata, nessun risultato |
| 1 | Scansione completata, risultati trovati |
| 2 | Errore |
pwnproxy è attualmente installato dal sorgente utilizzando Poetry. Il packaging su PyPI è previsto per una release futura.
Metti in pausa, ispeziona, modifica e riprendi il traffico HTTP/HTTPS.
Gli scanner integrati attualmente includono:
| Scanner | Rilevamento |
|---|---|
| SQLi | Rilevamento blind basato su errori e su tempo |
| XSS | XSS riflesso e persistente con analisi del contesto |
| LFI | Firme di contenuto, traversal e wrapper PHP |
| XXE | Flussi di lavoro basati su errori, XInclude, mutazione JSON e OOB |
| SSRF | Analisi dei parametri, rilevamento dei redirect e validazione dei callback |
Gli scanner consumano i flussi catturati e possono anche essere eseguiti direttamente in modalità headless.
Riproduci e modifica richieste HTTP grezze indipendentemente dal proxy.
I risultati preservano i dati delle richieste, così i problemi rilevati possono essere validati manualmente.
Fuzzing delle richieste utilizzando posizioni in stile Burp con marcatori §marker§.
Le modalità supportate includono:
Scoperta di percorsi e file basata su wordlist con:
Estrai e archivia automaticamente:
Le sessioni sono isolate e persistite localmente.
Estendi pwnproxy con scanner e hook personalizzati.
I plugin possono essere:
La stessa interfaccia plugin viene utilizzata per scanner integrati e di terze parti.
Un watchdog tiene traccia dei guasti dei plugin e può disabilitare automaticamente i plugin che falliscono ripetutamente.
Esegui pwnproxy direttamente dal terminale.
pwnproxy start
pwnproxy history
pwnproxy findings
pwnproxy scan url https://example.com
pwnproxy plugin list
pwnproxy session list
Utilizza un'interfaccia terminale interattiva per:
Controlla la piattaforma programmaticamente.
curl http://127.0.0.1:8000/api/v1/flows
L'API espone funzionalità per:
La documentazione interattiva dell'API è disponibile su:
http://127.0.0.1:8000/docs
Consuma eventi in tempo reale per traffico, risultati, attività del crawler e altri flussi di lavoro.
Stream di esempio:
/ws/traffic/ws/findings/ws/eventsQuesto consente a interfacce esterne e sistemi di automazione di reagire in tempo reale all'attività di test.
pwnproxy include un server MCP nativo che espone la piattaforma di test ad agenti compatibili con MCP.
Claude / Copilot / Custom Agent
│
▼
┌──────────────┐
│ MCP Server │
└──────┬───────┘
│
▼
┌──────────────┐
│ pwnproxy API │
└──────┬───────┘
│
┌─────────┼─────────┐
▼ ▼ ▼
Traffic Findings Scanners
│ │ │
└─────────┼─────────┘
▼
Security workflow
Avvia pwnproxy:
pwnproxy start
Poi configura il tuo agente compatibile con MCP:
{
"mcpServers": {
"pwnproxy": {
"command": "python",
"args": [
"-m",
"apps.mcp.src.pwnproxy_mcp.server"
]
}
}
}
Il server MCP agisce come un sottile livello di integrazione sopra la piattaforma pwnproxy.
Vedi:
docs/mcp.md
per la configurazione specifica dell'agente e la documentazione degli strumenti.
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 è progettato affinché il flusso di lavoro di test principale sia indipendente dall'interfaccia utilizzata per controllarlo.
pwnproxy non è un clone di Burp Suite.
Burp Suite rimane un ottimo strumento per i test manuali basati su GUI.
pwnproxy si concentra su un'architettura diversa:
| Burp Suite | pwnproxy | |
|---|---|---|
| Modello principale | Applicazione desktop | Motore di test condiviso |
| Test manuali | GUI | TUI + interfacce API |
| Automazione | Estensioni / integrazioni | CLI + REST + SARIF |
| Agenti AI | Integrazioni esterne | Server MCP nativo |
| Plugin | Ecosistema Java | Plugin basati su Python |
| Flussi di lavoro headless | Limitati | Nativi |
| CI/CD | Strumentazione esterna | Output e codici di uscita integrati |
| Distribuzione locale | Sì | Sì |
pwnproxy può anche importare le configurazioni di scope di Burp.
pwnproxy import burp --config burp-config.json
Vedi:
docs/burp-migration.md
per i dettagli sulla migrazione.
Esegui scansioni senza avviare il proxy:
pwnproxy scan url https://example.com \
--output sarif \
--output-file report.sarif
Esempio di flusso di lavoro 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 utilizza archiviazione SQLite locale per sessione.
Una sessione può contenere:
~/.pwnproxy/sessions/<session>/
├── traffic.db
├── scanner_results.db
├── sessions.db
└── tasks.db
Questo mantiene i dati di test isolati e portabili.
Una sessione completa può essere sottoposta a backup o spostata come directory.
Per distribuzioni collaborative o infrastrutturali più grandi, il livello di archiviazione è progettato attorno ad astrazioni async di SQLAlchemy.
Linux / macOS:
./dev.sh
Windows PowerShell:
.\dev.ps1
Questo avvia:
:8080:8000:4321poetry run pytest
Consulta la documentazione sui contributi per i dettagli su architettura e sviluppo.
Prima di aggiungere nuove funzionalità importanti, il ciclo di sviluppo attuale si concentra su stabilità architetturale e coerenza.
P0 — Invarianti architetturali
P1 — Resilienza operativa
P2 — Disciplina di release
L'obiettivo è rafforzare la piattaforma prima di continuare ad espandere la sua superficie.
| Argomento | Documentazione |
|---|---|
| Installazione | docs/installation.md |
| CLI | docs/cli.md |
| API | docs/api.md |
| MCP | docs/mcp.md |
| Architettura | docs/architecture.md |
| Plugin | docs/plugin-architecture.md |
| Scanner | docs/scanners.md |
| Scoperta di directory | docs/directory-bruteforce.md |
| Migrazione da Burp | docs/burp-migration.md |
| Sviluppo | docs/development.md |
I contributi sono benvenuti.
git clone https://github.com/ericmtzmtz/pwnproxy.git
cd pwnproxy
poetry install
poetry run pytest
Prima di inviare una pull request:
Le modifiche architetturali dettagliate e le specifiche sono tracciate in:
openspec/openspec/changes/pwnproxy è mantenuto da NEXTECH SOLUTIONS — un'azienda di servizi di cybersecurity con sede in Messico.
La piattaforma core è gratuita e open source sotto licenza AGPLv3.
I servizi professionali possono includere:
| Servizio | Descrizione |
|---|---|
| Valutazioni di sicurezza | Incarichi di penetration testing professionale e reportistica |
| Sviluppo personalizzato | Scanner, plugin e integrazioni personalizzati |
| Formazione | Formazione pratica su sicurezza e DevSecOps |
| Automazione | Flussi di lavoro di test di sicurezza integrati in CI/CD |
Per richieste:
pwnproxy è concesso in licenza sotto la GNU Affero General Public License v3.0.
Vedi:
LICENSE
Sei libero di utilizzare, modificare e distribuire pwnproxy secondo i termini della AGPLv3.
Costruito per i test di sicurezza oltre il desktop.