项目简介
这是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在让支持 MCP 协议的 LLM 客户端(如 Claude、Cursor 等)能够直接与 Intruder.io 漏洞和攻击面管理平台进行交互。通过这个 MCP 服务器,LLM 可以访问 Intruder 中的目标、漏洞、扫描等信息,并执行特定的操作,从而扩展 LLM 在网络安全领域的应用能力。
主要功能点
该 MCP 服务器通过提供一系列“工具”(Tools)来实现与 Intruder 的集成,LLM 客户端可以通过调用这些工具来执行以下操作:
- 获取 Intruder 状态: 查询 API 连接状态及当前用户身份。
- 管理目标: 列出现有目标、创建新目标、删除目标、管理目标的标签。
- 查看漏洞: 列出账户中的所有漏洞,支持按目标、标签、状态(已暂停)、严重程度过滤,并能获取特定漏洞的详细信息(包括扫描器输出)。
- 管理扫描: 列出所有扫描,支持按状态、类型过滤;创建新扫描;获取特定扫描的详情;取消正在进行的扫描。
- 查看许可证: 获取账户的许可证使用详情(基础设施和应用许可证)。
安装步骤
要使用此 MCP 服务器,您需要一个 Intruder API 密钥。请访问 Intruder 文档生成您的 API 密钥。
目前支持以下几种运行方式:
- 使用 Smithery 平台: 按照 smithery.ai 上的说明进行部署和使用。
- 本地运行 (Python):
- 确保您的系统安装了 uv 工具。
- 克隆本仓库到本地。
- 在仓库根目录下运行以下命令设置虚拟环境并安装依赖:
uv venv uv pip install -e .
- Docker 容器运行:
- 克隆本仓库到本地。
- 在仓库根目录下运行以下命令构建 Docker 镜像:
docker image build --tag mcp/intruder .
服务器配置
MCP 服务器需要被配置在支持 MCP 的 LLM 客户端中。客户端需要知道如何启动这个服务器进程。典型的配置信息包括:
- 服务器名称: 一个用于在客户端中标识此服务器的名称,例如 'intruder'。
- 启动命令 (command): 用于启动服务器可执行文件的命令,例如如果您在本地安装了 uv,可能是 'uv';如果您使用 Docker,可能是 'docker'。
- 命令参数 (args): 传递给启动命令的参数,用于指定运行哪个脚本或容器,例如本地运行时指定脚本路径和运行命令,Docker 运行时指定容器运行参数和镜像名称。
- 环境变量 (env): 用于向服务器进程传递配置信息,必须包含您的 Intruder API 密钥,变量名为 'INTRUDER_API_KEY'。
客户端的配置通常是 JSON 格式,您需要根据您的安装方式(本地或 Docker)和实际文件路径来填写 'command' 和 'args',并填入您的 'INTRUDER_API_KEY'。
基本使用方法
- 确保您已按照上述步骤安装并配置好 Intruder MCP 服务器。
- 在您的 MCP 兼容 LLM 客户端中,按照客户端的文档指引添加并配置此 MCP 服务器(参照上述服务器配置说明)。
- 一旦配置完成且服务器成功启动并连接到客户端,LLM 将能够发现 Intruder MCP 服务器提供的所有工具。
- 您现在可以直接在 LLM 客户端中通过自然语言指令来让 LLM 调用这些工具,例如询问“列出我的 Intruder 目标”、“创建一个针对 example.com 的扫描”等。LLM 会根据您的指令选择合适的工具并执行。
信息
分类
开发者工具