
Eine offene, lokal-first Sicherheitstest-Plattform für Pentester, KI-Agenten, CI/CD-Pipelines und Teams.
Eine Engine für Sicherheitstests. Jede Schnittstelle.
Eine offene, lokal-first Plattform für Sicherheitstests für Pentester, KI-Agenten, CI/CD-Pipelines und Teams.
Traditionelle Sicherheitstools wurden für einen einzelnen Tester mit einer Desktop-Oberfläche entwickelt.
pwnproxy ist um eine gemeinsame Engine für Sicherheitstests herum aufgebaut, die über ein Terminal, eine TUI, eine REST-API, WebSocket-Streams, CI/CD-Pipelines oder KI-Agenten über MCP gesteuert werden kann.
┌─────────────────────┐
│ pwnproxy core │
│ │
│ Proxy · Scanners │
│ Repeater · Intruder │
│ Sessions · Plugins │
└──────────┬──────────┘
│
┌───────────┬───────────┼───────────┬───────────┐
▼ ▼ ▼ ▼ ▼
CLI TUI REST API WebSocket MCP
│ │ │ │ │
Pentester Pentester Automatisierung Teams KI-Agenten
Dieselbe Engine wird verwendet, egal ob Sie Datenverkehr manuell abfangen, einen automatisierten Scan ausführen, Sicherheitsprüfungen in CI/CD integrieren oder einem KI-Agenten Zugriff auf Ihren Testworkflow geben.
Der Proxy, die Scanner, die Speicherung und die Automatisierung laufen auf Ihrer Infrastruktur.
Für den Kern-Testworkflow ist keine Cloud-Abhängigkeit erforderlich.
Die CLI, TUI, REST-API, WebSocket-Streams und der MCP-Server sind Schnittstellen zu demselben zugrunde liegenden System.
Sie benötigen keine separaten Tools für manuelle Tests und Automatisierung.
Führen Sie Scans direkt über die Befehlszeile aus, konsumieren Sie JSON- oder SARIF-Ausgaben und integrieren Sie Ergebnisse in CI/CD-Pipelines.
pwnproxy stellt seine Fähigkeiten über einen nativen MCP-Server bereit, sodass kompatible KI-Agenten mit derselben Test-Engine interagieren können, die auch von menschlichen Bedienern verwendet wird.
Scanner und Hooks verwenden eine Plugin-Architektur, die für integrierte und Drittanbieter-Erweiterungen ausgelegt ist.
git clone https://github.com/ericmtzmtz/pwnproxy.git
cd pwnproxy
poetry install
Python 3.12 oder höher ist erforderlich.
poetry run pwnproxy start --proxy-port 8080 --api-port 8000
Dies startet:
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
Exit-Codes:
| Code | Bedeutung |
|---|---|
| 0 | Scan abgeschlossen, keine Befunde |
| 1 | Scan abgeschlossen, Befunde gefunden |
| 2 | Fehler |
pwnproxy wird derzeit aus dem Quellcode mit Poetry installiert. PyPI-Paketierung ist für eine zukünftige Version geplant.
HTTP/HTTPS-Datenverkehr anhalten, prüfen, ändern und fortsetzen.
Die integrierten Scanner umfassen derzeit:
| Scanner | Erkennung |
|---|---|
| SQLi | Fehlerbasierte und zeitbasierte Blind-Erkennung |
| XSS | Reflektiertes und gespeichertes XSS mit Kontextanalyse |
| LFI | Inhalts-Signaturen, Traversal und PHP-Wrapper |
| XXE | Fehlerbasiert, XInclude, JSON-Mutation und OOB-Workflows |
| SSRF | Parameteranalyse, Redirect-Erkennung und Callback-Validierung |
Scanner konsumieren erfasste Flows und können auch direkt im Headless-Modus ausgeführt werden.
HTTP-Rohdatenanfragen unabhängig vom Proxy erneut abspielen und ändern.
Befunde bewahren Anfragedaten, sodass erkannte Probleme manuell validiert werden können.
Anfrage-Fuzzing mit Burp-artigen §marker§-Positionen.
Unterstützte Modi umfassen:
Wortlistenbasierte Pfad- und Dateierkennung mit:
Automatisches Extrahieren und Speichern von:
Sitzungen werden isoliert und lokal gespeichert.
Erweitern Sie pwnproxy mit benutzerdefinierten Scannern und Hooks.
Plugins können:
Dieselbe Plugin-Schnittstelle wird für integrierte und Drittanbieter-Scanner verwendet.
Ein Watchdog verfolgt Plugin-Fehler und kann wiederholt fehlschlagende Plugins automatisch deaktivieren.
Führen Sie pwnproxy direkt über das Terminal aus.
pwnproxy start
pwnproxy history
pwnproxy findings
pwnproxy scan url https://example.com
pwnproxy plugin list
pwnproxy session list
Verwenden Sie eine interaktive Terminal-Oberfläche für:
Steuern Sie die Plattform programmatisch.
curl http://127.0.0.1:8000/api/v1/flows
Die API stellt Funktionen bereit für:
Interaktive API-Dokumentation ist verfügbar unter:
http://127.0.0.1:8000/docs
Konsumieren Sie Echtzeit-Events für Datenverkehr, Befunde, Crawler-Aktivität und andere Workflows.
Beispiel-Streams:
/ws/traffic/ws/findings/ws/eventsDies ermöglicht externen Schnittstellen und Automatisierungssystemen, in Echtzeit auf Testaktivitäten zu reagieren.
pwnproxy enthält einen nativen MCP-Server, der die Testplattform für MCP-kompatible Agenten bereitstellt.
Claude / Copilot / Custom Agent
│
▼
┌──────────────┐
│ MCP Server │
└──────┬───────┘
│
▼
┌──────────────┐
│ pwnproxy API │
└──────┬───────┘
│
┌─────────┼─────────┐
▼ ▼ ▼
Traffic Findings Scanners
│ │ │
└─────────┼─────────┘
▼
Security-Workflow
Starten Sie pwnproxy:
pwnproxy start
Konfigurieren Sie dann Ihren MCP-kompatiblen Agenten:
{
"mcpServers": {
"pwnproxy": {
"command": "python",
"args": [
"-m",
"apps.mcp.src.pwnproxy_mcp.server"
]
}
}
}
Der MCP-Server fungiert als dünne Integrationsschicht über der pwnproxy-Plattform.
Siehe:
docs/mcp.md
für agentenspezifische Konfiguration und Tool-Dokumentation.
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 ist so konzipiert, dass der Kern-Testworkflow unabhängig von der Schnittstelle ist, die zu seiner Steuerung verwendet wird.
pwnproxy ist kein Burp-Suite-Klon.
Burp Suite bleibt ein hervorragendes Tool für GUI-basiertes manuelles Testen.
pwnproxy konzentriert sich auf eine andere Architektur:
| Burp Suite | pwnproxy | |
|---|---|---|
| Primäres Modell | Desktop-Anwendung | Gemeinsame Test-Engine |
| Manuelles Testen | GUI | TUI + API-Schnittstellen |
| Automatisierung | Erweiterungen / Integrationen | CLI + REST + SARIF |
| KI-Agenten | Externe Integrationen | Nativer MCP-Server |
| Plugins | Java-Ökosystem | Python-basierte Plugins |
| Headless-Workflows | Eingeschränkt | Nativ |
| CI/CD | Externe Tools | Integrierte Ausgabe und Exit-Codes |
| Lokale Bereitstellung | Ja | Ja |
pwnproxy kann auch Burp-Scope-Konfigurationen importieren.
pwnproxy import burp --config burp-config.json
Siehe:
docs/burp-migration.md
für Migrationsdetails.
Führen Sie Scans aus, ohne den Proxy zu starten:
pwnproxy scan url https://example.com \
--output sarif \
--output-file report.sarif
Beispiel für einen GitHub-Actions-Workflow:
- 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 verwendet lokale SQLite-Speicherung pro Sitzung.
Eine Sitzung kann enthalten:
~/.pwnproxy/sessions/<session>/
├── traffic.db
├── scanner_results.db
├── sessions.db
└── tasks.db
Dies hält Testdaten isoliert und portabel.
Eine vollständige Sitzung kann als Verzeichnis gesichert oder verschoben werden.
Für größere kollaborative oder infrastrukturelle Bereitstellungen ist die Speicherschicht um SQLAlchemy-Async-Abstraktionen herum aufgebaut.
Linux / macOS:
./dev.sh
Windows PowerShell:
.\dev.ps1
Dies startet:
:8080:8000:4321poetry run pytest
Siehe die Beitragsdokumentation für Architektur- und Entwicklungsdetails.
Vor dem Hinzufügen größerer neuer Funktionen konzentriert sich der aktuelle Entwicklungszyklus auf architektonische Stabilität und Konsistenz.
P0 — Architektur-Invarianten
P1 — Betriebliche Resilienz
P2 — Release-Disziplin
Das Ziel ist es, die Plattform zu stärken, bevor ihre Oberfläche weiter ausgebaut wird.
| Thema | Dokumentation |
|---|---|
| Installation | docs/installation.md |
| CLI | docs/cli.md |
| API | docs/api.md |
| MCP | docs/mcp.md |
| Architektur | docs/architecture.md |
| Plugins | docs/plugin-architecture.md |
| Scanner | docs/scanners.md |
| Verzeichnis-Erkennung | docs/directory-bruteforce.md |
| Burp-Migration | docs/burp-migration.md |
| Entwicklung | docs/development.md |
Beiträge sind willkommen.
git clone https://github.com/ericmtzmtz/pwnproxy.git
cd pwnproxy
poetry install
poetry run pytest
Vor dem Einreichen eines Pull-Requests:
Detaillierte Architekturänderungen und Spezifikationen werden verfolgt in:
openspec/openspec/changes/pwnproxy wird von NEXTECH SOLUTIONS gepflegt — einem Cybersicherheitsdienstleistungsunternehmen mit Sitz in Mexiko.
Die Kernplattform ist kostenlos und Open Source unter der AGPLv3-Lizenz.
Professionelle Dienstleistungen können umfassen:
| Dienstleistung | Beschreibung |
|---|---|
| Sicherheitsbewertungen | Professionelle Pentesting-Einsätze und Berichterstattung |
| Benutzerdefinierte Entwicklung | Benutzerdefinierte Scanner, Plugins und Integrationen |
| Schulungen | Praxisnahe Sicherheits- und DevSecOps-Schulungen |
| Automatisierung | Sicherheitstest-Workflows, integriert in CI/CD |
Für Anfragen:
pwnproxy ist unter der GNU Affero General Public License v3.0 lizenziert.
Siehe:
LICENSE
Sie können pwnproxy unter den Bedingungen der AGPLv3 frei verwenden, modifizieren und verbreiten.
Gebaut für Sicherheitstests jenseits des Desktops.