
ペンテスター、AIエージェント、CI/CDパイプライン、およびチーム向けの、オープンでローカルファーストなセキュリティテストプラットフォーム。
1つのセキュリティテストエンジン。あらゆるインターフェース。
ペンテスター、AIエージェント、CI/CDパイプライン、チームのための、 オープンでローカルファーストなセキュリティテストプラットフォーム。
従来のセキュリティツールは、デスクトップインターフェースを使用する単一のテスターを想定して設計されていました。
pwnproxyは、ターミナル、TUI、REST API、WebSocketストリーム、CI/CDパイプライン、またはMCPを通じたAIエージェントから制御できる、共有のセキュリティテストエンジンを中心に構築されています。
┌─────────────────────┐
│ pwnproxy core │
│ │
│ Proxy · Scanners │
│ Repeater · Intruder │
│ Sessions · Plugins │
└──────────┬──────────┘
│
┌───────────┬───────────┼───────────┬───────────┐
▼ ▼ ▼ ▼ ▼
CLI TUI REST API WebSocket MCP
│ │ │ │ │
Pentesters Pentesters Automation Teams AI Agents
手動でトラフィックをインターセプトする場合、自動スキャンを実行する場合、CI/CDにセキュリティチェックを統合する場合、またはAIエージェントにテストワークフローへのアクセスを許可する場合でも、同じコアが使用されます。
プロキシ、スキャナー、ストレージ、自動化はすべてお客様のインフラ上で実行されます。
コアのテストワークフローにクラウド依存は不要です。
CLI、TUI、REST API、WebSocketストリーム、MCPサーバーは、すべて同じ基盤システムへのインターフェースです。
手動テストと自動化のために別々のツールを用意する必要はありません。
コマンドラインから直接スキャンを実行し、JSONまたはSARIF出力を利用し、結果をCI/CDパイプラインに統合できます。
pwnproxyは、ネイティブMCPサーバーを通じてその機能を公開するため、互換性のあるAIエージェントが、人間のオペレーターが使用するのと同じテストエンジンと対話できます。
スキャナーとフックは、組み込みおよびサードパーティの拡張機能向けに設計されたプラグインアーキテクチャを使用します。
git clone https://github.com/ericmtzmtz/pwnproxy.git
cd pwnproxy
poetry install
Python 3.12以降が必要です。
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
終了コード:
| コード | 意味 |
|---|---|
| 0 | スキャン完了、発見なし |
| 1 | スキャン完了、発見あり |
| 2 | エラー |
pwnproxyは現在、Poetryを使用してソースからインストールされます。PyPIパッケージングは将来のリリースで計画されています。
HTTP/HTTPSトラフィックを一時停止、検査、変更、再開できます。
現在の組み込みスキャナーは以下のとおりです:
| スキャナー | 検出 |
|---|---|
| SQLi | エラーベースおよび時間ベースのブラインド検出 |
| XSS | コンテキスト分析を伴う反射型および格納型XSS |
| LFI | コンテンツシグネチャ、トラバーサル、PHPラッパー |
| XXE | エラーベース、XInclude、JSONミューテーション、OOBワークフロー |
| SSRF | パラメータ分析、リダイレクト検出、コールバック検証 |
スキャナーはキャプチャされたフローを消費し、ヘッドレスモードで直接実行することもできます。
プロキシとは独立して、生のHTTPリクエストを再生および変更します。
発見結果はリクエストデータを保持するため、検出された問題を手動で検証できます。
Burpスタイルの§マーカー§位置を使用したリクエストファジング。
サポートされているモード:
ワードリストベースのパスおよびファイル探索:
以下を自動的に抽出して保存:
セッションは分離され、ローカルに永続化されます。
カスタムスキャナーとフックでpwnproxyを拡張します。
プラグインは以下の方法で提供できます:
組み込みスキャナーとサードパーティスキャナーには同じプラグインインターフェースが使用されます。
ウォッチドッグがプラグインの障害を追跡し、繰り返し失敗するプラグインを自動的に無効化できます。
ターミナルから直接pwnproxyを実行します。
pwnproxy start
pwnproxy history
pwnproxy findings
pwnproxy scan url https://example.com
pwnproxy plugin list
pwnproxy session list
対話型ターミナルインターフェースを使用して以下を実行:
プラットフォームをプログラムで制御します。
curl http://127.0.0.1:8000/api/v1/flows
APIは以下の機能を公開します:
対話型APIドキュメントは以下で利用可能です:
http://127.0.0.1:8000/docs
トラフィック、発見結果、クローラーアクティビティ、その他のワークフローに関するリアルタイムイベントを消費します。
ストリームの例:
/ws/traffic/ws/findings/ws/eventsこれにより、外部インターフェースと自動化システムがテストアクティビティにリアルタイムで反応できます。
pwnproxyには、テストプラットフォームをMCP互換エージェントに公開するネイティブMCPサーバーが含まれています。
Claude / Copilot / Custom Agent
│
▼
┌──────────────┐
│ MCP Server │
└──────┬───────┘
│
▼
┌──────────────┐
│ pwnproxy API │
└──────┬───────┘
│
┌─────────┼─────────┐
▼ ▼ ▼
Traffic Findings Scanners
│ │ │
└─────────┼─────────┘
▼
Security workflow
pwnproxyを起動:
pwnproxy start
次に、MCP互換エージェントを設定します:
{
"mcpServers": {
"pwnproxy": {
"command": "python",
"args": [
"-m",
"apps.mcp.src.pwnproxy_mcp.server"
]
}
}
}
MCPサーバーは、pwnproxyプラットフォーム上の薄い統合レイヤーとして機能します。
以下を参照:
docs/mcp.md
エージェント固有の設定とツールドキュメントについてはこちら。
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は、コアのテストワークフローが、それを制御するために使用されるインターフェースから独立するように設計されています。
pwnproxyはBurp Suiteのクローンではありません。
Burp Suiteは、GUIベースの手動テストに優れたツールであり続けます。
pwnproxyは異なるアーキテクチャに焦点を当てています:
| Burp Suite | pwnproxy | |
|---|---|---|
| 主要モデル | デスクトップアプリケーション | 共有テストエンジン |
| 手動テスト | GUI | TUI + APIインターフェース |
| 自動化 | 拡張機能 / 統合 | CLI + REST + SARIF |
| AIエージェント | 外部統合 | ネイティブMCPサーバー |
| プラグイン | Javaエコシステム | Pythonベースのプラグイン |
| ヘッドレスワークフロー | 限定的 | ネイティブ |
| CI/CD | 外部ツール | 組み込み出力と終了コード |
| ローカルデプロイ | あり | あり |
pwnproxyはBurpスコープ設定をインポートすることもできます。
pwnproxy import burp --config burp-config.json
以下を参照:
docs/burp-migration.md
移行の詳細についてはこちら。
プロキシを起動せずにスキャンを実行:
pwnproxy scan url https://example.com \
--output sarif \
--output-file report.sarif
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はセッションごとにローカルSQLiteストレージを使用します。
セッションには以下を含めることができます:
~/.pwnproxy/sessions/<session>/
├── traffic.db
├── scanner_results.db
├── sessions.db
└── tasks.db
これにより、テストデータが分離され、移植可能に保たれます。
完全なセッションはディレクトリとしてバックアップまたは移動できます。
大規模な共同作業やインフラストラクチャのデプロイの場合、ストレージレイヤーはSQLAlchemy async抽象化を中心に設計されています。
Linux / macOS:
./dev.sh
Windows PowerShell:
.\dev.ps1
これにより以下が起動します:
:8080:8000:4321poetry run pytest
アーキテクチャと開発の詳細については、コントリビューションのドキュメントを参照してください。
主要な新機能を追加する前に、現在の開発サイクルはアーキテクチャの安定性と一貫性に焦点を当てています。
P0 — アーキテクチャの不変条件
P1 — 運用上の回復力
P2 — リリース規律
目標は、プラットフォームの表面積を拡大し続ける前に、プラットフォームを強化することです。
| トピック | ドキュメント |
|---|---|
| インストール | docs/installation.md |
| CLI | docs/cli.md |
| API | docs/api.md |
| MCP | docs/mcp.md |
| アーキテクチャ | docs/architecture.md |
| プラグイン | docs/plugin-architecture.md |
| スキャナー | docs/scanners.md |
| ディレクトリ探索 | docs/directory-bruteforce.md |
| Burp移行 | docs/burp-migration.md |
| 開発 | docs/development.md |
コントリビューションを歓迎します。
git clone https://github.com/ericmtzmtz/pwnproxy.git
cd pwnproxy
poetry install
poetry run pytest
プルリクエストを送信する前に:
詳細なアーキテクチャ変更と仕様は以下で追跡されます:
openspec/openspec/changes/pwnproxyは、メキシコに拠点を置くサイバーセキュリティサービス企業であるNEXTECH SOLUTIONSによってメンテナンスされています。
コアプラットフォームはAGPLv3ライセンスの下で無料かつオープンソースです。
プロフェッショナルサービスには以下が含まれる場合があります:
| サービス | 説明 |
|---|---|
| セキュリティ評価 | プロフェッショナルなペンテスト業務とレポート |
| カスタム開発 | カスタムスキャナー、プラグイン、統合 |
| トレーニング | 実践的なセキュリティおよびDevSecOpsトレーニング |
| 自動化 | CI/CDに統合されたセキュリティテストワークフロー |
お問い合わせ:
pwnproxyはGNU Affero General Public License v3.0の下でライセンスされています。
以下を参照:
LICENSE
AGPLv3の条件に基づき、pwnproxyを自由に使用、変更、配布できます。
デスクトップを超えたセキュリティテストのために構築されました。