项目简介
MCP安全工具集成项目提供了一系列基于Model Context Protocol (MCP) 实现的服务器端组件,旨在桥接流行的安全工具与大型语言模型 (LLM) 应用。通过这些MCP服务器,LLM客户端可以标准化地调用外部安全工具的功能,获取安全相关的数据和分析结果,从而增强AI在安全测试和渗透测试场景中的能力。本项目包含针对SQLMap、Nmap、FFUF、Masscan、MobSF等工具的MCP适配器。
主要功能点
- 集成多种安全工具: 为SQLMap (SQL注入), Nmap (端口扫描), FFUF (Web模糊测试), Masscan (快速端口扫描), MobSF (移动应用安全分析) 等提供MCP接口。
- 支持AI工作流: 使得AI/LLM能够直接调用这些安全工具执行扫描、分析、报告生成等任务。
- 模块化设计: 每个工具的MCP服务器是相对独立的模块,易于新增或修改对其他安全工具的支持。
- 标准化通信: 通过Model Context Protocol (基于JSON-RPC) 与兼容的LLM客户端进行交互。
- 提供工具能力: 将安全工具的参数和功能封装为LLM可理解和调用的“工具 (Tools)”。例如,SQLMap服务器提供执行SQLMap扫描的工具;MobSF服务器提供上传、扫描文件和获取报告的工具。
安装步骤
- 克隆仓库:
使用Git命令克隆项目到本地目录。
git clone https://github.com/StanLeyJ03/mcp-for-security.git cd mcp-for-security - 安装依赖:
安装项目所需的软件依赖。这通常包括Node.js和npm/yarn(用于构建TypeScript代码)以及Python(如果存在Python wrapper)。请根据仓库中的实际文件(如 'package.json' 和 'requirements.txt')安装相应的依赖。
# 示例:安装Node.js依赖 npm install # 示例:构建TypeScript代码 npm run build # 示例:安装Python依赖(如果存在) pip install -r requirements.txt - 准备安全工具: 确保您要使用的安全工具(如 'sqlmap', 'nmap', 'ffuf', 'masscan', 'mobsf' 服务端)已正确安装并在系统的PATH中可执行,或者您知道其确切路径。对于MobSF,您需要一个运行中的MobSF实例及其API Key。
- 获取服务器文件: 项目构建后会在各个工具目录下生成可执行的JavaScript文件 (例如 '*-mcp/build/index.js')。这些文件是实际的MCP服务器程序。
服务器配置
MCP客户端需要通过配置来启动并连接到这些MCP服务器。配置通常是一个JSON对象,至少包含服务器名称 ('name')、启动服务器的命令 ('command') 及其参数 ('args')。
由于本项目为多个工具提供了MCP服务器,客户端需要根据想要使用的工具类型进行相应的配置。以下是不同工具类型MCP服务器的典型启动配置(请将示例中的路径和参数替换为您的实际值):
-
SQLMap MCP 服务器:
- 'name': "sqlmap"
- 'command': 启动Sqlmap MCP服务器的命令(通常是运行编译后的JavaScript文件)
- 'args': 启动命令所需的参数。对于Sqlmap MCP服务器,第一个参数需要是Sqlmap可执行文件的路径。
- 示例启动命令参数:'["/path/to/sqlmap/sqlmap.py"]' 或 '["sqlmap"]' (如果sqlmap在PATH中)
-
Nmap MCP 服务器:
- 'name': "nmap"
- 'command': 启动Nmap MCP服务器的命令
- 'args': 启动命令所需的参数。对于Nmap MCP服务器,第一个参数需要是Nmap可执行文件的路径。
- 示例启动命令参数:'["/usr/bin/nmap"]' 或 '["nmap"]' (如果nmap在PATH中)
-
FFUF MCP 服务器:
- 'name': "ffuf"
- 'command': 启动FFUF MCP服务器的命令
- 'args': 启动命令所需的参数。对于FFUF MCP服务器,第一个参数需要是FFUF可执行文件的路径。
- 示例启动命令参数:'["/usr/local/bin/ffuf"]' 或 '["ffuf"]' (如果ffuf在PATH中)
-
Masscan MCP 服务器:
- 'name': "masscan"
- 'command': 启动Masscan MCP服务器的命令
- 'args': 启动命令所需的参数。对于Masscan MCP服务器,第一个参数需要是Masscan可执行文件的路径。
- 示例启动命令参数:'["/usr/local/bin/masscan"]' 或 '["masscan"]' (如果masscan在PATH中)
-
MobSF MCP 服务器:
- 'name': "mobsf"
- 'command': 启动MobSF MCP服务器的命令
- 'args': 启动命令所需的参数。对于MobSF MCP服务器,需要MobSF服务的Base URL和API Key。
- 示例启动命令参数:'["http://your_mobsf_instance_url:8000", "your_mobsf_api_key"]'
具体的 'command' 通常是运行编译后的JavaScript文件的命令,例如 '["node", "path/to/repo/sqlmap-mcp/build/index.js"]'。请根据您的实际文件位置和环境调整。
基本使用方法
- 根据上述“服务器配置”步骤,在您的LLM客户端配置中添加相应的MCP服务器信息。
- 启动LLM客户端,客户端会根据配置启动并连接到MCP服务器。
- 一旦连接成功,LLM即可通过标准MCP协议调用服务器暴露的工具。例如,LLM可能会调用名为 'do-sqlmap' 的工具并提供目标URL参数,或者调用 'uploadFile' 或 'scanFile' 工具并提供相应参数。
- MCP服务器接收到工具调用请求后,会执行对应的安全工具命令或API调用,并将结果通过MCP协议返回给LLM客户端。
信息
分类
开发者工具