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: Vibe Coders를 위한 보안 엔지니어
VibeShift는 AI 코딩 어시스턴트(Cursor, GitHub Copilot, Claude Code 등)와 완벽하게 통합되도록 설계된 지능형 보안 에이전트입니다. 자동화된 보안 엔지니어 역할을 수행하여 AI가 생성한 코드를 분석하고, 취약점을 식별하며, 안전하지 않은 코드가 코드베이스에 유입되기 전에 AI 기반 수정을 지원합니다. 또한 기존 AI 코딩 환경과의 원활한 상호 작용을 위해 MCP(Model Context Protocol)를 활용합니다.
문제점: AI 코딩 어시스턴트는 개발 속도를 획기적으로 높여주지만, 미묘하거나 명백한 보안 취약점을 가진 코드를 생성할 수도 있습니다. 모든 AI 생성 코드의 보안 취약점을 수동으로 검토하는 것은 느리고 오류가 발생하기 쉬우며, AI 개발 속도에 맞춰 확장되지 않습니다. 이러한 "분위기 주도 개발"은 애플리케이션을 위험에 노출시킬 수 있습니다.
솔루션: GroundNG의 VibeShift는 AI 코딩 어시스턴트가 다음을 수행할 수 있도록 하여 이러한 중요한 보안 격차를 해소합니다.
- AI 생성 코드 자동 분석: AI 도우미가 코드를 생성하거나 수정하면 VibeShift가 트리거되어 도구 모음(SAST, DAST 구성 요소)과 AI 기반 검사를 사용하여 보안 분석을 수행할 수 있습니다.
- 보안 취약점 식별: AI가 생성한 스니펫이나 대규모 코드 블록 내에서 일반적이고 복잡한 취약점(예: XSS, SQLi, 안전하지 않은 구성, 논리적 결함)을 정확히 찾아냅니다.
- AI 기반 수정 지원: AI 코딩 지원자에게 자세한 피드백과 취약성 정보를 직접 제공하여 수정 사항을 제안하거나 자동으로 적용할 수도 있습니다.
- 보안 피드백 루프를 만듭니다. 이를 통해 개발자와 AI 보조원이 잠재적인 보안 위험을 즉시 인지하고 신속하게 수정하고 학습할 수 있습니다.
이를 통해 AI 지원 코딩을 위한 "왼쪽으로 이동" 보안 패러다임이 만들어져 보안 기능을 개발 워크플로에 직접 내장하고 보다 안전한 코드를 더 빠르게 제공하는 데 도움이 됩니다.
데모 (클릭하여 이 동영상을 재생하세요)
특징
- MCP 통합: Cursor/Windsurf/Github Copilot/Roo Code와 완벽하게 통합됩니다.
- 자동 보안 스캐닝: AI 코드 생성/수정 시 트리거되어 다음을 수행합니다.
- 정적 코드 분석(SAST): Semgrep과 같은 도구를 통합하여 소스 코드의 취약점을 찾습니다.
- 동적 분석(DAST 기본형): 실행 중인 구성 요소를 확인하기 위해 Nuclei나 ZAP와 같은 도구를 호출할 수 있습니다(해당되는 경우).
- AI 지원 테스트 녹화: 자연어 설명으로부터 Playwright 기반 테스트 스크립트를 생성합니다(자동 모드).
- 결정론적 테스트 실행: Playwright를 사용하여 기록된 JSON 테스트 파일을 안정적으로 실행합니다.
- AI 기반 테스트 검색: 웹사이트를 크롤링하고 모든 LLM(OpenAI 호환 형식)을 활용하여 검색된 페이지에 대한 테스트 단계를 제안합니다.
- 회귀 테스트: 기존 테스트 모음을 쉽게 실행하여 회귀를 포착합니다.
- 자동 피드백 루프: 실행 결과(실패, 스크린샷, 콘솔 로그 포함)가 반환되어 AI 도우미에게 직접적인 피드백을 제공합니다.
- 자가 복구: 코드 변경 시 기존 테스트가 자가 복구되므로 수동으로 업데이트할 필요가 없습니다.
- UI 테스트: Playwright에서 직접 지원하지 않는 UI 테스트도 지원됩니다. 예를 들어,
Check if the text is overflowing in the div
. - 시각적 회귀 테스트 : 전통적인 픽셀 매칭과 비전 LLM 접근 방식을 사용합니다.
작동 원리
지엑스피1
- 사용자: AI 코딩 도우미에게 메시지를 표시합니다(예: "이 저장소의 보안 취약성을 테스트하세요", "로그인 흐름에 대한 테스트를 기록하세요", "회귀 테스트 'test_login.json'을 실행하세요").
- AI 코딩 에이전트: 의도를 인식하고 MCP를 사용하여
MCP Server
에서 제공하는 적절한 도구를 호출합니다. - MCP 서버: 요청을 해당 함수(
get_security_scan
,record_test_flow
,run_regression_test
,discover_test_flows
,list_recorded_tests
)로 라우팅합니다. - VibeShift 에이전트:
- 기존 보안 스캔: 코드에 정적 분석 도구 (예: Semgrep)를 호출합니다.
- 녹음:
WebAgent
(자동 모드)는 LLM과 상호 작용하여 단계를 계획하고,BrowserController
(Playwright)를 통해 브라우저를 제어하고, HTML/Vision을 처리하고, 결과 테스트 단계를output/
디렉토리의 JSON 파일에 저장합니다. - 실행:
TestExecutor
지정된 JSON 테스트 파일을 로드하고,BrowserController
사용하여 기록된 단계에 따라 브라우저와 상호 작용하고, 결과, 스크린샷 및 콘솔 로그를 캡처합니다. - 발견:
CrawlerAgent``BrowserController
와LLMClient
사용하여 페이지를 크롤링하고 테스트 단계를 제안합니다.
- 브라우저: Playwright는 실제 브라우저 상호작용을 주도합니다.
- 피드백 루프:
- 포괄적인 보안 보고서(취약점, 위치, 제안)는 MCP 서버를 통해 AI 코딩 에이전트 로 반환됩니다.
- AI 코딩 에이전트는 이를 개발자에게 제시하고 해당 정보를 사용하여 수정 사항을 제안하거나 적용 할 수 있습니다.
- 목표는 코드 생성 -> 보안 검사 -> AI 기반 수정 -> 재검사(선택 사항)의 빠른 순환을 만드는 것입니다.
시작하기
필수 조건
- 파이썬 3.10+
- 모든 LLM에 액세스 가능(테스트 결과 Gemini 2.0 플래시가 무료로 가장 잘 작동함)
- MCP 설치됨(
pip install mcp[cli]
) - Playwright 브라우저 설치됨(
patchright install
)
설치
- 저장소를 복제합니다.Copy
- 가상 환경을 만듭니다(권장):Copy
- 종속성 설치:Copy
- Playwright 브라우저 설치:Copy
구성
- 프로젝트 루트 디렉토리에서 .env.example 파일의 이름을 .env로 바꿉니다.
- LLM API 키와 기타 필요한 세부 정보를 추가하세요.Copy
YOUR_LLM_API_KEY
실제 키로 바꾸세요.
MCP 서버 추가
mcp 설정에 다음을 추가하세요:
AI 코딩 어시스턴트와 상호 작용하는 동안 이 서버를 계속 실행하세요.
용법
자연어를 사용하는 MCP 지원 AI 코딩 도우미를 통해 에이전트와 상호 작용하세요.
예:
- 보안 분석:
- 자동(권장): VibeShift는 AI 어시스턴트가 생성하거나 상당히 수정한 코드 조각을 자동으로 분석합니다.
- 명시적 명령:
"VibeShift, 이 함수의 보안 취약점을 분석해 주세요." "Copilot이 방금 SQL 주입을 위해 작성한 Python 코드를 VibeShift에서 검사해 달라고 요청해 주세요." "커밋하기 전에 생성된 코드를 VibeShift로 보호해 주세요."
- 테스트 기록:
"테스트 녹화: https://practicetestautomation.com/practice-test-login/ 으로 가서 사용자 이름 필드에 'student'를 입력하고, 비밀번호 필드에 'Password123'을 입력하고, 제출 버튼을 클릭하고 'Congratulations student'라는 텍스트가 보이는지 확인하세요."
- (에이전트는 이러한 작업을 자동으로 수행하고
output/
에test_....json
파일을 저장합니다.)
- (에이전트는 이러한 작업을 자동으로 수행하고
- 테스트 실행:
"회귀 테스트
output/test_practice_test_login_20231105_103000.json
실행하세요"- (에이전트는 지정된 파일의 단계를 실행하고 오류와 세부 정보와 함께 PASS/FAIL 상태를 보고합니다.)
- 테스트 단계 알아보기:
" https://practicetestautomation.com/practice/ 에서 잠재적인 테스트 단계를 찾아보세요."
- (에이전트는 사이트를 크롤링하고, 페이지를 분석하고, 각 페이지에 대한 테스트 단계를 제안합니다.)
- 녹화된 테스트 목록:
"사용 가능한 녹화된 웹 테스트를 나열하세요."
- (에이전트는
output/
디렉토리에서 발견된.json
파일 목록을 반환합니다.)
- (에이전트는
산출:
- 보안 보고서: AI 코딩 어시스턴트로 반환되었으며, 자세한 내용은 다음과 같습니다.
- 취약점 유형(예: CWE, OWASP 범주)
- 코드 내 위치
- 심각성
- 증거 / 설명
- 제안된 수정 사항(종종 AI가 조치를 취하도록 함)
- 기록된 테스트:
output/
디렉토리에 JSON 파일로 저장됩니다(형식은test_schema.md
참조). - 실행 결과: 실행 결과(상태, 오류, 증거 경로)를 요약한 JSON 객체로 반환됩니다. 전체 결과는
output/execution_result_....json
에도 저장됩니다. - 검색 결과: 검색된 URL과 제안된 단계를 JSON 객체로 반환합니다. 전체 결과는
output/discovery_results_....json
에 저장됩니다.
영감
- 브라우저 사용 : DOM 컨텍스트 트리 생성은 이들로부터 많은 영감을 받았으며, 정적/동적/시각적 요소를 수용하도록 수정되었습니다. 오픈 소스 기여에 특별히 감사드립니다.
- Semgrep : 우리가 활용하는 강력한 오픈소스 정적 분석 도구입니다.
- 핵 : 템플릿 기반 동적 스캐닝 기능을 위해.
기여하다
기여를 환영합니다! 시작 방법, 문제 보고, 풀 리퀘스트 제출 방법에 대한 자세한 내용은 CONTRIBUTING.md
참조하세요. 특히 다음 사항에 관심이 있습니다.
- 새로운 보안 분석기 통합.
특허
이 프로젝트는 APACHE-2.0 라이선스를 받았습니다.
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.
개발자가 AI 코딩 어시스턴트에서 자연어 프롬프트를 사용하여 테스트를 기록, 실행 및 검색할 수 있도록 하여 웹 테스트 워크플로를 간소화하는 AI 기반 에이전트입니다.
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