VibeShift Security Engineer
STDIOIntelligent security agent analyzing AI-generated code for vulnerabilities and automated remediation.
Intelligent security agent analyzing AI-generated code for vulnerabilities and automated remediation.
VibeShift is an intelligent security agent designed to integrate seamlessly with AI coding assistants (like Cursor, GitHub Copilot, Claude Code, etc.). It acts as your automated security engineer, analyzing code generated by AI, identifying vulnerabilities, and facilitating AI-driven remediation before insecure code makes it to your codebase. It leverages the MCP (Model Context Protocol) for smooth interaction within your existing AI coding environment.
The Problem: AI coding assistants accelerate development dramatically, but they can also generate code with subtle or overt security vulnerabilities. Manually reviewing all AI-generated code for security flaws is slow, error-prone, and doesn't scale with the speed of AI development. This "vibe-driven development" can leave applications exposed.
The Solution: GroundNG's VibeShift bridges this critical security gap by enabling your AI coding assistant to:
This creates a "shift-left" security paradigm for AI-assisted coding, embedding security directly into the development workflow and helping to ship more secure code, faster.
Check if the text is overflowing in the div
+-------------+ +-----------------+ +---------------------+ +-----------------+ +-------------+
| User | ----> | AI Coding Agent | ----> | MCP Server | ----> | Scan, test, exec| ----> | Browser |
| (Developer) | | (e.g., Copilot) | | (mcp_server.py) | | (SAST, Record) | | (Playwright)|
+-------------+ +-----------------+ +---------------------+ +-----------------+ +-------------+
^ | | |
|--------------------------------------------------+----------------------------+---------------------+
[Test Results / Feedback]
MCP Server
.get_security_scan
, record_test_flow
, run_regression_test
, discover_test_flows
, list_recorded_tests
).WebAgent
(in automated mode) interacts with the LLM to plan steps, controls the browser via BrowserController
(Playwright), processes HTML/Vision, and saves the resulting test steps to a JSON file in the output/
directory.TestExecutor
loads the specified JSON test file, uses BrowserController
to interact with the browser according to the recorded steps, and captures results, screenshots, and console logs.CrawlerAgent
uses BrowserController
and LLMClient
to crawl pages and suggest test steps.pip install mcp[cli]
)patchright install
)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
patchright install --with-deps # Installs browsers and OS dependencies
# .env LLM_API_KEY="YOUR_LLM_API_KEY"
YOUR_LLM_API_KEY
with your actual key.Add this to you mcp config:
{ "mcpServers": { "VibeShift":{ "command": "uv", "args": ["--directory","path/to/cloned_repo", "run", "mcp_server.py"] } } }
Keep this server running while you interact with your AI coding assistant.
Interact with the agent through your MCP-enabled AI coding assistant using natural language.
Examples:
Security Analysis:
"VibeShift, analyze this function for security vulnerabilities." "Ask VibeShift to check the Python code Copilot just wrote for SQL injection." "Secure the generated code with VibeShift before committing."
Record a Test:
"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."
test_....json
file in output/
)Execute a Test:
"Run the regression test
output/test_practice_test_login_20231105_103000.json
"
Discover Test Steps:
"Discover potential test steps starting from https://practicetestautomation.com/practice/"
List Recorded Tests:
"List the available recorded web tests."
.json
files found in the output/
directory.)Output:
output/
directory (see test_schema.md
for format).output/execution_result_....json
.output/discovery_results_....json
.We welcome contributions! Please see CONTRIBUTING.md
for details on how to get started, report issues, and submit pull requests. We're particularly interested in:
This project is licensed under the APACHE-2.0.