项目简介

这是一个基于Model Context Protocol (MCP) 构建的服务器,专门设计用于协助大型语言模型 (LLM) 客户端进行网页跨站脚本 (XSS) 漏洞的测试。它为AI提供了执行特定Web操作和分析HTTP响应的能力,从而自动化或增强安全测试流程。

主要功能点

  • 测试URL是否存在XSS: 访问指定的URL(通常包含XSS payloads),检测是否触发了JavaScript执行(如alert、console.log等)。
  • 获取原始HTML响应: 获取指定URL的原始HTTP响应体,可控制返回内容的长度或获取完整内容。
  • 在HTML响应中搜索: 在获取的HTML内容中搜索特定字符串,并提供匹配位置的上下文信息。
  • 获取JavaScript文件内容: 下载指定URL的JavaScript文件源代码,供AI进行静态分析。
  • 获取HTTP响应头: 获取指定URL的HTTP响应头信息,分析安全相关的配置(如CSP、X-Frame-Options)。
  • 发起自定义HTTP请求: 允许指定HTTP方法、自定义请求头(包括Cookie等),用于测试需要认证或特定Session的场景。

安装步骤

本项目使用uv作为包管理器,请确保已安装Python 3.8+ 和 uv。

  1. 克隆仓库:
    git clone https://github.com/0xTrk/xss-mcp-tester.git
    cd xss-mcp-tester
  2. 初始化项目并安装依赖:
    uv init
    uv add mcp playwright fastmcp
  3. 安装Playwright浏览器环境:
    uv run playwright install chromium
  4. 验证安装 (可选):
    uv pip list

服务器配置

本MCP服务器需要由您的MCP客户端启动。您需要在MCP客户端的配置文件中添加如下信息,以便客户端知道如何找到并启动此服务器(具体的配置文件位置和格式取决于您的MCP客户端,以下为常见结构示例):

{
  "mcpServers": {
    "一个服务器名称,如 'XSS Tester'": {
      "command": "用于启动uv环境并执行脚本的命令,通常是 'uv'",
      "args": [
        "命令的第一个参数,通常是 'run'",
        "--with",
        "指定运行所需的包,包括 'mcp[cli]'",
        "--with",
        "指定运行所需的包,包括 'playwright'",
        "启动mcp服务器的子命令,通常是 'mcp'",
        "mcp子命令的参数,通常是 'run'",
        "指向本项目 main.py 文件的完整路径,例如 '/home/user/xss-mcp-tester/main.py'"
      ]
    }
  }
}

请将上述配置中的路径替换为您实际克隆仓库后 'main.py' 文件的位置。配置完成后,您的MCP客户端应能识别并启动此服务器。

基本使用方法

配置完成后,通过您的MCP客户端的用户界面(例如VSCode中的MCP插件),找到并启动配置好的 "XSS Tester" 服务器。服务器启动后,即可通过客户端的聊天界面或工具调用功能,引导AI使用服务器提供的工具(如 'test_xss_url')来执行XSS测试任务。具体交互方式依赖于客户端的能力和AI的集成方式。

信息

分类

AI与计算