Web-QA

by GroundNG

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: 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

local-only server

The server can only run on the client's local machine because it depends on local resources.

Ein KI-gestützter MCP-Server, der Webtest-Workflows automatisiert, indem er die Aufzeichnung, Ausführung und Erkennung von Tests durch Eingabeaufforderungen in natürlicher Sprache ermöglicht.

  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

  • A
    security
    A
    license
    A
    quality
    QA 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 -
    6
    52
    8
    JavaScript
    MIT License
  • -
    security
    A
    license
    -
    quality
    AI-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 -
    16
    Python
    Apache 2.0
    • Linux
    • Apple
  • A
    security
    F
    license
    A
    quality
    An 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 -
    4
    Python
    • Apple
    • Linux
  • A
    security
    F
    license
    A
    quality
    An 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 -
    14
    834,631
    3
    JavaScript

View all related MCP servers

ID: vyuq9yn3fg