使用说明
项目简介
本项目 'mcp-for-security' 提供了基于 Model Context Protocol (MCP) 的服务器实现,旨在将各种安全测试工具封装成标准化的 MCP 服务,使得大型语言模型 (LLM) 可以方便地调用这些工具进行安全相关的任务。目前,该项目已实现了对 FFUF 和 SQLmap 这两个流行安全工具的 MCP 服务器封装。
主要功能点
- FFUF MCP 服务器: 允许 LLM 通过 MCP 协议调用 FFUF 进行 Web 模糊测试 (fuzzing)。支持配置目标 URL 和 FFUF 的所有命令行参数,实现灵活的 Web 目录和文件爆破、API 接口测试等功能。
- SQLmap MCP 服务器: 允许 LLM 通过 MCP 协议调用 SQLmap 进行 SQL 注入检测。支持配置目标 URL 和 SQLmap 的所有命令行参数,能够进行全面的 SQL 注入漏洞扫描和利用。
- 标准化接口: 通过 MCP 协议与客户端通信,提供统一的 JSON-RPC 接口,方便 LLM 集成和调用。
- 易于扩展: 项目采用模块化设计,可以轻松添加对更多安全工具的 MCP 服务器支持。
安装步骤
-
克隆仓库
git clone https://github.com/cyproxio/mcp-for-security.git cd mcp-for-security -
选择工具目录 根据需要选择 'ffuf-mcp' 或 'sqlmap-mcp' 目录。例如,如果要使用 SQLmap MCP 服务器,则进入 'sqlmap-mcp' 目录:
cd sqlmap-mcp -
安装依赖 确保已安装 Node.js 和 npm,然后运行以下命令安装项目依赖:
npm install -
构建项目 运行以下命令编译 TypeScript 代码:
npm run build构建成功后,将在 'build' 目录下生成 JavaScript 代码。
服务器配置
MCP 客户端需要配置 MCP 服务器的启动命令和参数才能连接。以下是 FFUF 和 SQLmap MCP 服务器的客户端配置示例 (JSON 格式):
FFUF MCP 服务器配置
"ffuf": { "command": "./ffuf-mcp/build/index.js", // MCP 服务器启动命令,指向 ffuf-mcp 目录下的 index.js 文件 "args": [ "<ffuf binary 路径>" // 命令行参数,需要替换为本地 ffuf 可执行文件的路径 ] }
SQLmap MCP 服务器配置
"sqlmap": { "command": "./sqlmap-mcp/build/index.js", // MCP 服务器启动命令,指向 sqlmap-mcp 目录下的 index.js 文件 "args": [ "<sqlmap binary 或 python3 sqlmap 路径>" // 命令行参数,需要替换为本地 sqlmap 可执行文件路径,或者直接使用 "python3 sqlmap" 命令 ] }
注意:
- '<ffuf binary 路径>' 和 '<sqlmap binary 或 python3 sqlmap 路径>' 需要替换为实际的工具可执行文件路径。请确保 FFUF 和 SQLmap 工具已正确安装并在系统 PATH 环境变量中,或者在此处提供完整的路径。
- 'command' 字段指定了服务器的启动脚本,'args' 字段是一个字符串数组,包含了启动脚本的命令行参数。
基本使用方法
-
启动 MCP 服务器 在 MCP 客户端配置完成后,启动 MCP 客户端,客户端会自动连接到配置的 MCP 服务器。 或者,也可以手动在 'ffuf-mcp' 或 'sqlmap-mcp' 目录下运行以下命令启动服务器:
node build/index.js <ffuf 或 sqlmap binary 路径> -
通过 MCP 客户端调用工具 使用 MCP 客户端,通过 JSON-RPC 协议调用 MCP 服务器提供的工具。
- 调用 FFUF 工具的示例请求 (JSON-RPC):
{ "jsonrpc": "2.0", "method": "do-ffuf", "params": { "url": "http://example.com/FUZZ", "ffuf_args": ["-w", "wordlist.txt"] }, "id": 1 } - 调用 SQLmap 工具的示例请求 (JSON-RPC):
{ "jsonrpc": "2.0", "method": "do-sqlmap", "params": { "url": "http://example.com/?id=1", "sqlmap_args": ["--forms"] }, "id": 1 }
- 调用 FFUF 工具的示例请求 (JSON-RPC):
-
获取工具执行结果 MCP 服务器会将工具的输出结果封装在 JSON-RPC 响应中返回给客户端。客户端解析响应即可获取 FFUF 或 SQLmap 的执行结果。
通过以上步骤,LLM 就可以利用 'mcp-for-security' 项目提供的 MCP 服务器,以标准化的方式调用 FFUF 和 SQLmap 等安全工具,实现自动化安全测试流程。
信息
分类
开发者工具