
코드의 보안 취약점 자동 수정
Bugsy는 코드의 보안 취약점을 자동으로 수정해주는 CLI(명령줄 인터페이스) 도구입니다. 이는 최초의 벤더 중립적 자동 보안 취약점 수정 도구인 Mobb의 커뮤니티 에디션 버전입니다. Bugsy는 개발자가 코드의 보안 취약점을 신속하게 식별하고 수정할 수 있도록 설계되었습니다.
Mobb은 최초의 벤더 중립적 자동 보안 취약점 수정 도구입니다. Checkmarx, CodeQL(GitHub Advanced Security), OpenText Fortify, Snyk의 SAST 결과를 분석하여 개발자가 검토하고 커밋할 수 있는 코드 수정 사항을 생성합니다.
Bugsy에는 두 가지 모드가 있습니다. Scan(SAST 보고서 필요 없음)과 Analyze(지원되는 SAST 도구 중 하나에서 미리 생성된 SAST 보고서를 사용자가 제공해야 함)입니다.
Scan
Analyze
이것은 공개 GitHub 저장소만 분석하는 커뮤니티 에디션 버전입니다. 비공개 저장소는 제한된 시간 동안만 분석할 수 있습니다. Bugsy는 코드에서 취약점을 탐지하지 않으며, 위에 언급된 SAST 도구가 탐지한 결과를 사용합니다.
npx를 사용하여 명령줄에서 간단히 Bugsy를 실행할 수 있습니다:
npx mobbdev
그러면 Bugsy의 사용법 도움말이 표시됩니다:
Bugsy - Trusted, Automatic Vulnerability Fixer 🕵️♂️
Usage:
mobbdev <command> [options]
Commands:
mobbdev scan Scan your code for vulnerabilities, get automated fixes right away.
mobbdev analyze Provide a vulnerability report and relevant code repository, get automated fixes right away.
Options:
-h, --help Show help [boolean]
Examples:
mobbdev scan -r https://github.com/WebGoat/WebGoat Scan an existing repository
Made with ❤️ by Mobb
저장소에 대해 새로운 SAST 스캔을 실행하고 수정 사항을 얻으려면 Bugsy Scan 명령을 실행하세요. 예:
npx mobbdev scan --repo https://github.com/mobb-dev/simple-vulnerable-java-project
미리 생성된 SAST 보고서에 대한 수정 사항을 얻으려면 Bugsy Analyze 명령을 실행하세요. 예: npx mobbdev analyze --scan-file sast_results.json --repo https://github.com/mobb-dev/simple-vulnerable-java-project
Bugsy는 결과에서 식별된 지원되는 각 취약점에 대해 자동으로 수정 사항을 생성하고, 개발자가 코드를 검토하고 커밋할 수 있도록 안내합니다.
Bugsy가 제공하는 모든 옵션을 보려면 Scan 또는 Analyze 명령에 -h 옵션을 사용하세요:
npx mobbdev scan -h
npx mobbdev analyze -h
Bugsy는 MCP 서버로도 사용할 수 있어, Claude와 같은 AI 어시스턴트가 코드 저장소의 취약점을 자동으로 스캔하고 수정할 수 있습니다.
API 키: MCP 서버 기능을 사용하려면 Mobb API 키가 필요합니다.
API_KEY 환경 변수를 설정하세요: export API_KEY=your_api_key_here로컬 Git 저장소: MCP 서버는 커밋되지 않은 변경 사항이 있는 git 저장소를 분석합니다.
명령줄에서 mobb-mcp를 실행하세요:
npx mobbdev mcp
Cursor MCP 클라이언트 구성에 Mobb MCP를 추가하세요:
API_URL은 https://app.mobb.ai를 사용하지 않는 경우에만 필요합니다.
{
"mcpServers": {
"mobb-mcp": {
"command": "npx",
"args": ["mobbdev", "mcp"],
"env": {
"API_KEY": "your_mobb_api_key_here",
"API_URL": "optional__your_mobb_api_url_here",
"MVS_AUTO_FIX": "true"
}
}
}
}
환경 변수:
API_KEY: Mobb API 키 (필수)API_URL: 사용자 지정 Mobb API URL (선택 사항, 기본값: https://app.mobb.ai)MVS_AUTO_FIX: 자동 수정 설정 재정의 - "true" 또는 "false"로 설정하여 사용자의 데이터베이스 설정과 관계없이 자동 수정 적용을 강제로 활성화/비활성화합니다 (선택 사항)구성 후 AI 어시스턴트를 통해 MCP 서버를 사용할 수 있습니다:
Claude에게 취약점 스캔 요청하기:
run a scan with mobb-mcp
또는
run fix-vulnerabilities mcp tool
MCP 서버는 다음을 수행합니다:
fix_vulnerabilities: 현재 코드 변경 사항을 스캔하고 잠재적 취약점에 대한 수정 사항을 반환합니다.
path (문자열) - 로컬 git 저장소 경로CI/CD 파이프라인의 일부로 SAST 스캔을 사용하는 경우, Bugsy를 쉽게 추가하여 탐지된 모든 문제에 대해 즉각적인 수정을 제공할 수 있습니다. 다음은 파이프라인에서 Bugsy를 실행하는 간단한 명령줄 예시입니다:
npx mobbdev analyze --ci --scan-file $SAST_RESULTS_FILENAME --repo $CI_PROJECT_URL --ref $CI_COMMIT_REF_NAME --api-key $MOBB_API_KEY
기본적으로 Bugsy는 분석 중 실시간 상태 업데이트를 위해 WebSocket 연결을 사용합니다. 그러나 일부 프록시 환경이나 방화벽이 WebSocket 연결을 차단할 수 있습니다. 이러한 경우 --polling 플래그를 사용하여 HTTP 폴링을 대신 사용할 수 있습니다:
npx mobbdev analyze --scan-file report.json --repo https://github.com/org/repo --polling
--polling을 사용해야 하는 경우:
폴링 특성:
의존성을 설치하고 테스트를 실행하세요:
pnpm install
# or use npm run build:dev to watch for changes
pnpm run build
# or use npm test:watch to watch for changes
pnpm run test
VSCode를 사용하는 경우 launch.json 파일을 사용하여 코드를 디버깅할 수 있습니다. CLI tests 구성을 실행하여 테스트를 지속적으로 실행하고 디버깅하세요.
Bugsy 사용에 대한 지원이 필요하거나 의견을 공유하고 더 많은 정보를 얻고 싶다면 디스코드 서버에 참여해 주세요.