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: инженер по безопасности для Vibe Coders

VibeShift — это интеллектуальный агент безопасности, разработанный для бесшовной интеграции с помощниками по кодированию ИИ (такими как Cursor, GitHub Copilot, Claude Code и т. д.). Он действует как ваш автоматизированный инженер по безопасности, анализируя код, сгенерированный ИИ, выявляя уязвимости и облегчая исправление с помощью ИИ до того, как небезопасный код попадет в вашу кодовую базу. Он использует MCP (Model Context Protocol) для плавного взаимодействия в вашей существующей среде кодирования ИИ.

Проблема: помощники по кодированию на основе ИИ значительно ускоряют разработку, но они также могут генерировать код с едва заметными или явными уязвимостями безопасности. Ручная проверка всего кода, сгенерированного ИИ, на наличие уязвимостей безопасности — медленный процесс, подверженный ошибкам и не масштабируемый со скоростью разработки ИИ. Такая «разработка, основанная на вибрации» может оставить приложения уязвимыми.

Решение: VibeShift от GroundNG устраняет этот критический пробел в безопасности, позволяя вашему помощнику по программированию на основе искусственного интеллекта:

  1. Автоматический анализ кода, сгенерированного ИИ: когда код генерируется или изменяется помощником на базе ИИ, VibeShift может быть запущен для выполнения анализа безопасности с использованием набора инструментов (компоненты SAST, DAST) и проверок, управляемых ИИ.
  2. Выявление уязвимостей безопасности: выявление распространенных и сложных уязвимостей (например, XSS, SQLi, небезопасных конфигураций, логических ошибок) в фрагментах кода, сгенерированных ИИ, или в более крупных блоках кода.
  3. Содействие устранению неполадок с помощью ИИ: предоставляет подробную обратную связь и информацию об уязвимостях непосредственно помощнику по кодированию на основе ИИ, позволяя ему предлагать или даже автоматически применять исправления.
  4. Создайте цикл обратной связи по безопасности: гарантируйте, что разработчики и их помощники на базе искусственного интеллекта немедленно узнают о потенциальных рисках безопасности, что позволяет быстро вносить исправления и обучаться.

Это создает «сдвиговую влево» парадигму безопасности для кодирования с использованием ИИ, встраивая безопасность непосредственно в рабочий процесс разработки и помогая быстрее поставлять более безопасный код.

Демонстрация (Нажмите, чтобы воспроизвести эти видео)

Функции

  • Интеграция MCP: бесшовная интеграция с Cursor/Windsurf/Github Copilot/Roo Code
  • Автоматическое сканирование безопасности: запускает генерацию/модификацию кода ИИ для выполнения следующих действий:
    • Статический анализ кода (SAST): интегрирует такие инструменты, как Semgrep, для поиска уязвимостей в исходном коде.
    • Динамический анализ (примитивы DAST): может вызывать такие инструменты, как Nuclei или ZAP, для проверки работающих компонентов (где применимо).
  • Запись тестов с помощью искусственного интеллекта: создание сценариев тестов на основе драматурга на основе описаний на естественном языке (в автоматическом режиме).
  • Детерминированное выполнение теста: надежное выполнение записанных тестовых файлов JSON с помощью Playwright.
  • Тестовое обнаружение на основе ИИ: сканируйте веб-сайты и используйте любой LLM (в формате, совместимом с OpenAI), чтобы предлагать шаги тестирования для обнаруженных страниц.
  • Регрессионное тестирование: легко запускайте существующие тестовые наборы для выявления регрессий.
  • Автоматизированный цикл обратной связи: результаты выполнения (включая сбои, снимки экрана, журналы консоли) возвращаются, обеспечивая прямую обратную связь для помощника на основе искусственного интеллекта.
  • Самовосстановление: существующие тесты самовосстанавливаются в случае изменения кода. Нет необходимости обновлять вручную.
  • Тесты пользовательского интерфейса: Тесты пользовательского интерфейса, которые не поддерживаются playwright напрямую, также поддерживаются. Например, Check if the text is overflowing in the div
  • Визуальное регрессионное тестирование : с использованием традиционного подхода сопоставления пикселей и визуального LLM.

Как это работает

+-------------+ +-----------------+ +---------------------+ +-----------------+ +-------------+ | User | ----> | AI Coding Agent | ----> | MCP Server | ----> | Scan, test, exec| ----> | Browser | | (Developer) | | (e.g., Copilot) | | (mcp_server.py) | | (SAST, Record) | | (Playwright)| +-------------+ +-----------------+ +---------------------+ +-----------------+ +-------------+ ^ | | | |--------------------------------------------------+----------------------------+---------------------+ [Test Results / Feedback]
  1. Пользователь: дает подсказки своему помощнику по кодированию на основе ИИ (например, «Проверить этот репозиторий на наличие уязвимостей безопасности», «Записать тест для процесса входа в систему», «Запустить регрессионный тест 'test_login.json'»).
  2. Агент кодирования ИИ: распознает намерение и использует MCP для вызова соответствующего инструмента, предоставленного MCP Server .
  3. Сервер MCP: направляет запрос в соответствующую функцию ( get_security_scan , record_test_flow , run_regression_test , discover_test_flows , list_recorded_tests ).
  4. Агент VibeShift:
    • Традиционное сканирование безопасности: вызывает инструменты статического анализа (например, Semgrep) кода.
    • Запись: WebAgent (в автоматическом режиме) взаимодействует с LLM для планирования шагов, управляет браузером через BrowserController (Playwright), обрабатывает HTML/Vision и сохраняет полученные тестовые шаги в файле JSON в каталоге output/ .
    • Выполнение: TestExecutor загружает указанный тестовый файл JSON, использует BrowserController для взаимодействия с браузером в соответствии с записанными шагами и фиксирует результаты, снимки экрана и журналы консоли.
    • Обнаружение: CrawlerAgent использует BrowserController и LLMClient для сканирования страниц и предложения тестовых шагов.
  5. Браузер: Драматург управляет фактическим взаимодействием браузера.
  6. Цикл обратной связи:
    • Подробный отчет по безопасности (уязвимости, местоположения, предложения) возвращается через сервер MCP в AI Coding Agent .
    • Агент кодирования ИИ представляет эту информацию разработчику и может использовать ее для предложения или применения исправлений .
    • Цель — быстрый цикл генерации кода -> сканирования безопасности -> исправления с помощью ИИ -> повторное сканирование (необязательно).

Начиная

Предпосылки

  • Питон 3.10+
  • Доступ к любой степени магистра права (по моим тестам, лучше всего работает бесплатная версия Gemini 2.0 Flash)
  • MCP установлен ( pip install mcp[cli] )
  • Браузеры Playwright установлены ( patchright install )

Установка

  1. Клонируйте репозиторий:
    git clone https://github.com/GroundNG/VibeShift cd VibeShift
  2. Создать виртуальную среду (рекомендуется):
    python -m venv venv source venv/bin/activate # Linux/macOS # venv\Scripts\activate # Windows
  3. Установить зависимости:
    pip install -r requirements.txt
  4. Установить браузеры Playwright:
    patchright install --with-deps # Installs browsers and OS dependencies

Конфигурация

  1. Переименуйте файл .env.example в .env в корневом каталоге проекта.
  2. Добавьте свой ключ LLM API и другие необходимые данные:
    # .env LLM_API_KEY="YOUR_LLM_API_KEY"
    • Замените YOUR_LLM_API_KEY на ваш фактический ключ.

Добавление MCP-сервера

Добавьте это в вашу конфигурацию mcp:

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

Поддерживайте работу этого сервера, пока вы взаимодействуете с вашим помощником по программированию на основе искусственного интеллекта.

Использование

Взаимодействуйте с агентом с помощью помощника по кодированию на основе искусственного интеллекта с поддержкой MCP, используя естественный язык.

Примеры:

  • Анализ безопасности:
    • Автоматически (предпочтительно): VibeShift автоматически анализирует фрагменты кода, сгенерированные или значительно измененные помощником на основе искусственного интеллекта.
    • Явные команды:

      «VibeShift, проанализируй эту функцию на предмет уязвимостей безопасности». «Попроси VibeShift проверить код Python, который Copilot только что написал, на предмет SQL-инъекций». «Защити сгенерированный код с помощью VibeShift перед фиксацией».

  • Запишите тест:

    «Запишите тест: перейдите по ссылке https://practicetestautomation.com/practice-test-login/ , введите «student» в поле имени пользователя, введите «Password123» в поле пароля, нажмите кнопку «Отправить» и убедитесь, что текст «Поздравляем, студент» виден».

    • (Агент выполнит эти действия автоматически и сохранит файл test_....json в output/ )
  • Выполнить тест:

    "Запустить регрессионный тест output/test_practice_test_login_20231105_103000.json "

    • (Агент выполнит шаги в указанном файле и сообщит о статусе PASS/FAIL с ошибками и подробностями.)
  • Откройте для себя этапы тестирования:

    «Откройте для себя возможные этапы тестирования, начиная с https://practicetestautomation.com/practice/ »

    • (Агент будет сканировать сайт, анализировать страницы и возвращать рекомендуемые шаги тестирования для каждой из них.)
  • Список зарегистрированных тестов:

    «Перечислите доступные записанные веб-тесты».

    • (Агент вернет список файлов .json , найденных в каталоге output/ .)

Выход:

  • Отчеты по безопасности: возвращены помощнику по кодированию ИИ, содержат подробную информацию:
    • Тип уязвимости (например, CWE, категория OWASP)
    • Расположение в коде
    • Серьёзность
    • Доказательства/Объяснения
    • Предлагаемые исправления (часто для действий ИИ)
  • Записанные тесты: сохраняются в виде файлов JSON в каталоге output/ (формат см. в test_schema.md ).
  • Результаты выполнения: возвращаются как объект JSON, обобщающий выполнение (статус, ошибки, пути доказательств). Полные результаты также сохраняются в output/execution_result_....json .
  • Результаты обнаружения: Возвращаются как объект JSON с обнаруженными URL и предлагаемыми шагами. Полные результаты сохраняются в output/discovery_results_....json .

Вдохновение

  • Использование браузера : Генерация контекстного дерева dom во многом вдохновлена ими и модифицирована для размещения статических/динамических/визуальных элементов. Особая благодарность им за их вклад в открытый исходный код.
  • Semgrep : мощный инструмент статического анализа с открытым исходным кодом, который мы используем.
  • Ядра : для возможностей динамического сканирования на основе шаблонов.

Внося вклад

Мы приветствуем вклады! Пожалуйста, посетите CONTRIBUTING.md для получения подробной информации о том, как начать, сообщать о проблемах и отправлять запросы на включение. Мы особенно заинтересованы в:

  • Новые интеграции анализатора безопасности.

Лицензия

Данный проект распространяется под лицензией APACHE-2.0 .

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

Сервер MCP на базе искусственного интеллекта, который автоматизирует рабочие процессы веб-тестирования, обеспечивая запись, выполнение и обнаружение тестов с помощью подсказок на естественном языке.

  1. Демонстрация (Нажмите, чтобы воспроизвести эти видео)
    1. Функции
    2. Как это работает
    3. Начиная
    4. Использование
    5. Вдохновение
    6. Внося вклад
    7. Лицензия

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