
오픈소스 기반의 로컬 우선(local-first) 보안 테스트 플랫폼으로, 침투 테스터, 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 없음) |
발견 사항은 세 가지 신뢰 수준 — tentative, inferred, confirmed — 을 사용하므로 약한 신호가 익스플로잇으로 취급되지 않습니다. LLM 트리아지는 선택 사항이며, 기본적으로 파이프라인은 휴리스틱에 머물며 tentative 발견 사항을 LLM 판정기에 절대 전송하지 않습니다.
스캐너는 캡처된 흐름을 소비하며 헤드리스 모드에서 직접 실행할 수도 있습니다.
프록시와 독립적으로 원시 HTTP 요청을 재생하고 수정합니다.
발견 사항은 요청 데이터를 보존하므로 탐지된 문제를 수동으로 검증할 수 있습니다.
Burp 스타일 §marker§ 위치를 사용한 요청 퍼징.
지원되는 모드는 다음과 같습니다:
다음을 갖춘 워드리스트 기반 경로 및 파일 탐색:
자동으로 추출 및 저장:
세션은 격리되며 로컬에 유지됩니다.
사용자 정의 스캐너와 훅으로 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의 복제품이 아닙니다.