项目简介

VibeShift 是一个智能安全代理,设计用于与各种AI编程助手(如 Cursor, GitHub Copilot 等)无缝集成。它作为一个自动化的安全工程师,在不安全的AI生成代码进入你的代码库之前,对其进行分析、识别漏洞,并促进AI驱动的修复。它利用 Model Context Protocol (MCP) 在现有的AI编码环境中进行平滑交互。

主要功能点

VibeShift 通过MCP协议向AI编程助手提供以下核心能力:

  1. 自动化代码安全扫描: 对AI生成或修改的代码片段进行安全分析,集成 Semgrep 等静态分析工具。
  2. Web测试记录: 自动化地基于自然语言描述在浏览器中记录用户操作流程,生成可重复执行的测试脚本。
  3. Web测试执行: 运行之前记录的JSON格式的Web测试脚本,并返回执行结果、截图和日志。支持自我修复能力,以应对页面变化。
  4. Web测试发现: 爬取网站,利用LLM分析页面内容,并建议潜在的测试步骤或用户流程。
  5. 列出已记录测试: 提供当前项目中已保存的Web测试文件列表。

安装步骤

  1. 确保您已安装 Python 3.10 或更高版本。
  2. 确保您可以访问任何兼容的LLM(如 Gemini 2.0 Flash)。
  3. 安装 MCP 命令行工具:'pip install mcp[cli]'
  4. 克隆 VibeShift 仓库到您的本地机器:
    git clone https://github.com/GroundNG/VibeShift
    cd VibeShift
  5. (推荐)创建一个虚拟环境并激活:
    python -m venv venv
    source venv/bin/activate # Linux/macOS
    # venv\Scripts\activate # Windows
  6. 安装项目依赖:
    pip install -r requirements.txt
  7. 安装 Playwright 浏览器及依赖:
    patchright install --with-deps
  8. 配置 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 助手,供您查看或进一步处理。

信息

分类

开发者工具