项目简介
这是一个基于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。
- 克隆仓库:
git clone https://github.com/0xTrk/xss-mcp-tester.git cd xss-mcp-tester - 初始化项目并安装依赖:
uv init uv add mcp playwright fastmcp - 安装Playwright浏览器环境:
uv run playwright install chromium - 验证安装 (可选):
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与计算