项目简介
VibeShift 是一个智能安全代理,设计用于与各种AI编程助手(如 Cursor, GitHub Copilot 等)无缝集成。它作为一个自动化的安全工程师,在不安全的AI生成代码进入你的代码库之前,对其进行分析、识别漏洞,并促进AI驱动的修复。它利用 Model Context Protocol (MCP) 在现有的AI编码环境中进行平滑交互。
主要功能点
VibeShift 通过MCP协议向AI编程助手提供以下核心能力:
- 自动化代码安全扫描: 对AI生成或修改的代码片段进行安全分析,集成 Semgrep 等静态分析工具。
- Web测试记录: 自动化地基于自然语言描述在浏览器中记录用户操作流程,生成可重复执行的测试脚本。
- Web测试执行: 运行之前记录的JSON格式的Web测试脚本,并返回执行结果、截图和日志。支持自我修复能力,以应对页面变化。
- Web测试发现: 爬取网站,利用LLM分析页面内容,并建议潜在的测试步骤或用户流程。
- 列出已记录测试: 提供当前项目中已保存的Web测试文件列表。
安装步骤
- 确保您已安装 Python 3.10 或更高版本。
- 确保您可以访问任何兼容的LLM(如 Gemini 2.0 Flash)。
- 安装 MCP 命令行工具:'pip install mcp[cli]'
- 克隆 VibeShift 仓库到您的本地机器:
git clone https://github.com/GroundNG/VibeShift cd VibeShift - (推荐)创建一个虚拟环境并激活:
python -m venv venv source venv/bin/activate # Linux/macOS # venv\Scripts\activate # Windows - 安装项目依赖:
pip install -r requirements.txt - 安装 Playwright 浏览器及依赖:
patchright install --with-deps - 配置 LLM API 密钥:复制项目根目录下的 '.env.example' 文件,重命名为 '.env',并在其中填入您的LLM API 密钥及其他必要配置(例如,'LLM_API_KEY="YOUR_LLM_API_KEY"')。
服务器配置
将以下配置信息添加到您的 MCP 客户端(如 Cursor)的 MCP 配置文件中。这告诉您的客户端如何启动和连接到 VibeShift MCP 服务器。
{ "mcpServers": { "VibeShift": { "command": "uv", "args": [ "--directory", "path/to/your/cloned/VibeShift/repo", // 将此替换为您的 VibeShift 仓库的绝对或相对路径 "run", "mcp_server.py" // 这是 VibeShift 的 MCP 服务器启动文件 ] } } }
请确保将 '"path/to/your/cloned/VibeShift/repo"' 替换为您实际克隆 VibeShift 仓库的路径。配置完成后,启动您的 MCP 客户端,它将根据此配置启动 VibeShift 作为其后端 MCP 服务器。请保持 VibeShift 服务器运行。
基本使用方法
通过您的 MCP 兼容的 AI 编程助手,使用自然语言与 VibeShift 进行交互。AI 助手会识别您的意图并向 VibeShift MCP 服务器发送相应的工具调用请求。
示例命令 (在AI助手对话框中输入):
- 代码安全分析:
- 通常由AI助手自动触发。
- 或者通过明确的命令:
"VibeShift, analyze this function for security vulnerabilities." (VibeShift,分析这个函数查找安全漏洞。) "Ask VibeShift to check the Python code Copilot just wrote for SQL injection." (让VibeShift检查Copilot刚刚写的Python代码是否有SQL注入。)
- 记录一个测试:
"Record a test: go to https://practicetestautomation.com/practice-test-login/, type 'student' into the username field, type 'Password123' into the password field, click the submit button, and verify the text 'Congratulations student' is visible." (记录一个测试:访问...,在用户名输入...,在密码输入...,点击...,并验证...可见。)
- 执行一个测试:
"Run the regression test 'output/test_practice_test_login_20231105_103000.json'" (运行回归测试文件 '...')
- (您需要指定已记录测试文件的路径,通常在 'output/' 目录下找到。)
- 发现测试步骤:
"Discover potential test steps starting from https://practicetestautomation.com/practice/" (从...开始发现潜在的测试步骤。)
- 列出已记录测试:
"List the available recorded web tests." (列出所有已记录的Web测试。)
VibeShift 将执行请求的任务,并将结果(如安全报告、测试结果摘要、发现的步骤列表)通过 MCP 返回给您的 AI 助手,供您查看或进一步处理。
信息
分类
开发者工具