Integrations
Supports environment variable configuration through .env files, allowing users to securely store LLM API keys and other configuration parameters
Integrates with GitHub Copilot to enable AI-assisted web testing automation, allowing Copilot to record test flows, execute regression tests, and discover potential test steps through natural language prompts
Leverages Python for web testing automation, with support for Playwright browser control and LLM integration for test recording, execution, and discovery
VibeShift: Der Sicherheitsingenieur für Vibe-Coder
VibeShift ist ein intelligenter Sicherheitsagent, der sich nahtlos in KI-Programmierassistenten (wie Cursor, GitHub Copilot, Claude Code usw.) integrieren lässt. Er fungiert als Ihr automatisierter Sicherheitsingenieur, analysiert von KI generierten Code, identifiziert Schwachstellen und ermöglicht KI-gesteuerte Fehlerbehebung, bevor unsicherer Code in Ihre Codebasis gelangt. Er nutzt das MCP (Model Context Protocol) für eine reibungslose Interaktion innerhalb Ihrer bestehenden KI-Programmierumgebung.
Das Problem: KI-Programmierassistenten beschleunigen die Entwicklung erheblich, können aber auch Code mit subtilen oder offensichtlichen Sicherheitslücken generieren. Die manuelle Überprüfung des gesamten KI-generierten Codes auf Sicherheitslücken ist langsam, fehleranfällig und lässt sich nicht mit der Geschwindigkeit der KI-Entwicklung mithalten. Diese „vibe-gesteuerte Entwicklung“ kann Anwendungen angreifbar machen.
Die Lösung: VibeShift von GroundNG schließt diese kritische Sicherheitslücke, indem es Ihrem KI-Codierungsassistenten Folgendes ermöglicht:
- Automatische Analyse von KI-generiertem Code: Wenn Code von einem KI-Assistenten generiert oder geändert wird, kann VibeShift mithilfe einer Reihe von Tools (SAST-, DAST-Komponenten) und KI-gesteuerten Prüfungen zur Durchführung einer Sicherheitsanalyse veranlasst werden.
- Sicherheitslücken identifizieren: Lokalisiert häufige und komplexe Schwachstellen (z. B. XSS, SQLi, unsichere Konfigurationen, Logikfehler) in den von der KI generierten Snippets oder größeren Codeblöcken.
- Erleichtert KI-gesteuerte Fehlerbehebung: Stellt dem KI-Codierungsassistenten detailliertes Feedback und Informationen zu Schwachstellen direkt zur Verfügung, sodass dieser Korrekturen vorschlagen oder sogar automatisch anwenden kann.
- Erstellen Sie eine Sicherheits-Feedbackschleife: Stellt sicher, dass Entwickler und ihre KI-Assistenten sofort über potenzielle Sicherheitsrisiken informiert sind, sodass schnelle Korrekturen und Lernprozesse möglich sind.
Dadurch entsteht ein „Shift-Left“-Sicherheitsparadigma für KI-gestütztes Codieren, das Sicherheit direkt in den Entwicklungsworkflow einbettet und dazu beiträgt, schneller sichereren Code auszuliefern.
Demo (Klicken Sie hier, um diese Videos abzuspielen)
Merkmale
- MCP-Integration: Nahtlose Integration mit Cursor/Windsurf/Github Copilot/Roo Code
- Automatisiertes Sicherheitsscanning: Wird durch die Generierung/Änderung von KI-Code ausgelöst, um Folgendes auszuführen:
- Statische Codeanalyse (SAST): Integriert Tools wie Semgrep, um Schwachstellen im Quellcode zu finden.
- Dynamische Analyse (DAST-Grundelemente): Kann Tools wie Nuclei oder ZAP aufrufen, um laufende Komponenten zu prüfen (sofern zutreffend).
- KI-gestützte Testaufzeichnung: Generieren Sie Playwright-basierte Testskripte aus natürlichen Sprachbeschreibungen (im automatisierten Modus).
- Deterministische Testausführung: Führen Sie aufgezeichnete JSON-Testdateien zuverlässig mit Playwright aus.
- KI-gestützte Testerkennung: Durchsuchen Sie Websites und nutzen Sie jedes LLM (im OpenAI-kompatiblen Format), um Testschritte für erkannte Seiten vorzuschlagen.
- Regressionstests: Führen Sie vorhandene Test-Suiten einfach aus, um Regressionen zu erkennen.
- Automatisierte Feedbackschleife: Ausführungsergebnisse (einschließlich Fehler, Screenshots, Konsolenprotokolle) werden zurückgegeben und bieten dem KI-Assistenten direktes Feedback.
- Selbstheilung: Vorhandene Tests reparieren sich selbst, wenn sich der Code ändert. Eine manuelle Aktualisierung ist nicht erforderlich.
- UI-Tests: Auch UI-Tests, die nicht direkt von Playwright unterstützt werden, werden unterstützt. Beispielsweise:
Check if the text is overflowing in the div
- Visuelle Regressionstests : Verwendung des traditionellen Pixelmatch- und Vision-LLM-Ansatzes.
So funktioniert es
- Benutzer: Fordert seinen KI-Codierungsassistenten auf (z. B. „Testen Sie dieses Repository auf Sicherheitslücken“, „Zeichnen Sie einen Test für den Anmeldefluss auf“, „Führen Sie den Regressionstest ‚test_login.json‘ aus“).
- AI Coding Agent: Erkennt die Absicht und verwendet MCP, um das entsprechende vom
MCP Server
bereitgestellte Tool aufzurufen. - MCP-Server: Leitet die Anfrage an die entsprechende Funktion weiter (
get_security_scan
,record_test_flow
,run_regression_test
,discover_test_flows
,list_recorded_tests
). - VibeShift-Agent:
- Traditioneller Sicherheitsscan: Ruft statische Analysetools (z. B. Semgrep) für den Code auf.
- Aufzeichnung: Der
WebAgent
(im automatisierten Modus) interagiert mit dem LLM, um Schritte zu planen, steuert den Browser überBrowserController
(Playwright), verarbeitet HTML/Vision und speichert die resultierenden Testschritte in einer JSON-Datei im Verzeichnisoutput/
. - Ausführung: Der
TestExecutor
lädt die angegebene JSON-Testdatei, verwendetBrowserController
, um gemäß den aufgezeichneten Schritten mit dem Browser zu interagieren, und erfasst Ergebnisse, Screenshots und Konsolenprotokolle. - Erkennung: Der
CrawlerAgent
verwendetBrowserController
undLLMClient
, um Seiten zu crawlen und Testschritte vorzuschlagen.
- Browser: Playwright steuert die eigentliche Browserinteraktion.
- Rückkopplungsschleife:
- Der umfassende Sicherheitsbericht (Schwachstellen, Standorte, Vorschläge) wird über den MCP-Server an den AI Coding Agent zurückgesendet.
- Der AI Coding Agent präsentiert dies dem Entwickler und kann die Informationen verwenden, um Korrekturen vorzuschlagen oder anzuwenden .
- Das Ziel ist ein schneller Zyklus aus Codegenerierung -> Sicherheitsscan -> KI-gesteuerter Fix -> erneuter Scan (optional).
Erste Schritte
Voraussetzungen
- Python 3.10+
- Zugriff auf alle LLMs (bei meinen Tests funktionierte Gemini 2.0 Flash kostenlos am besten)
- MCP installiert (
pip install mcp[cli]
) - Playwright-Browser installiert (
patchright install
)
Installation
- Klonen Sie das Repository:Copy
- Erstellen Sie eine virtuelle Umgebung (empfohlen):Copy
- Installieren Sie Abhängigkeiten:Copy
- Installieren Sie Playwright-Browser:Copy
Konfiguration
- Benennen Sie die Datei .env.example im Stammverzeichnis des Projekts in die Datei .env um.
- Fügen Sie Ihren LLM-API-Schlüssel und andere notwendige Details hinzu:Copy
- Ersetzen Sie
YOUR_LLM_API_KEY
durch Ihren tatsächlichen Schlüssel.
- Ersetzen Sie
Hinzufügen des MCP-Servers
Fügen Sie dies zu Ihrer MCP-Konfiguration hinzu:
Lassen Sie diesen Server laufen, während Sie mit Ihrem KI-Codierungsassistenten interagieren.
Verwendung
Interagieren Sie mit dem Agenten über Ihren MCP-fähigen KI-Codierungsassistenten in natürlicher Sprache.
Beispiele:
- Sicherheitsanalyse:
- Automatisch (bevorzugt): VibeShift analysiert automatisch Code-Snippets, die vom KI-Assistenten generiert oder erheblich geändert wurden.
- Explizite Befehle:
„VibeShift, analysieren Sie diese Funktion auf Sicherheitslücken.“ „Bitten Sie VibeShift, den Python-Code, den Copilot gerade geschrieben hat, auf SQL-Injection zu überprüfen.“ „Sichern Sie den generierten Code vor dem Commit mit VibeShift.“
- Einen Test aufzeichnen:
„Zeichnen Sie einen Test auf: Gehen Sie zu https://practicetestautomation.com/practice-test-login/ , geben Sie „Student“ in das Feld „Benutzername“ ein, geben Sie „Password123“ in das Feld „Passwort“ ein, klicken Sie auf die Schaltfläche „Senden“ und vergewissern Sie sich, dass der Text „Herzlichen Glückwunsch, Student“ sichtbar ist.“
- (Der Agent führt diese Aktionen automatisch aus und speichert eine
test_....json
Datei inoutput/
)
- (Der Agent führt diese Aktionen automatisch aus und speichert eine
- Führen Sie einen Test durch:
„Führen Sie den Regressionstest
output/test_practice_test_login_20231105_103000.json
aus“- (Der Agent führt die Schritte in der angegebenen Datei aus und meldet den PASS/FAIL-Status mit Fehlern und Details.)
- Entdecken Sie die Testschritte:
„Entdecken Sie mögliche Testschritte ab https://practicetestautomation.com/practice/ “
- (Der Agent durchsucht die Site, analysiert die Seiten und gibt für jede Seite vorgeschlagene Testschritte zurück.)
- Aufgezeichnete Tests auflisten:
"Listen Sie die verfügbaren aufgezeichneten Webtests auf."
- (Der Agent gibt eine Liste der im Verzeichnis
output/
gefundenen.json
Dateien zurück.)
- (Der Agent gibt eine Liste der im Verzeichnis
Ausgabe:
- Sicherheitsberichte: An den KI-Codierungsassistenten zurückgegeben, mit detaillierten Angaben:
- Art der Sicherheitslücke (z. B. CWE, OWASP-Kategorie)
- Position im Code
- Schwere
- Beweis / Erklärung
- Vorgeschlagene Abhilfemaßnahmen (häufig für die KI)
- Aufgezeichnete Tests: Als JSON-Dateien im Verzeichnis
output/
gespeichert (Format siehetest_schema.md
). - Ausführungsergebnisse: Wird als JSON-Objekt zurückgegeben, das den Ausführungsvorgang zusammenfasst (Status, Fehler, Beweispfade). Die vollständigen Ergebnisse werden außerdem in
output/execution_result_....json
gespeichert. - Ergebnisse der Erkennung: Wird als JSON-Objekt mit erkannten URLs und empfohlenen Schritten zurückgegeben. Die vollständigen Ergebnisse werden unter
output/discovery_results_....json
gespeichert.
Inspiration
- Browsernutzung : Die Generierung des Dom-Kontextbaums ist stark von ihnen inspiriert und wird angepasst, um statische, dynamische und visuelle Elemente zu berücksichtigen. Besonderer Dank gilt ihnen für ihren Beitrag zu Open Source.
- Semgrep : Ein leistungsstarkes Open-Source-Tool zur statischen Analyse, das wir nutzen.
- Kerne : Für vorlagenbasierte dynamische Scanfunktionen.
Beitragen
Wir freuen uns über Beiträge! Weitere Informationen zum Einstieg, zur Problemmeldung und zum Einreichen von Pull Requests finden Sie in CONTRIBUTING.md
. Besonders interessiert uns:
- Neue Integrationen für Sicherheitsanalysatoren.
Lizenz
Dieses Projekt ist unter APACHE-2.0 lizenziert.
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
KI-gestützter Agent, der Webtest-Workflows optimiert, indem er Entwicklern ermöglicht, Tests mithilfe natürlicher Sprachanweisungen in ihren KI-Codierungsassistenten aufzuzeichnen, auszuführen und zu entdecken.
Related MCP Servers
- -securityAlicense-qualityA Message Control Protocol server that runs PHP tests and static analysis tools automatically for developers, providing results directly to AI assistants in Cursor editor.Last updated -1TypeScriptMIT License
- -securityAlicense-qualityEmpowers AI agents to perform web browsing, automation, and scraping tasks with minimal supervision using natural language instructions and Selenium.Last updated -1PythonApache 2.0
- -securityAlicense-qualityAllows AI agents to control web browser sessions via Selenium WebDriver, enabling web automation tasks like scraping, testing, and form filling through the Model Context Protocol.Last updated -TypeScriptMIT License
- -securityFlicense-qualityAn open-source self-hosted browser agent that provides a dockerized browser environment for AI automation, allowing other AI apps and agents to perform human-like web browsing tasks through natural language instructions.Last updated -9339TypeScript