项目简介

这是一个基于 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 密钥。

目前支持以下几种运行方式:

  1. 使用 Smithery 平台: 按照 smithery.ai 上的说明进行部署和使用。
  2. 本地运行 (Python):
    • 确保您的系统安装了 uv 工具。
    • 克隆本仓库到本地。
    • 在仓库根目录下运行以下命令设置虚拟环境并安装依赖:
      uv venv
      uv pip install -e .
  3. 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'。

基本使用方法

  1. 确保您已按照上述步骤安装并配置好 Intruder MCP 服务器。
  2. 在您的 MCP 兼容 LLM 客户端中,按照客户端的文档指引添加并配置此 MCP 服务器(参照上述服务器配置说明)。
  3. 一旦配置完成且服务器成功启动并连接到客户端,LLM 将能够发现 Intruder MCP 服务器提供的所有工具。
  4. 您现在可以直接在 LLM 客户端中通过自然语言指令来让 LLM 调用这些工具,例如询问“列出我的 Intruder 目标”、“创建一个针对 example.com 的扫描”等。LLM 会根据您的指令选择合适的工具并执行。

信息

分类

开发者工具