Integrations
Uses .ENV files for configuration, including storing LLM API keys and other necessary settings.
Integrates with GitHub Copilot to automate web testing workflows, allowing the AI assistant to record tests, execute regression tests, and discover potential test flows in web applications.
Compatible with OpenAI-compliant LLMs to power test discovery, crawl websites, and suggest test steps for discovered pages.
VibeShift:Vibe Coders 的安全工程师
VibeShift是一款智能安全代理,旨在与 AI 编码助手(例如 Cursor、GitHub Copilot、Claude Code 等)无缝集成。它充当您的自动化安全工程师,分析 AI 生成的代码,识别漏洞,并在不安全代码进入您的代码库*之前,*协助 AI 驱动的修复。它利用**MCP(模型上下文协议)**与您现有的 AI 编码环境顺畅交互。
问题: AI 编程助手虽然能显著加速开发速度,但它们生成的代码也可能存在隐蔽或明显的安全漏洞。手动审查所有 AI 生成的代码是否存在安全漏洞,速度缓慢、容易出错,而且无法跟上 AI 开发的速度。这种“氛围驱动型开发”可能会让应用程序暴露在风险之中。
解决方案:GroundNG 的 VibeShift通过使您的 AI 编码助手能够执行以下操作来弥补这一关键的安全漏洞:
- **自动分析 AI 生成的代码:**当 AI 助手生成或修改代码时,可以触发 VibeShift 使用一套工具(SAST、DAST 组件)和 AI 驱动的检查执行安全分析。
- **识别安全漏洞:**找出 AI 生成的代码片段或更大的代码块中的常见和复杂漏洞(例如 XSS、SQLi、不安全配置、逻辑缺陷)。
- **促进人工智能驱动的补救:**直接向人工智能编码助手提供详细的反馈和漏洞信息,使其能够建议甚至自动应用修复。
- **创建安全反馈循环:**确保开发人员及其人工智能助手立即意识到潜在的安全风险,从而能够快速纠正和学习。
这为人工智能辅助编码创建了一个“左移”安全范式,将安全性直接嵌入到开发工作流程中,并有助于更快地交付更安全的代码。
演示(点击播放这些视频)
特征
- **MCP 集成:**与 Cursor/Windsurf/Github Copilot/Roo Code 无缝集成
- **自动安全扫描:**触发 AI 代码生成/修改来执行:
- **静态代码分析 (SAST):**集成 Semgrep 等工具来查找源代码中的漏洞。
- **动态分析(DAST 原语):**可以调用 Nuclei 或 ZAP 等工具来检查正在运行的组件(如果适用)。
- **人工智能辅助测试记录:**根据自然语言描述生成基于 Playwright 的测试脚本(自动模式)。
- **确定性测试执行:**使用 Playwright 可靠地运行记录的 JSON 测试文件。
- **人工智能测试发现:**抓取网站并利用任何 LLM(符合 openai 格式)为发现的页面建议测试步骤。
- **回归测试:**轻松运行现有的测试套件来捕捉回归。
- **自动反馈循环:**返回执行结果(包括失败、屏幕截图、控制台日志),向AI助手提供直接反馈。
- **自我修复:**现有测试可在代码变更时自我修复。无需手动更新。
- UI 测试: Playwright 不直接支持的 UI 测试也支持。例如,
Check if the text is overflowing in the div
- 视觉回归测试:使用传统的像素匹配和视觉 LLM 方法。
工作原理
- **用户:**提示他们的 AI 编码助手(例如,“测试此存储库的安全漏洞”、“记录登录流程的测试”、“运行回归测试‘test_login.json’”)。
- **AI编码代理:**识别意图并使用MCP调用
MCP Server
提供的相应工具。 - **MCP 服务器:**将请求路由到相应的函数(
get_security_scan
、record_test_flow
、run_regression_test
、discover_test_flows
、list_recorded_tests
)。 - VibeShift 代理:
- 传统安全扫描:对代码调用静态分析工具(例如,Semgrep)。
- 记录:
WebAgent
(自动模式)与 LLM 交互以规划步骤,通过BrowserController
(Playwright)控制浏览器,处理 HTML/Vision,并将生成的测试步骤保存到output/
目录中的 JSON 文件中。 - 执行:
TestExecutor
加载指定的JSON测试文件,根据记录的步骤使用BrowserController
与浏览器交互,并捕获结果、截图和控制台日志。 - 发现:
CrawlerAgent
使用BrowserController
和LLMClient
来抓取页面并建议测试步骤。
- 浏览器: Playwright 驱动实际的浏览器交互。
- 反馈回路:
- 综合安全报告(漏洞、位置、建议)通过MCP服务器返回给AI编码代理。
- AI 编码代理将此信息呈现给开发人员,并可以使用该信息来建议或应用修复。
- 目标是代码生成->安全扫描->人工智能驱动修复->重新扫描(可选)的快速循环。
入门
先决条件
- Python 3.10+
- 获得任何 LLM 学位(在我的测试中,gemini 2.0 flash 效果最好,免费)
- MCP 安装(
pip install mcp[cli]
) - 安装了 Playwright 浏览器(
patchright install
)
安装
- 克隆存储库:Copy
- 创建虚拟环境(推荐):Copy
- 安装依赖项:Copy
- 安装 Playwright 浏览器:Copy
配置
- 将项目根目录中的 .env.example 重命名为 .env 文件。
- 添加您的 LLM API 密钥和其他必要的详细信息:Copy
- 用您的实际密钥替换
YOUR_LLM_API_KEY
。
- 用您的实际密钥替换
添加 MCP 服务器
将其添加到您的 mcp 配置中:
当您与 AI 编码助手交互时,请保持此服务器运行。
用法
通过支持 MCP 的 AI 编码助手使用自然语言与代理进行交互。
例子:
- 安全分析:
- 自动(首选): VibeShift 自动分析由 AI 助手生成或显著修改的代码片段。
- 显式命令:
“VibeShift,分析此函数是否存在安全漏洞。” “请 VibeShift 检查 Copilot 刚刚编写的 Python 代码是否存在 SQL 注入。” “提交之前,请使用 VibeShift 保护生成的代码。”
- 记录测试:
“记录测试:转到https://practicetestautomation.com/practice-test-login/ ,在用户名字段中输入‘student’,在密码字段中输入‘Password123’,单击提交按钮,并验证文本‘Congratulations student’是否可见。”
- (代理将自动执行这些操作并在
output/
中保存一个test_....json
文件)
- (代理将自动执行这些操作并在
- 执行测试:
“运行回归测试
output/test_practice_test_login_20231105_103000.json
”- (代理将执行指定文件中的步骤并报告 PASS/FAIL 状态以及错误和详细信息。)
- 发现测试步骤:
“从https://practicetestautomation.com/practice/开始发现潜在的测试步骤”
- (代理将抓取网站、分析页面并返回每个页面的建议测试步骤。)
- 列出已记录的测试:
“列出可用的已记录的网络测试。”
- (代理将返回在
output/
目录中找到的.json
文件列表。)
- (代理将返回在
输出:
- **安全报告:**返回给AI编码助手,详情如下:
- 漏洞类型(例如 CWE、OWASP 类别)
- 代码中的位置
- 严重程度
- 证据/解释
- 建议的补救措施(通常由人工智能采取行动)
- **记录的测试:**保存为
output/
目录中的 JSON 文件(有关格式,请参阅test_schema.md
)。 - **执行结果:**以 JSON 对象形式返回,其中包含运行概要(状态、错误、证据路径)。完整结果也保存在
output/execution_result_....json
中。 - **发现结果:**以 JSON 对象形式返回,其中包含发现的 URL 和建议步骤。完整结果保存在
output/discovery_results_....json
。
灵感
- 浏览器使用:DOM 上下文树的生成深受他们的启发,并进行了修改以适应静态/动态/可视化元素。特别感谢他们对开源的贡献。
- Semgrep :我们利用的强大的开源静态分析工具。
- 细胞核:用于基于模板的动态扫描功能。
贡献
欢迎大家贡献代码!请参阅CONTRIBUTING.md
了解如何开始使用、报告问题以及提交 Pull Request。我们尤其欢迎以下人员:
- 新的安全分析器集成。
执照
该项目根据APACHE-2.0许可。
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
由人工智能驱动的 MCP 服务器,通过自然语言提示实现测试的记录、执行和发现,从而自动化 Web 测试工作流程。
Related MCP Servers
- AsecurityAlicenseAqualityQA Sphere MCP server that enables Large Language Models to interact directly with test management system test cases, supporting AI-powered development workflows and test case discovery.Last updated -6528JavaScriptMIT License
- -securityAlicense-qualityAI-powered agent that integrates with coding assistants via MCP to automate web testing workflows, allowing developers to record tests, execute regression testing, and discover test flows using natural language prompts.Last updated -16PythonApache 2.0
- AsecurityFlicenseAqualityAn MCP server that allows AI assistants and LLMs to interact with the Horizon3.ai API for scheduling pentests, querying results, and automating security workflows through natural language commands.Last updated -4Python
- AsecurityFlicenseAqualityAn AI-powered MCP server that enables natural language interaction with AO (Arweave Operating system) for creating, running, and testing code and handlers without manual coding.Last updated -14834,6313JavaScript