
Una piattaforma di test di sicurezza open source e local-first per penetration tester, agenti AI, pipeline CI/CD e team.
CI: suite · goldens · perf-check — baseline 281.9ms / 19 pagine (tests/perf/baseline.json) — .github/workflows/ci.yml
Un unico motore di security testing. Ogni interfaccia.
Una piattaforma di security testing aperta e local-first per pentester, agenti AI, pipeline CI/CD e team.
Gli strumenti di sicurezza tradizionali erano progettati attorno a un singolo tester che utilizzava un'interfaccia desktop.
pwnproxy è costruito attorno a un motore di security testing condiviso che può essere controllato tramite terminale, TUI, REST API, 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 si stia intercettando manualmente il traffico, eseguendo una scansione automatizzata, integrando controlli di sicurezza in CI/CD, oppure fornendo a un agente AI l'accesso al proprio flusso di lavoro di testing.
Il proxy, gli scanner, lo storage e l'automazione vengono eseguiti sulla propria infrastruttura.
Nessuna dipendenza dal cloud è richiesta per il flusso di lavoro di testing principale.
La CLI, la TUI, l'API REST, gli stream WebSocket e il server MCP sono interfacce verso lo stesso sistema sottostante.
Non sono necessari strumenti separati per il testing manuale e l'automazione.
Esegui le scansioni direttamente dalla riga di comando, consuma l'output JSON o SARIF e integra i risultati nelle pipeline CI/CD.
pwnproxy espone le proprie capacità tramite un server MCP nativo, così gli agenti AI compatibili possono interagire con lo stesso motore di testing 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 versione successiva.
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
Codici di uscita:
| Codice | Significato |
|---|---|
| 0 | Scansione completata, nessun risultato |
| 1 | Scansione completata, risultati trovati |
| 2 | Errore |
pwnproxy è attualmente installato dal sorgente tramite Poetry (0.1.0 pre-release; 0.2.0-dev in CHANGELOG.md). Il packaging su PyPI è previsto per una release futura.
La configurazione si trova in ~/.pwnproxy/config.toml — vedi config.example.toml per [triage] / [llm] / max_llm_per_scan e le impostazioni di scope. Il testing principale (proxy, scanner, storage) funziona senza una chiave API LLM; il triage viene eseguito per impostazione predefinita su euristiche.
Metti in pausa, ispeziona, modifica e riprendi il traffico HTTP/HTTPS.
Gli scanner integrati attualmente includono:
| Scanner | Rilevamento |
|---|---|
| SQLi | Error-based (firme + 5xx attenuati con controlli negativi / protezioni anti-WAF), boolean-blind (multi-round + baseline), time-based, OOB |
| XSS | Reflected/stored con sfruttabilità contestuale (riflessione ≠ XSS); segnali statici di sink DOM (dom-xss, inferito) |
| LFI | Firme dei contenuti, traversal e wrapper PHP |
| XXE | Error-based, XInclude, mutazione JSON e flussi di lavoro OOB |
| SSRF | Solo conferma OOB/callback (fail-closed; nessun SSRF speculativo error-based) |
I risultati utilizzano tre livelli di confidenza — tentative, inferred e confirmed — così i segnali deboli non vengono trattati come exploit. Il triage LLM è opt-in; per impostazione predefinita la pipeline rimane su euristiche e non invia mai i risultati tentative al giudice LLM.
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 della richiesta così che i problemi rilevati possano essere validati manualmente.
Fuzzing delle richieste utilizzando posizioni con marcatori §stile Burp§.
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 dei plugin è utilizzata per gli scanner integrati e di terze parti.
Un watchdog monitora i fallimenti 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
Usa un'interfaccia terminale interattiva per:
Controlla la piattaforma in modo programmatico.
curl http://127.0.0.1:8000/api/v1/flows
L'API espone funzionalità per:
La documentazione interattiva dell'API è disponibile all'indirizzo: