Web-QA

by GroundNG

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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

+-------------+ +-----------------+ +---------------------+ +-----------------+ +-------------+ | User | ----> | AI Coding Agent | ----> | MCP Server | ----> | Scan, test, exec| ----> | Browser | | (Developer) | | (e.g., Copilot) | | (mcp_server.py) | | (SAST, Record) | | (Playwright)| +-------------+ +-----------------+ +---------------------+ +-----------------+ +-------------+ ^ | | | |--------------------------------------------------+----------------------------+---------------------+ [Test Results / Feedback]
  1. 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“).
  2. AI Coding Agent: Erkennt die Absicht und verwendet MCP, um das entsprechende vom MCP Server bereitgestellte Tool aufzurufen.
  3. 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 ).
  4. 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 über BrowserController (Playwright), verarbeitet HTML/Vision und speichert die resultierenden Testschritte in einer JSON-Datei im Verzeichnis output/ .
    • Ausführung: Der TestExecutor lädt die angegebene JSON-Testdatei, verwendet BrowserController , um gemäß den aufgezeichneten Schritten mit dem Browser zu interagieren, und erfasst Ergebnisse, Screenshots und Konsolenprotokolle.
    • Erkennung: Der CrawlerAgent verwendet BrowserController und LLMClient , um Seiten zu crawlen und Testschritte vorzuschlagen.
  5. Browser: Playwright steuert die eigentliche Browserinteraktion.
  6. 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

  1. Klonen Sie das Repository:
    git clone https://github.com/GroundNG/VibeShift cd VibeShift
  2. Erstellen Sie eine virtuelle Umgebung (empfohlen):
    python -m venv venv source venv/bin/activate # Linux/macOS # venv\Scripts\activate # Windows
  3. Installieren Sie Abhängigkeiten:
    pip install -r requirements.txt
  4. Installieren Sie Playwright-Browser:
    patchright install --with-deps # Installs browsers and OS dependencies

Konfiguration

  1. Benennen Sie die Datei .env.example im Stammverzeichnis des Projekts in die Datei .env um.
  2. Fügen Sie Ihren LLM-API-Schlüssel und andere notwendige Details hinzu:
    # .env LLM_API_KEY="YOUR_LLM_API_KEY"
    • Ersetzen Sie YOUR_LLM_API_KEY durch Ihren tatsächlichen Schlüssel.

Hinzufügen des MCP-Servers

Fügen Sie dies zu Ihrer MCP-Konfiguration hinzu:

{ "mcpServers": { "VibeShift":{ "command": "uv", "args": ["--directory","path/to/cloned_repo", "run", "mcp_server.py"] } } }

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 in output/ )
  • 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.)

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 siehe test_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.

-
security - not tested
A
license - permissive license
-
quality - not tested

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.

  1. Demo (Klicken Sie hier, um diese Videos abzuspielen)
    1. Merkmale
    2. So funktioniert es
    3. Erste Schritte
    4. Verwendung
    5. Inspiration
    6. Beitragen
    7. Lizenz

Related MCP Servers

  • -
    security
    A
    license
    -
    quality
    A 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 -
    1
    TypeScript
    MIT License
  • -
    security
    A
    license
    -
    quality
    Empowers AI agents to perform web browsing, automation, and scraping tasks with minimal supervision using natural language instructions and Selenium.
    Last updated -
    1
    Python
    Apache 2.0
    • Apple
  • -
    security
    A
    license
    -
    quality
    Allows 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 -
    TypeScript
    MIT License
  • -
    security
    F
    license
    -
    quality
    An 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 -
    93
    39
    TypeScript

View all related MCP servers

ID: iwaqcipjpu