项目简介
这是一个基于 Model Context Protocol (MCP) 构建的服务器端应用,旨在将各种常用的渗透测试和安全扫描工具集成到支持 MCP 协议的大型语言模型 (LLM) 客户端中。通过这个服务器,LLM 客户端可以轻松调用这些工具执行任务,获取结构化的安全信息。
主要功能点
- 全面的渗透测试工具集: 集成了目录扫描、漏洞扫描(如 XSS, SQL 注入, SSRF)、API 测试、网络侦察等多种安全工具。
- 自动化流程: 能够执行复杂的扫描任务,并收集结果。
- 报告生成: 支持生成安全扫描报告。
- LLM 客户端集成: 特别为如 Claude Desktop 等支持 MCP 的客户端设计,提供易于交互的界面。
安装步骤
本项目推荐使用 Docker 进行部署,以简化环境依赖问题。
-
安装依赖:
- 确保您的系统已安装 Docker 和 Docker Compose。
- 对于本地安装(不推荐),需要 Python 3.10+ 和 'uv' 包管理器,并手动安装所需的系统级渗透测试工具(如 nmap, whatweb, dirsearch, sqlmap, nuclei, ffuf, subfinder, amass 等)。
-
克隆仓库并进入目录:
git clone https://github.com/ch1nhpd/Pentest-Tools-MCP-Server.git cd Pentest-Tools-MCP-Server -
创建必要目录:
mkdir -p reports templates wordlists -
配置(可选):
- 根据需要编辑 'config.json' 文件调整工具路径或wordlist。
- 将自定义 wordlist 放入 'wordlists/custom/' 目录。
-
Docker 部署(推荐):
- 在仓库根目录下运行构建和启动命令:
docker-compose up -d --build - 等待容器启动完成。您可以使用 'docker-compose ps' 检查容器状态,或使用 'docker-compose logs -f' 查看日志。
- 在仓库根目录下运行构建和启动命令:
服务器配置(MCP 客户端)
本 MCP 服务器通过标准输入/输出 (stdio) 协议与客户端通信。要将其连接到如 Claude Desktop 等 MCP 客户端,您需要修改客户端的配置文件(通常是 'claude_desktop_config.json' 或类似文件)。
在客户端配置文件中找到或创建 'mcpServers' 部分,并添加一个新的服务器条目。例如,为该服务器指定一个名称(如 'pentest-tools'),然后配置启动它的命令、参数和工作目录。
配置的关键参数说明:
- 'command': 指定启动 MCP 服务器进程的命令。对于 Docker 方式,这个命令通常是 'docker-compose'。
- 'args': 一个字符串数组,包含传递给 'command' 命令的参数。对于 Docker 方式,这会包含运行容器、执行 Python 脚本的指令,例如 '["run", "--rm", "pentest-tools", "python3", "pentest-tools-mcp-server.py"]'。
- 'cwd': 指定执行 'command' 命令时的工作目录。这必须是包含 'docker-compose.yml' 文件和 'pentest-tools-mcp-server.py' 文件的绝对路径。在 Windows 上使用双反斜杠 '\',在 Linux/macOS 上使用正斜杠 '/'。
添加配置后,保存客户端配置文件并重新启动 MCP 客户端。客户端会自动检测并连接到配置的 MCP 服务器。
基本使用方法
连接成功后,您可以在 MCP 客户端中通过特定的命令或自然语言与服务器交互,调用渗透测试工具。
例如,在 Claude Desktop 中,可以使用以下斜杠命令:
- 执行侦察任务: '/recon example.com'
- 执行目录扫描: '/scan example.com --type directory'
- 执行漏洞扫描(完整/XSS/SQLi/SSRF): '/scan example.com --type full' '/scan example.com --type xss' '/scan example.com --type sqli' '/scan example.com --type ssrf'
- 执行 API 测试: '/scan api.example.com --type api'
您也可以尝试使用自然语言描述任务,LLM 客户端会尝试将其转换为对 MCP 服务器工具的调用。
信息
分类
开发者工具