渗透测试MCP服务器

Tengu是一款MCP服务器,将Claude转化为渗透测试助手,协调80种安全工具,提供内置安全控制、审计日志和专业报告。

  • by rfunix
  • Python
  • 本地部署
  • 64 星标
  • 更新于
在 GitHub 查看 rfunix/tengu

使用说明

Tengu——测试MCP服务器

"In Japanese mythology, the Tengu is a fierce mountain spirit — master strategist, warrior, and trainer of samurai. In cybersecurity, it guides you through every phase of the hunt."

From recon to report — AI-assisted pentesting in one command.


天狗 是一个MCP服务器,它将Claude变成了渗透测试的副驾驶。它整合了80个安全工具,从Nmap到Metasploit,具有内置的安全控制、审计日志和专业报告。

  • 这是怎么一回事? 将Claude连接到行业标准pentest工具的MCP服务器
  • 为什么要使用它? 自动化侦察和扫描,同时让人类控制漏洞
  • 这是给谁的? Pentester、红队成员、安全专业学生和咨询公司

主要特点

  • 80工具 --Nmap、Metasploit、SQLMap、Nuclei、Hydra、兼容Burp的ZAP等
  • 人工智能编排 --Claude根据之前的发现决定下一个工具
  • 安全第一 --允许列表、速率限制、审核日志和破坏性行为的人在环
  • 自动报告 --关联调查结果并生成专业的渗透测试报告(MD/HTML/PDF)
  • 35个工作流程 --预构建的完整渗透测试、web应用程序、广告、云等提示
  • 20资源 --内置OWASP Top 10、MITRE ATT&CK、PTES和pentest检查表
  • 隐形层 --可选的Tor/SOCKS5代理路由、UA轮换和定时抖动

MCP服务器模式(副驾驶)

使用Claude作为交互式最重要的副驾驶——你指导参与,Claude会选择合适的工具并自动将它们连接在一起。

快速开始

git clone https://github.com/rfunix/tengu.git && cd tengu
make docker-build
make docker-up

将Claude Code连接到正在运行的服务器:

claude mcp add --transport sse tengu http://localhost:8000/sse

然后问克劳德: Do a full pentest on http://192.168.1.100

Claude自动链接工具: validate_target → whatweb → nmap → nikto → nuclei → sqlmap → correlate_findings → generate_report

Docker配置文件

命令 它开始什么
make docker-up Tengu MCP服务器(:8000)
make docker-lab +DVWA果汁店(安全实践目标)
make docker-pentest +Metasploit、OWASP ZAP(现实世界目标)
make docker-full +Metasploit、ZAP和实验室目标

扫描自定义目标而不编辑文件:

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
TENGU_TIER=minimal make docker-build   # lightweight
TENGU_TIER=core    make docker-build   # default
TENGU_TIER=full    make docker-build   # everything

所有级别包括所有35个提示和20个资源 --只有二进制工具不同。

Manual Install (without Docker)

先决条件: Python 3.12+, uvKali Linux(推荐)

git clone https://github.com/rfunix/tengu.git && cd tengu

# Install Python dependencies
uv sync

# Install external pentesting tools (Kali/Debian)
make install-tools

# Run the MCP server (stdio transport)
uv run tengu

连接克劳德代码:

claude mcp add --scope user tengu -- uv run --directory /path/to/tengu tengu

在中配置允许的目标 tengu.toml:

[targets]
allowed_hosts = ["192.168.1.0/24", "example.com"]

有关Claude Desktop、VM/SSE远程设置和高级配置,请参阅 docs/deployment-guide.md.

配置参考

[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 以获取完整参考。


自主代理模式

运行一个完全自主的pentest,无需手动调用工具。该代理使用Claude作为其战略大脑,Tengu作为其执行工具集,遵循从侦察到报告的PTES方法。

快速开始

cp .env.example .env
# Edit .env: set ANTHROPIC_API_KEY and TENGU_AGENT_TARGET

实验室目标(果汁店、DVWA):

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,无实验室容器):

make docker-pentest
make docker-agent

在浏览器中查看报告:

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:

uv sync --extra agent
python autonomous_tengu.py 192.168.1.100 --scope 192.168.1.0/24 --type blackbox

# Cost-optimised run
python autonomous_tengu.py 192.168.1.100 --model claude-haiku-4-5 --max-tokens 1024 --timeout 30

费用控制 --三个env变量/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

关键行为:

  • 战略家 (Claude)读取当前PTES阶段和累积状态以决定每个动作
  • 执行者 每次迭代只调用一个Tengu MCP工具
  • 分析师 (Claude)从工具输出中提取结构化数据并推进阶段
  • 人门 在破坏性工具之前中断执行(msf_run_module, hydra_attack, impacket_kerberoast, sqlmap_scan 等级≥3)
  • 运行至涵盖所有7个PTES阶段或 --max-iterations 已达到
  • 最终 记者 电话 correlate_findings + score_risk + generate_report

PTES方法论——7个阶段

阶段 名称 Tengu做什么 关键工具
1 订婚前 validate_target 确认范围, check_tools 验证准备就绪 validate_target, check_tools
2 情报收集 OSINT、DNS侦察、子域枚举、技术指纹识别 nmap, subfinder, amass, shodan, whatweb
3 威胁建模 克劳德分析收集到的情报,优先考虑攻击面,构建威胁场景 (人工智能驱动——无需外部工具)
4 漏洞分析 模板扫描、web应用测试、SSL/TLS分析、参数模糊 nuclei, nikto, ffuf, sqlmap, testssl
5 利用 有人参与的已确认漏洞的受控利用 msf_run_module, sqlmap, hydra, searchsploit
6 利用后 凭证获取、横向移动评估、特权升级 impacket_kerberoast, nxc_enum, enum4linux
7 报告 关联所有发现,计算风险评分,生成专业报告 correlate_findings, score_risk, generate_report

工具目录

minimal (17个工具,约480MB)· core (47个工具,约7GB,默认值)· full (80个工具,约8GB) 使用以下内容构建: TENGU_TIER=<tier> make docker-build。所有级别包括所有35个提示和20个资源。

类别 工具 计数
侦察 Nmap、Masscan、Amass、Subfinder、Gowitness、HTTrack、Katana、httpx、SNMPwalk、RustScan 10
网络扫描 Nikto、Nuclei、FFUF、Gobuster、WPScan、Feroxbuster、OWASP ZAP、wafw00f 8
SSL/TLS sslyze、testssl.sh、HTTP标头分析、CORS测试器 4
DNS DNS枚举、DNSRecon、子插孔、WHOIS 4
OSINT The Harvester、Shodan、WhatWeb、DNStwist 4
注入测试 SQLMap、Dalfox(XSS)、Commix、CRLFuz、GraphQL安全检查、Arjun 6
暴力 九头蛇,开膛手约翰,哈什卡特,CeWL 4
利用 Metasploit(搜索、信息、运行、会话、cmd),SearchSploit 6
社会工程 SET证书采集器、QR码攻击、有效载荷生成器 3
秘密与密码 TruffleLog,Gitleaks 2
容器和云 Trivy、Checkov、ScoutSuite、徘徊者 4
Active Directory NetExec、Enum4linux、Impacket(Kerberoast、secretsdump、psexec、wmiexec、smbclient)、BloodHound、响应程序、SMBMap 10
无线 可拆卸/诞生于airodubar 1
匿名和隐身 Tor检查/轮换、代理检查、身份轮换 5
分析和报告 查找相关性、CVSS风险评分、报告生成 3
CVE情报 CVE查找(NVD),按关键字/产品/严重性搜索CVE 2
实用程序 工具检查器、目标验证器 2
Full tool list (80 tools)

侦察

工具 说明
nmap_scan 端口扫描和服务/OS检测
masscan_scan 用于大型网络的高速端口扫描器
subfinder_enum 被动子域枚举
amass_enum 攻击面映射和DNS暴力
dnsrecon_scan DNS侦察(区域转移、暴力破解、PTR)
dns_enumerate DNS记录枚举(A、MX、NS、TXT、SOA…)
whois_lookup WHOIS域名和IP查找
subjack_check 子域接管检测
gowitness_screenshot 用于文档的Web屏幕截图
httrack_mirror 用于离线分析和取证的完整网站镜像
katana_crawl 用于链接发现和端点映射的快速网络爬虫
httpx_probe HTTP探测——状态码、技术栈、重定向
snmpwalk_scan SNMP枚举和MIB遍历
rustscan_scan 超快端口扫描(查找Nmap后续的开放端口)

网络扫描

工具 说明
nuclei_scan 基于模板的漏洞扫描程序(CVE、配置错误)
nikto_scan Web服务器配置错误和软件扫描程序过时
ffuf_fuzz 目录、参数和vhost模糊测试
gobuster_scan 目录、DNS和vhost暴力破解
wpscan_scan WordPress漏洞扫描程序
testssl_check 全面的SSL/TLS配置分析
analyze_headers HTTP安全标头分析和分级
test_cors CORS配置错误检测
ssl_tls_check SSL/TLS证书和密码检查(sslyze)
wafw00f_scan Web应用防火墙检测和指纹识别
feroxbuster_scan 通过暴力快速、递归地发现内容

公开来源情报

工具 说明
theharvester_scan 来自公共来源的电子邮件、子域和主机枚举
shodan_lookup Shodan主机和资产搜索
whatweb_scan Web技术指纹识别(CMS、WAF、框架)
dnstwist_scan 域置换和拼写错误检测

注入测试

工具 说明
sqlmap_scan 自动SQL注入检测和利用
xss_scan 通过Dalfox检测XSS
commix_scan 自动命令注入检测和利用
crlfuzz_scan 针对标头注入漏洞的CRLF注入模糊测试
graphql_security_check GraphQL自省、批处理、深度限制、字段建议
arjun_discover 隐藏HTTP参数发现

剥削

工具 说明
msf_search 搜索Metasploit模块
msf_module_info 获取详细的Metasploit模块信息
msf_run_module 执行Metasploit模块(需要明确确认)
msf_sessions_list 列出活动的Metasploit会话
msf_session_cmd 在活动会话上执行命令(shell/Meterpreter)
searchsploit_query 搜索利用数据库离线数据库

社会工程学

工具 说明
set_credential_harvester 克隆网站并捕获提交的凭据(授权的钓鱼模拟)
set_qrcode_attack 生成指向物理社会工程评估URL的二维码
set_payload_generator 为授权活动生成社会工程有效负载(PowerShell、HTA)

蛮力

工具 说明
hydra_attack 网络登录暴力破解(SSH、FTP、HTTP、SMB…)
hash_crack 字典哈希破解(Hashcat/开膛手约翰)
hash_identify 哈希类型标识
cewl_generate 从目标网站生成自定义单词表

代理/DAST

工具 说明
zap_spider OWASP ZAP蜘蛛网
zap_active_scan OWASP ZAP主动漏洞扫描
zap_get_alerts 检索ZAP扫描结果

秘密与代码分析

工具 说明
trufflehog_scan git存储库中的泄漏秘密检测
gitleaks_scan git历史记录中的凭证扫描

容器安全

工具 说明
trivy_scan Docker镜像、IaC和SBOM的漏洞扫描

云安全

工具 说明
scoutsuite_scan 云安全审计(AWS、Azure、GCP)
prowler_scan AWS/GCP/Azure安全最佳实践和合规性审计

活动目录

工具 说明
enum4linux_scan SMB/NNetBIOS枚举
nxc_enum 通过NetExec枚举Active Directory
impacket_kerberoast 使用Impacket GetUserSPN进行Kerberoasting
impacket_secretsdump 通过Impacket进行远程SAM/LSA/NTDS机密转储
impacket_psexec 通过SMB执行远程命令(PsExec风格)
impacket_wmiexec 通过WMI执行远程命令
impacket_smbclient SMB共享枚举和文件访问
bloodhound_collect 血猎犬AD数据采集(SharpSound/血猎犬蟒蛇)
responder_capture LLMNR/NBT-NS/MDNS中毒用于凭证捕获
smbmap_scan SMB共享枚举和访问测试

无线

工具 说明
aircrack_scan 无源无线网络扫描(airodump ng)

IaC安全

工具 说明
checkov_scan IaC配置错误扫描(Terraform、K8s、Dockerfile)

隐形/作战安全

工具 说明
tor_check 验证Tor连接和退出节点IP
tor_new_identity 请求新的Tor电路(NEWNYM)
check_anonymity 检查暴露的IP、DNS泄漏和匿名级别
proxy_check 验证代理延迟、退出IP和匿名类型
rotate_identity 同时旋转Tor电路和User-Agent

分析与实用

工具 说明
check_tools 验证安装了哪些外部工具
validate_target 针对同种异体验证目标
correlate_findings 将多个扫描结果关联起来
score_risk 基于CVSS的风险评分
cve_lookup 来自NVD的CVE详细信息(CVSS、CWE、受影响的产品)
cve_search 按关键字、产品或严重性搜索CVE
generate_report 生成Markdown/HTML/PDF渗透测试报告

工作流程和提示(35)

预构建的工作流模板,指导Claude完成整个项目。

类别 提示
最重要的工作流程 full_pentest, quick_recon, web_app_assessment
漏洞评估 assess_injection, assess_access_control, assess_crypto, assess_misconfig
公开来源情报 osint_investigation
报告 executive_report, technical_report, full_pentest_report, finding_detail, risk_matrix, remediation_plan, retest_report, save_report
隐形/作战安全 stealth_assessment, opsec_checklist
专业 ad_assessment, api_security_assessment, container_assessment, cloud_assessment, wireless_assessment, bug_bounty_workflow, compliance_assessment
快速操作 explore_url, map_network, hunt_subdomains, find_vulns, find_secrets, go_stealth, crack_wifi, pwn_target, msf_exploit_workflow
社会工程学 social_engineering_assessment

内置资源(20)

克劳德在交战期间加载的静态参考数据。

URI 内容
owasp://top10/2025 OWASP Top 10:2025完整列表
owasp://top10/2025/{A01..A10} 每个类别的详细信息+测试清单
owasp://api-security/top10 OWASP API安全前十(2023)
owasp://api-security/top10/{API1..API10} 每个类别的详细信息
ptes://phases PTES 7阶段方法概述
ptes://phase/{1..7} 阶段细节(目标、工具、可交付成果)
checklist://web-application Web应用程序渗透测试清单(OWASP测试指南)
checklist://api API最重要检查表
checklist://network 网络基础设施检查表
mitre://attack/tactics MITRE ATT&CK企业战术+技术
mitre://attack/technique/{T1xxx} 按ID列出的技术细节
creds://defaults/{product} 默认凭据数据库
payloads://{type} 按类型(xss、sqli、lfi、ssti等)整理的有效载荷列表
stealth://techniques 操作安全技术参考指南
stealth://proxy-guide 分步代理和Tor配置指南
tools://catalog 实时工具可用性状态
tools://{tool}/usage nmap、nuclears、sqlmap、metasploit、trivy、mass的使用指南
prompts://list 所有可用提示及其说明列表
prompts://category/{category} 按类别筛选的提示

建筑

┌─────────────┐     MCP      ┌─────────────────┐    subprocess    ┌─────────────────┐
│   Claude    │◄────────────►│     Tengu        │─────────────────►│  Nmap, SQLMap,  │
│  (Desktop / │  stdio/SSE   │   MCP Server     │  (never shell=T) │  Metasploit...  │
│   Code)     │              │                  │                  └─────────────────┘
└─────────────┘              └────────┬─────────┘
                                      │
                               Every tool call passes through:
                                      │
                             ┌────────▼─────────┐
                             │  Safety Pipeline  │
                             │                  │
                             │  1. sanitizer    │  ← strip metacharacters, validate format
                             │  2. allowlist    │  ← check target against tengu.toml
                             │  3. rate_limiter │  ← sliding window + concurrent slots
                             │  4. audit logger │  ← JSON log to ./logs/tengu-audit.log
                             └──────────────────┘

配置文件

Tengu使用三个配置文件。编辑错误的是最常见的来源 在本地和Docker工作流之间切换时会出现混乱。

文件 何时使用 它控制什么
tengu.toml (root) 本地运行: uv run tengu, uv run python autonomous_tengu.py MCP服务器配置: allowed_hosts、刀具路径、速率限制、隐形
docker/tengu.toml 通过Docker运行: make docker-up, make docker-agent 与root设置相同,但已为Docker网络进行了预配置(172.16.0.0/12,服务DNS别名)。在构建时烘焙到图像中-- 需要重建 变更后(make docker-rebuild-tengu)
.env 本地和Docker 秘密和运行时变量: ANTHROPIC_API_KEY, TENGU_AGENT_TARGET, TENGU_AGENT_MODEL, TENGU_AGENT_MAX_TOKENS等等。阅读者 docker compose 和 load_dotenv()
.env.example 仅供参考 列出所有可用环境变量的模板

副驾驶模式快速配置(本地): 编辑 tengu.toml 从项目根源-- 将您的目标添加到 [targets] allowed_hosts.

代理模式快速配置(Docker): 编辑 docker/tengu.toml,然后运行 make docker-rebuild-tengu 之前 make docker-agent.

常见陷阱: 如果扫描失败 TargetNotAllowedError 在Docker中,你 可能已编辑 tengu.toml (根)而不是 docker/tengu.tomlDocker使用其 将自己的副本烘焙到图像中。编辑后,运行 make docker-rebuild-tengu.


设计安全

Tengu是作为一个 人戊酯的力倍增器,而不是自主攻击工具。

控制 描述
目标允许列表 只有预先批准的目标 tengu.toml 被扫描过
输入消毒 在到达任何工具之前,所有输入都会根据严格的模式进行验证
速率限制 滑动窗口+并发插槽限制防止意外DoS
审计日志 每次工具调用都记录到 ./logs/tengu-audit.log JSON格式
循环中的人类 msf_run_module, hydra_attack,以及 impacket_kerberoast 需要明确确认
没有外壳=真-永远 所有子流程调用都使用 asyncio.create_subprocess_exec

发展

make install-dev    # Install Python deps + dev extras
make test           # Run unit + security tests
make lint           # ruff check
make typecheck      # mypy strict
make check          # lint + typecheck
make coverage       # pytest --cov
make inspect        # Open MCP Inspector
make doctor         # Check which pentest tools are installed

Tengu有2643多个测试,涵盖单元逻辑、安全性(命令注入、输入验证)和集成场景。看 CLAUDE.md 查看完整的贡献者指南。


法律声明

Tengu是为 仅限授权安全测试。仅扫描您拥有或有明确书面许可进行测试的系统。未经授权的扫描在大多数司法管辖区都是非法的。作者对误用不承担任何责任。