
ペンテスター、AIエージェント、CI/CDパイプライン、およびチーム向けの、オープンでローカルファーストなセキュリティテストプラットフォーム。
CI: suite · goldens · perf-check — ベースライン 281.9ms / 19ページ (tests/perf/baseline.json) — .github/workflows/ci.yml
単一のセキュリティテストエンジン。あらゆるインターフェースに対応。
ペネトレーションテスター、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 を使用してソースからインストールされます(0.1.0 プレリリース、CHANGELOG.md では 0.2.0-dev)。PyPI パッケージングは将来のリリースで予定されています。
設定は ~/.pwnproxy/config.toml にあります。[triage] / [llm] / max_llm_per_scan およびスコープ設定については config.example.toml を参照してください。コアテスト(プロキシ、スキャナー、ストレージ)は LLM API キーなしで動作します。トリアージはデフォルトでヒューリスティクスに基づいて実行されます。
HTTP/HTTPS トラフィックを一時停止、検査、変更、再開します。
組み込みスキャナーには現在以下が含まれます:
| スキャナー | 検出 |
|---|---|
| SQLi | エラーベース(シグネチャ + ネガティブコントロール / アンチ WAF ガードによる抑制された 5xx)、ブールブラインド(マルチラウンド + ベースライン)、タイムベース、OOB |
| XSS | コンテキスト認識の悪用可能性を伴う反射型/蓄積型(反射 ≠ XSS)、静的 DOM シンクシグナル(dom-xss、推論) |
| LFI | コンテンツシグネチャ、トラバーサル、PHP ラッパー |
| XXE | エラーベース、XInclude、JSON ミューテーション、OOB ワークフロー |
| SSRF | OOB/コールバック確認のみ(フェイルクローズ、推測的なエラーベース SSRF はなし) |
検出結果は 3 つの信頼レベル — tentative、inferred、confirmed — を使用するため、弱いシグナルがエクスプロイトとして扱われることはありません。LLM トリアージはオプトインです。デフォルトではパイプラインはヒューリスティクスに留まり、tentative の検出結果を LLM ジャッジに送信することはありません。
スキャナーはキャプチャされたフローを消費し、ヘッドレスモードで直接実行することもできます。
プロキシとは独立して生の 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