
AI 기반 침투 테스트 MCP 서버
"일본 신화에서 텐구는 사나운 산의 정령입니다 — 전략가, 전사, 사무라이의 스승입니다. 사이버 보안에서는 사냥의 모든 단계에서 여러분을 안내합니다."
정찰부터 보고서까지 — 하나의 명령어로 AI 지원 침투 테스트.
Tengu는 Claude를 침투 테스트 코파일럿으로 변환하는 MCP 서버입니다. Nmap부터 Metasploit까지 80개의 보안 도구를 오케스트레이션하며, 내장된 안전 제어, 감사 로깅, 전문 보고 기능을 제공합니다.
Claude를 대화형 침투 테스트 코파일럿으로 사용하세요 — 사용자가 작업을 지시하면 Claude가 적절한 도구를 선택하고 자동으로 연결합니다.
git clone https://github.com/rfunix/tengu.git && cd tengu make docker-build make docker-up
실행 중인 서버에 Claude Code를 연결하십시오:```bash
claude mcp add --transport sse tengu http://localhost:8000/sse
Then ask Claude: Do a full pentest on http://192.168.1.100
Claude chains tools automatically: validate_target → whatweb → nmap → nikto →
nuclei → sqlmap → correlate_findings → generate_report
| Command | 시작하는 대상 |
|---|---|
make docker-up | Tengu MCP 서버 (:8000) |
make docker-lab | + Juice Shop, DVWA (안전한 연습 대상) |
make docker-pentest | + Metasploit, OWASP ZAP (실제 환경 대상) |
make docker-full | + Metasploit, ZAP, 그리고 실습 대상 |
파일 수정 없이 사용자 정의 대상 스캔:```bash TENGU_ALLOWED_HOSTS="192.168.1.0/24,10.0.0.0/8" make docker-up
### 이미지 계층
사용 사례에 맞는 크기를 선택하세요:
| 계층 | 크기 | MCP 도구 | 사용 사례 |
|------|------|-----------|----------|
| `minimal` | ~480MB | 17 | 가벼운 분석, CVE 연구, 보고서 작성 |
| `core` | ~7GB | 47 | 전체 침투 테스트 도구 모음 (기본값) |
| `full` | ~8GB | 80 | 전체 + AD, 무선, 스텔스/OPSEC |```bash
TENGU_TIER=minimal make docker-build # lightweight
TENGU_TIER=core make docker-build # default
TENGU_TIER=full make docker-build # everything
모든 티어에는 35개의 프롬프트와 20개의 리소스가 모두 포함되어 있습니다 — 바이너리 도구만 다릅니다.
사전 요구 사항: Python 3.12+, uv, Kali Linux (권장됨)```bash
git clone https://github.com/rfunix/tengu.git && cd tengu
uv sync
make install-tools
uv run tengu
Claude Code 연결:```bash
claude mcp add --scope user tengu -- uv run --directory /path/to/tengu tengu
tengu.toml에서 허용된 대상을 구성하십시오:```toml
[targets]
allowed_hosts = ["192.168.1.0/24", "example.com"]
Claude Desktop, VM/SSE 원격 설정 및 고급 구성에 대한 자세한 내용은 [docs/deployment-guide.md](https://github.com/rfunix/tengu/blob/main/docs/deployment-guide.md)를 참조하십시오.
</details>
### 구성 참조```toml
[targets]
# REQUIRED: Only these hosts will be scanned
allowed_hosts = ["192.168.1.0/24", "example.com"]
blocked_hosts = [] # Always blocked, even if in allowed_hosts
[stealth]
enabled = false # Route traffic through Tor/proxy
[stealth.proxy]
enabled = false
type = "socks5h"
host = "127.0.0.1"
port = 9050
[osint]
shodan_api_key = "" # Required for shodan_lookup
[tools.defaults]
scan_timeout = 300 # seconds
전체 참조는 docs/configuration-reference.md를 참조하세요.
수동 도구 호출 없이 완전히 자율적인 펜테스트를 실행합니다. 에이전트는 Claude를 전략적 두뇌로, Tengu를 실행 도구 세트로 사용하며, 정찰부터 보고까지 PTES 방법론을 따릅니다.
cp .env.example .env
**실습 대상 (Juice Shop, DVWA):**```bash
make docker-lab
make docker-agent # default model (sonnet)
make docker-agent-haiku # cheaper — claude-haiku-4-5, max_tokens=1024
make docker-agent-sonnet # balanced — claude-sonnet-4-6, max_tokens=4096
실제 세계 침투 테스트 (Tengu + MSF + ZAP, 랩 컨테이너 없음):```bash make docker-pentest make docker-agent
**브라우저에서 보고서 보기:**```bash
make docker-report-view # http://localhost:8888 — styled HTML, all reports
make docker-report-browse # same, auto-opens browser
REPORT_PORT=9999 make docker-report-view # custom port
Docker 없이:```bash uv sync --extra agent python autonomous_tengu.py 192.168.1.100 --scope 192.168.1.0/24 --type blackbox
python autonomous_tengu.py 192.168.1.100 --model claude-haiku-4-5 --max-tokens 1024 --timeout 30
**비용 제어** — 세 가지 환경 변수 / CLI 플래그:
| 플래그 | 환경 변수 | 기본값 |
|---|---|---|
| `--model` | `TENGU_AGENT_MODEL` | `claude-sonnet-4-6` |
| `--max-tokens` | `TENGU_AGENT_MAX_TOKENS` | `2048` |
| `--timeout` | `TENGU_AGENT_TIMEOUT` | `60` (분, `0`=무제한) |
### 작동 방식```
START → initializer → strategist ─┬─→ executor → analyst ─┬─→ strategist (loop)
│ └─→ reporter → END
├─→ human_gate → executor
└─→ reporter → END
주요 동작:
msf_run_module, hydra_attack, impacket_kerberoast, level≥3의 sqlmap_scan) 실행 전에 개입합니다.--max-iterations에 도달할 때까지 실행됩니다.correlate_findings + score_risk + generate_report를 호출합니다.