使用说明

项目简介

本项目 'mcp-for-security' 提供了基于 Model Context Protocol (MCP) 的服务器实现,旨在将各种安全测试工具封装成标准化的 MCP 服务,使得大型语言模型 (LLM) 可以方便地调用这些工具进行安全相关的任务。目前,该项目已实现了对 FFUFSQLmap 这两个流行安全工具的 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 服务器支持。

安装步骤

  1. 克隆仓库

    git clone https://github.com/cyproxio/mcp-for-security.git
    cd mcp-for-security
  2. 选择工具目录 根据需要选择 'ffuf-mcp' 或 'sqlmap-mcp' 目录。例如,如果要使用 SQLmap MCP 服务器,则进入 'sqlmap-mcp' 目录:

    cd sqlmap-mcp
  3. 安装依赖 确保已安装 Node.js 和 npm,然后运行以下命令安装项目依赖:

    npm install
  4. 构建项目 运行以下命令编译 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' 字段是一个字符串数组,包含了启动脚本的命令行参数。

基本使用方法

  1. 启动 MCP 服务器 在 MCP 客户端配置完成后,启动 MCP 客户端,客户端会自动连接到配置的 MCP 服务器。 或者,也可以手动在 'ffuf-mcp' 或 'sqlmap-mcp' 目录下运行以下命令启动服务器:

    node build/index.js <ffuf 或 sqlmap binary 路径>
  2. 通过 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
      }
  3. 获取工具执行结果 MCP 服务器会将工具的输出结果封装在 JSON-RPC 响应中返回给客户端。客户端解析响应即可获取 FFUF 或 SQLmap 的执行结果。

通过以上步骤,LLM 就可以利用 'mcp-for-security' 项目提供的 MCP 服务器,以标准化的方式调用 FFUF 和 SQLmap 等安全工具,实现自动化安全测试流程。

信息

分类

开发者工具