ghost-proxy skill
CLI 기반 MITM 프록시를 사용하여 보안 테스트를 위한 HTTP/HTTPS 트래픽을 캡처, 검사, 검색 및 재생합니다.
- GitHub 스타
- 441
- 파일
- 1
- 마지막 커밋
- 2026년 9월 28일
- 라이선스
- apache-2.0
- 허용된 도구
- —
ghost-proxy skill은 무엇을 하나요?
ghost-proxy은(는) agent skill입니다. CLI 기반 MITM 프록시를 사용하여 보안 테스트를 위한 HTTP/HTTPS 트래픽을 캡처, 검사, 검색 및 재생합니다.
skill의 SKILL.md에서 생성된 요약입니다.
ghost-proxy skill 정보
보안 연구원과 개발자는 reaper MITM 프록시를 관리하는 이 도구를 사용하여 웹 트래픽을 가로채고 분석할 수 있습니다. 이 도구는 클라이언트와 서버 간의 HTTP 및 HTTPS 통신을 캡처하기 위한 CLI로 작동하며, 애플리케이션 보안 테스트에 이상적입니다. Agent는 프록시 시작, 요청 가로채기 또는 보안 취약점 검증을 위한 캡처된 트래픽 검사 작업이 주어지면 이 SKILL을 로드해야 합니다.
이 SKILL은 프록시 데몬을 제어하기 위한 특정 명령어를 제공합니다. 예를 들어, 관련 트래픽만 기록되도록 도메인 또는 호스트 범위를 지정하여 프록시를 시작할 수 있습니다. 사용자는 HTTP 메서드, 경로, 상태 코드 또는 호스트와 같은 필터를 사용하여 캡처된 항목을 검색할 수 있습니다. 트래픽이 캡처되면 reaper get, reaper req, reaper res와 같은 명령어를 통해 헤더와 바디를 포함한 전체 원시 HTTP 항목을 검사할 수 있습니다. 모든 캡처 데이터는 나중에 분석할 수 있도록 로컬 SQLite 데이터베이스에 저장됩니다.
agent가 수행할 수 있는 작업
- 1특정 도메인 트래픽 가로채기특정 도메인 및 하위 도메인에 대한 요청만 캡처하는 프록시를 시작합니다.
- 2특정 HTTP 요청 검색캡처된 로그 내에서 특정 API 경로로 전송된 모든 POST 요청을 찾습니다.
- 3최근 네트워크 활동 모니터링가장 최근에 캡처된 요청 및 응답 항목 목록을 확인합니다.
skill의 SKILL.md를 기반으로 작성되었습니다. 모든 사용 사례는 해당 문서의 인용구와 대조 확인되었습니다.
ghost-proxy skill 설치 방법
각 명령은 skill 폴더를 클라이언트의 skills 디렉터리에 복사합니다. 클라이언트를 재시작하거나 새 세션을 시작하여 로드하세요.플러그인에 ghost-proxy skill 설치
/plugin marketplace add ghostsecurity/skills /plugin install ghost@ghost-security
Claude Code에 ghost-proxy skill 설치
~/.claude/skills/ghost-proxy/SKILL.md
$ npx degit ghostsecurity/skills/plugins/ghost/skills/proxy ~/.claude/skills/ghost-proxyClaude Code (project)에 ghost-proxy skill 설치
.claude/skills/ghost-proxy/SKILL.md
$ npx degit ghostsecurity/skills/plugins/ghost/skills/proxy .claude/skills/ghost-proxyCodex에 ghost-proxy skill 설치
~/.agents/skills/ghost-proxy/SKILL.md
$ npx degit ghostsecurity/skills/plugins/ghost/skills/proxy ~/.agents/skills/ghost-proxyGemini CLI에 ghost-proxy skill 설치
~/.gemini/skills/ghost-proxy/SKILL.md
$ npx degit ghostsecurity/skills/plugins/ghost/skills/proxy ~/.gemini/skills/ghost-proxyClaude.ai에 ghost-proxy skill 설치
npx degit ghostsecurity/skills/plugins/ghost/skills/proxy ghost-proxy && zip -r ghost-proxy.zip ghost-proxy # claude.ai → Customize → Skills → + → Create skill → Upload a skill → ghost-proxy.zip
SKILL.md
GitHub에서 보기Reaper MITM Proxy
Reaper is a CLI-based MITM HTTPS proxy for application security testing. It intercepts, logs, and allows inspection of HTTP/HTTPS traffic flowing through it. Use it to capture live request/response pairs for security validation.
Prerequisites
Before using any reaper command, make sure the latest version of the binary is installed:
curl -sfL https://raw.githubusercontent.com/ghostsecurity/reaper/main/scripts/install.sh | bash
All reaper commands in this document should be invoked as ~/.ghost/bin/reaper unless ~/.ghost/bin is on PATH.
Quick Reference
| Command | Purpose |
|---|---|
reaper start --domains example.com |
Start proxy (foreground) |
reaper start --domains example.com -d |
Start proxy (daemon) |
reaper logs |
Show recent captured entries |
reaper search --method POST --path /api/* |
Search captured traffic |
reaper get <id> |
Show full request + response |
reaper req <id> |
Show raw HTTP request only |
reaper res <id> |
Show raw HTTP response only |
reaper stop |
Stop the daemon |
Starting the Proxy
Start reaper scoped to the target domain(s). At least one --domains or --hosts flag is required.
# Intercept all traffic to example.com and its subdomains
reaper start --domains example.com
# Multiple domains
reaper start --domains example.com,api.internal.co
# Exact hostname matching
reaper start --hosts api.example.com
# Both domain suffix and exact host matching
reaper start --domains example.com --hosts special.internal.co
# Custom port (default: 8443)
reaper start --domains example.com --port 9090
# Run as background daemon
reaper start --domains example.com -d
Scope behavior:
--domains: Suffix match.example.commatchesexample.com,api.example.com,sub.api.example.com--hosts: Exact match.api.example.commatches onlyapi.example.com- Traffic outside scope passes through transparently without logging
Routing Traffic Through the Proxy
Configure the HTTP client to use the proxy. The default listen address is localhost:8443.
# curl
curl -x http://localhost:8443 -k https://api.example.com/endpoint
# Environment variables (works with many tools)
export http_proxy=http://localhost:8443
export https_proxy=http://localhost:8443
# Python requests
import requests
requests.get("https://api.example.com/endpoint",
proxies={"http": "http://localhost:8443", "https": "http://localhost:8443"},
verify=False)
The -k / verify=False flag is needed because reaper generates its own CA certificate at startup for MITM TLS interception.
Viewing Captured Traffic
Recent Entries
# Show last 50 entries (default)
reaper logs
# Show last 200 entries
reaper logs -n 200
Output columns: ID, METHOD, HOST, PATH, STATUS, MS, REQ (request body size), RES (response body size).
Searching
# By HTTP method
reaper search --method POST
# By host (supports * wildcard)
reaper search --host *.api.example.com
# By domain suffix
reaper search --domains example.com
# By path prefix (supports * wildcard)
reaper search --path /api/v3/transfer
# By status code
reaper search --status 200
# Combined filters
reaper search --method POST --path /api/v3/* --status 200 -n 50
Inspecting Individual Entries
# Full request and response (raw HTTP)
reaper get 42
# Request only
reaper req 42
# Response only
reaper res 42
Output is raw HTTP/1.1 format including headers and body, suitable for analysis or replay.
Stopping the Proxy
reaper stop
Common Workflows
Validate a Security Finding
When used with the validate skill (may need to collaborate with the user to setup the test environment):
- Start reaper scoped to the application domain
- Verify traffic is being captured by running
reaper logs— at least one entry should appear after routing a test request through the proxy - If no entries appear, verify proxy settings and domain scope match the target
- Authenticate (or ask the user to authenticate) as a normal user and exercise the vulnerable endpoint legitimately
- Search for the captured request to understand the expected request format
- Craft and send a malicious request that exercises the exploit described in the finding
- Inspect the response to determine if the exploit succeeded
- Use
reaper get <id>to capture the full request/response as evidence
Data Storage
All data is stored in ~/.ghost/reaper/:
reaper.db- SQLite database with captured entriesreaper.sock- Unix socket for CLI-to-daemon IPCreaper.pid- Daemon process ID
The CA certificate is generated fresh in memory on each start and is not persisted.
이 스킬의 파일
1ghost-proxy skill 질문
Claude Code에 ghost-proxy skill을 어떻게 설치하나요?
npx degit ghostsecurity/skills/plugins/ghost/skills/proxy ~/.claude/skills/ghost-proxy를 실행합니다. Claude Code는 ~/.claude/skills(모든 프로젝트) 또는 .claude/skills(한 프로젝트)에서 skills를 로드하며, 설명이 작업과 일치할 때 skill을 사용합니다.
ghost-proxy skill을 사용할 수 있는 클라이언트는 무엇인가요?
Agent Skills 형식을 읽는 모든 클라이언트(Claude Code, Codex, Gemini CLI, claude.ai(ZIP으로 업로드))가 사용할 수 있습니다. skill 내 스크립트는 클라이언트가 코드 실행을 허용하는 경우에만 실행됩니다.
특정 도메인에 대해 프록시를 시작하려면 어떻게 해야 하나요?
reaper start --domains example.com 명령어를 사용하여 특정 도메인 범위로 프록시를 시작할 수 있습니다.
캡처된 트래픽 중 특정 데이터를 어떻게 검색하나요?
reaper search 명령어를 통해 메서드, 호스트, 도메인 접미사, 경로 또는 상태 코드와 같은 다양한 필터로 트래픽을 검색할 수 있습니다.
캡처된 트래픽 데이터는 어디에 저장되나요?
모든 데이터는 ~/.ghost/reaper/ 디렉토리 내의 reaper.db라는 SQLite 데이터베이스에 저장됩니다.
프록시를 사용하려면 클라이언트 설정을 변경해야 하나요?
네, HTTP 클라이언트가 기본값인 localhost:8443 프록시 주소를 사용하도록 설정해야 합니다. 또한 프록시가 자체 CA 인증서를 사용하므로 SSL 검증을 비활성화해야 할 수도 있습니다.