Burp Suite Professional을 위한 가장 강력한 MCP 서버, BurpMCP-Ultra
요약
BurpMCP-Ultra는 Kotlin 기반의 Burp Suite 확장 프로그램으로, 임베디드 MCP(Model Context Protocol) 서버를 제공합니다. 이를 통해 AI 에이전트가 자연어 명령만으로 프록시 분석, 퍼징, 취약점 테스트 등 150개에 달하는 구조화된 도구를 프로그래밍 방식으로 구동할 수 있게 합니다.
핵심 포인트
- AI 에이전트를 위한 강력한 Burp Suite 확장 기능 제공
- 자연어 명령만으로 다양한 보안 테스트 수행 가능
- MCP(Model Context Protocol)를 통해 150개 이상의 구조화된 도구 노출
- Kotlin 기반의 네이티브 확장 프로그램 및 강화된 로컬호스트 보안 구현
Burp Suite Professional을 위한 가장 강력한 MCP 서버입니다.
JAR 파일을 Burp에 하나만 드롭하고 Claude Code(또는 모든 MCP 클라이언트)를 연결하여 AI 에이전트를 통해 Burp Suite의 모든 부분을 프로그래밍 방식으로 구동할 수 있습니다.
150개의 도구 • 8가지 리소스 • 17가지 이벤트 유형 • 실시간 대시보드 • 강화된 로컬호스트 보안
빠른 시작 • 도구 • 기능 • 보안 • 대시보드 • 설정 가이드 • 문의하기
BurpMCP-Ultra는 임베디드 MCP (Model Context Protocol) 서버를 갖춘 네이티브 Kotlin Burp Suite 확장 프로그램입니다. 이는 Burp의 Montoya API를 토큰으로 보호되는 로컬 SSE 전송을 통해 150개의 구조화된 도구로 노출하여, AI 에이전트가 자연어만으로 프록시 히스토리 분석, 활성 스캔(active scans), 퍼징(fuzzing), 레이스 컨디션(race conditions), OOB 테스트, 사용자 지정 스캔 검사 및 유도적 익스플로잇을 수행할 수 있게 합니다.
| BurpMCP-Ultra | burp-ai-agent | PortSwigger Official | |
|---|---|---|---|
| MCP 도구 | 150 | 53 | 12 |
| 사용자 지정 스캔 검사 | BCheck + Script | – | – |
| 유도적 주입 프로브 | SQLi / SSTI / LFI 오라클 | – | – |
| JWT 공격 | alg:none, RS→HS, crack | – | – |
| 접근 제어 스윕 | IDOR / privesc across identities | – | – |
| WebSocket 테스트 | 전체 수명 주기(Full lifecycle) | – | – |
| 인라인 퍼저 | 3가지 모드 (FUZZ / Marker / Offset) | – | – |
| 레이스 컨디션 테스트 | 단일 패킷 공격 | – | – |
| API 스키마 임포트 | OpenAPI / Swagger + $ref | – | – |
| 수동 인텔리전스 추출 | 30개 이상의 패턴, 엔트로피 디노이즈 | – | – |
| 정찰(Recon) | JS 엔드포인트, 콘텐츠/파라미터 검색 | – | – |
| 실시간 대시보드 | Web + Swing | – | – |
| 강화된 로컬호스트 보안 | Host + Origin + token, scope gate | – | – |
| 협업자 OOB | 전체 생성 / 폴링 / 상관관계 분석(Full create / poll / correlate) | 부분적 (Partial) | 부분적 (Partial) |
경쟁사 수치는 각 프로젝트의 공개 도구 목록을 기반으로 한 참고치입니다.
git clone https://github.com/Cy-S3c/BurpMCP-Ultra.git
cd BurpMCP-Ultra
./gradlew shadowJar
출력: build/libs/burpmcp-ultra-2.3.1.jar
(~13 MB). JDK 17–21이 설치되어 있어야 합니다 — 소스에서 빌드하는 방법 참조. 사전 구축된 JAR 파일은 Releases 페이지에 있습니다.
- Burp Suite Pro →
Extensions→Add - JAR 파일을 선택합니다. - BurpMCP-Ultra 탭이 녹색 "Running" 상태와 연결 토큰과 함께 나타납니다.
{
"mcpServers": {
"burp": {
...
~/.claude.json에 추가하거나, 프로젝트의 .mcp.json에 추가합니다.
⚠️ 토큰이 필요하며, 엔드포인트는 루트 경로여야 합니다. /sse가 아닌 /에서 토큰을 복사하세요.
BurpMCP-Ultra 패널의 Server 탭입니다. 이것 없이는 서버가 401 오류를 반환하고, Claude Code와 같은 클라이언트는 OAuth discovery로 폴백(fall back)하여 SDK auth failed: HTTP 404: Invalid OAuth error response 오류로 실패합니다.
💡
MCP 클라이언트에서 헤더(headers) 설정이 불가능한가요? 토큰-인-패스 URL을 사용하세요 — headers 블록이 필요 없습니다 (GitHub 이슈 #11). Server 탭의 "Copy No-Headers Config"를 사용하여 복사할 수 있습니다:
{ "mcpServers": { "burp": { "type": "sse", "url": "http://127.0.0.1:9876/PASTE_TOKEN_FROM_SERVER_TAB/" } } }
뒤따르는 슬래시(/)를 유지하세요 — 이것이 토큰을 SSE 백채널(back-channel)로 전달하게 하는 요소입니다. ?token=… 쿼리는 MCP에 작동하지 않습니다: SDK는 POST 엔드포인트를 상대 참조(?sessionId=…)로 광고하는데, 이는 RFC 3986 §5.3에 따라 쿼리를 경로로 대체(replace)하므로 (따라서 토큰이 사라지고 모든 메시지가 401 오류가 되지만) 경로는 유지됩니다. 토큰이 URL의 일부가 되는 점에 유의하여, 클라이언트가 지원하는 경우 헤더 형태를 선호하세요.
실시간 웹 대시보드는 **http://127.0.0.1:9878**로 브라우징하십시오.
37개 카테고리에 걸친 150개의 MCP 도구가 있습니다. 이름은 안정적이며, 권위 있는 개수는 Server 탭에 표시되는 server.tools.size입니다.
| 도구(Tool) | 설명(Description) |
|---|---|
proxy_history | 필터링을 통한 HTTP 프록시 기록 가져오기 (호스트, 메서드, 상태, MIME, 범위) |
proxy_history_search | 프록시 기록 전체에 대한 정규표현식 검색 (URL, 헤더, 본문) |
proxy_websocket_history | WebSocket 프록시 기록 가져오기 |
proxy_websocket_history_search | WebSocket 기록에 대한 정규표현식 검색 |
proxy_intercept_enable / proxy_intercept_disable / proxy_intercept_status | 가로채기(Interception) 제어 및 검사 |
proxy_annotate | 기록 항목에 하이라이트 색상 및 주석 추가 |
proxy_set_request_rule / proxy_set_response_rule | 일치하는 프록시 트래픽 자동 수정/삭제/태그 지정 |
proxy_list_rules / proxy_remove_rule | 프록시 규칙 관리 |
proxy_auto_auth | 모든 일치 요청에 대한 원클릭 인증 헤더 주입(injection) |
| 도구(Tool) | 설명(Description) |
|---|---|
http_send_request | HTTP 요청 전송 (구조화 또는 원시, HTTP/1.1 또는 HTTP/2) |
http_send_requests_parallel | 여러 요청을 병렬로 전송 (배치 작업, 레이스 조건 등) |
http_send_request_chain | 단계별 요청 시퀀스 및 단계 간 토큰 추출 |
http_send_raw_bytes | 스머글링(smuggling) 및 CRLF 주입을 위한 바이트 레벨 요청 |
http_fuzz | 인라인 퍼즈(Inline fuzzer) — FUZZ 키워드, §marker§, 또는 바이트 오프셋 모드 + 페이로드 라이브러리 |
http_race | 레이스 조건 테스트 — N개의 요청을 동시에 전송 |
http_cookie_jar_get / http_cookie_jar_set | Burp의 쿠키 저장소(cookie jar) 읽기/쓰기 |
http_analyze_keywords | 응답에서 키워드 발생 여부 분석 |
http_analyze_variations | 응답 변형 감지 (블라인드 주입) |
http_set_traffic_rule / http_list_traffic_rules / http_remove_traffic_rule | 전역 요청/응답 규칙 |
| 도구 (Tool) | 설명 (Description) |
|---|---|
scanner_start_crawl | 시드 URL에서 웹 크롤링 시작 |
scanner_start_audit | 선택적 인증 설정과 함께 능동/수동 스캔 시작 |
scanner_task_status / scanner_task_list / scanner_task_delete | 스캔/크롤링 작업 관리 |
scanner_task_add_request | 실행 중인 감사(audit)에 요청 추가 |
scanner_task_issues | 특정 작업에서 이슈 가져오기 |
scanner_get_all_issues | 심각도/신뢰도 필터가 적용된 모든 이슈 |
scanner_generate_report | HTML/XML 스캔 보고서 생성 |
scanner_create_issue | 사용자 지정 감사 이슈 생성 |
scanner_import_bcheck | 사용자 지정 스캐닝을 위한 BCheck 스크립트 가져오기 |
scanner_register_check / scanner_unregister_check | 사용자 지정 스캔 체크 등록/해제 |
| 도구 (Tool) | 설명 (Description) |
|---|---|
collaborator_create_client | OOB 테스트를 위한 Collaborator 클라이언트 생성 |
collaborator_restore_client | 비밀 키로부터 클라이언트 복원 |
collaborator_generate_payload | Collaborator 페이로드 생성 |
collaborator_default_payload | 공유 기본 클라이언트에서 페이로드 생성 (빠른 OOB) |
collaborator_poll | DNS / HTTP / SMTP 상호 작용 폴링 (DNS qname 디코드) |
collaborator_server_info | Collaborator 서버 주소 가져오기 |
collaborator_get_secret | 세션 지속성을 위한 클라이언트 비밀 키 가져오기 |
| 도구 (Tool) | 설명 (Description) |
|---|---|
intruder_send / intruder_send_with_positions | Intruder로 전송 (자동 또는 명시적 위치) |
intruder_register_payload_processor | 사용자 지정 페이로드 프로세서 등록 |
repeater_send | Repeater 탭으로 요청 전송 |
| 도구 (Tool) | 설명 (Description) |
|---|---|
websocket_create | WebSocket 연결 생성 |
websocket_send_text / websocket_send_binary | 텍스트 / 바이너리 메시지 전송 |
websocket_close / websocket_list | 연결 종료 / 목록 보기 |
websocket_get_messages | 방향 필터가 적용된 메시지 가져오기 |
websocket_set_intercept_rule | WebSocket 메시지 자동 가로채기 (Auto-intercept) 규칙 설정 |
| 도구(Tool) | 설명(Description) |
|---|---|
injection_probe | 확인 오라클을 사용한 안내형 SQLi / SSTI / LFI (SQL 오류 지문, 시간 지연, 템플릿 math-eval, 파일 마커) — 블라인드 퍼징 아님 |
jwt_attack | JWT 취약점 공격 — alg:none, RS→HS 키 혼동, 약한 비밀번호 크래킹, 구조 분석 |
access_control_sweep | 여러 신원을 대상으로 일괄적인 접근 제어 우회 / IDOR 스캔 |
graphql_probe | GraphQL 인트로스펙션 + 필드 추천 열거(enumeration) |
cors_probe | CORS 오설정 감지 (반사/null origin, 인증 정보 포함) |
recon_fingerprint | 기술 및 WAF 지문 분석 |
recon_js_endpoints | JavaScript 파일에서 엔드포인트/URL 수집(harvest) |
recon_content_discovery | 대상에 대한 경로 / 콘텐츠 발견 |
recon_param_mine | 숨겨진 및 반사된 매개변수 마이닝(mining) |
findings_add / findings_list | 에이전트의 중복 제거된 취약점 작업 저장소 |
실시간 요청을 발행하는 공격 도구는
scope-gated(Security)를 참조하세요.
| 도구(Tool) | 설명(Description) |
|---|---|
analyze_request / analyze_response | HTTP 메시지를 구조적 구성 요소로 파싱(Parse) |
analyze_find_reflected | 응답에 반사된 매개변수 값 찾기 (XSS 표면) |
analyze_extract_params | 모든 매개변수 추출 (URL, 본문, 쿠키, 헤더, JSON) |
analyze_insertion_points | 스캐너 스타일의 삽입 지점 (JSON-body leaves 포함) |
analyze_diff | 두 요청 또는 응답 비교(Compare) |
analyze_response_body_search | 모든 프록시 응답 본문에서 패턴 검색 |
| 도구(Tool) | 설명(Description) |
|---|---|
auth_diff | 인증 레벨 간의 응답 비교 → IDOR / 권한 상승(privesc) 판정 |
api_import_openapi | OpenAPI/Swagger ( $ref 해결 포함) 가져오기, 요청 생성 및 사이트맵 채우기 |
passive_intel | 프록시 기록에서 비밀 정보/토큰/IP 추출 — 30개 이상의 패턴, 엔트로피 디노이즈(de-noised) |
| 도구 (Tool) | 설명 (Description) |
|---|---|
util_url_encode / util_url_decode | URL 인코딩 / 디코딩 |
util_base64_encode / util_base64_decode | Base64 인코딩 / 디코딩 |
util_html_encode | HTML 엔티티 인코딩 |
util_hash | 해싱 (MD5, SHA1, SHA256, SHA384, SHA512) |
util_compress / util_decompress | Gzip / deflate / brotli |
util_random_string / util_random_bytes | 랜덤 생성기 (Random generators) |
util_jwt_decode | JWT 디코딩 (헤더, 페이로드, 만료 시간) |
util_decode_smart | 다중 계층 인코딩 자동 감지 및 디코드 기능 (Auto-detect and decode multi-layer encoding) |
| 도구 (Tool) | 설명 (Description) |
|---|---|
bcheck_create | 구조화된 매개변수로부터 BCheck 생성 및 배포 |
bcheck_import | 원시 BCheck DSL 스크립트 가져오기 (Import) |
bcheck_templates / bcheck_list / bcheck_remove | BChecks 템플릿, 목록 보기, 제거 기능 |
scancheck_create_passive | 다중 조건 매칭을 이용한 수동 검사 생성 (Passive check) |
scancheck_create_active | 페이로드 체인을 사용한 다단계 능동 검사 생성 (Active check) |
scancheck_templates / scancheck_list / scancheck_remove | 템플릿, 목록 보기, 스크립트 검사 해제 기능 |
| 도구 (Tool) | 설명 (Description) |
|---|---|
scope_check / scope_include / scope_exclude / scope_get_config | 타겟 범위 관리 (Target scope management) |
sitemap_query / sitemap_get_issues / sitemap_add_request / sitemap_add_issue | 사이트맵 작업 (Sitemap operations) |
| Tool | Description |
|---|---|
burp_version | Burp 버전 및 에디션 |
burp_export_project_config / burp_import_project_config | JSON 형식의 프로젝트 설정 |
burp_export_user_config / burp_import_user_config | JSON 형식의 사용자 설정 |
burp_task_engine_state / burp_task_engine_set | 모든 백그라운드 작업 일시 중지/재개 |
burp_command_line_args | 시작 인수(Startup arguments) |
burp_shutdown | Burp 종료 (게이트 필요 — Security 참조) |
config_proxy_listeners_list / config_proxy_listener_add / config_proxy_listener_remove | 프록시 리스너 관리 |
config_match_replace_add / config_match_replace_list / config_match_replace_remove | 매치-앤-리플레이스 규칙 관리 |
config_upstream_proxy_set | 업스트림 프록시 설정 (Tor, 기업용) |
| Tool | Description |
|---|---|
session_create_token_rule / session_list_rules / session_remove_rule | 세션 처리 규칙 (추출 → 주입) |
이벤트 시스템(Event system)
persistence_store / persistence_get / persistence_delete / persistence_list | 프로젝트 데이터 저장소
preference_store / preference_get | 전역 환경 설정(Global preferences)
decoder_send / comparer_send | 디코더/컴페어러로 전송
organizer_send / organizer_get_items | 오거나이저 관리
log_message / log_event | Burp 로깅
ai_status / ai_prompt | Burp AI 통합 (Burp 2025 이상)
bambda_import | Bambda 스크립트 가져오기(Import)
project_info / extension_info | 프로젝트 및 확장 프로그램 메타데이터
도구 호출 없이 에이전트가 읽을 수 있는 읽기 전용 MCP 리소스:
burp://proxy/history
· burp://proxy/websocket/history
· burp://scanner/issues
· burp://sitemap
· burp://scope
· burp://config/project
· burp://config/user
· burp://organizer/items
injection_probe(
request:
, 그런 다음 결정론적 오라클을 사용하여 취약점을 **확인**합니다 — SQL 오류 지문, 시간 지연 분석, 템플릿 수학 평가(`1337*1337 → 1787569`) 및 파일 내용 마커를 사용하며, 트리거 페이로드를 통해 확인된 결과만 반환합니다. 블라인드/OOB 클래스의 경우, `collaborator_*`와 `http_fuzz`를 쌍으로 사용합니다.
jwt_attack(token:
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Coding Assistants의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기