
CLI 및 MCP를 통한 인간과 에이전트 간의 협업형 애플리케이션 보안 테스트
코딩 에이전트를 위한 MCP 기반 애플리케이션 보안 테스트 도구.
스캐너가 아닙니다 — 협업형 워크벤치입니다. 에이전트는 UI와 상태 기반(stateful) API를 어려워하지만, 당신은 둘 다 능숙합니다. Sectool을 사용하면 프록시를 통해 애플리케이션을 탐색하는 동안 에이전트가 당신이 생성한 동일한 인증 트래픽을 분석하고 조작할 수 있습니다.
당신이 인증과 UI 상호작용을 처리하면, 에이전트는 플로우를 조회하고, 요청을 변형하며, 반사(reflection)를 찾고, 대역외(out-of-band) 상호작용을 모니터링하고, 기타 변형을 시도합니다. 두 능력을 결합하면 일상적인 작업이 더 쉬워지고, 숨겨진 지표를 놓칠 가능성이 줄어들며, 복잡한 테스트를 더 철저히 수행할 수 있습니다.
go install github.com/go-appsec/toolbox/sectool@latest
Go가 없으신가요? 최신 릴리스에서 플랫폼용 바이너리(Linux, macOS, Windows — amd64 및 arm64)를 다운로드하세요.
sectool mcp
이렇게 하면 포트 9119에서 MCP 서버가 시작되고, 포트 8080에 내장 HTTP 프록시가 함께 실행됩니다.
브라우저의 프록시 설정을 127.0.0.1:8080(또는 --proxy-port로 지정한 포트)으로 지정하세요.
HTTPS 가로채기를 위해 ~/.sectool/ca.pem(최초 실행 시 자동 생성)에서 CA 인증서를 설치하세요. 대부분의 브라우저는 인증서 설정을 통해 이를 수락합니다. macOS에서는 시스템 키체인에 추가할 수도 있습니다.
Burp를 사용 중이신가요? 대신 Burp의 프록시 구성을 따르고, sectool mcp --burp로 sectool을 시작하세요.
Claude Code:
claude mcp add --transport http sectool http://127.0.0.1:9119/mcp
Codex (~/.codex/config.toml):
[mcp_servers.sectool]
url = "http://127.0.0.1:9119/mcp"
에이전트와 함께 테스트 계획을 수립하고 실행하세요. 에이전트는 프록시 기록 조회, 수정된 요청 재전송, 엔드포인트 크롤링, 대역외 상호작용 테스트를 수행할 수 있으며, 그동안 당신은 인증 또는 UI 상호작용 및 검토와 같은 브라우저 기반 작업을 처리합니다.
네이티브(Native): 와이어 충실도(wire-fidelity)를 갖춘 내장 프록시로 HTTP/1.1, HTTP/2, WebSocket을 지원합니다. MITM 테스트에서 Burp만큼 강력하도록 설계되었습니다. 단일 바이너리가 MCP 서버, 프록시, CLI를 모두 제공하므로 완전히 자체 포함되어 있으며 헤드리스 환경에서도 사용할 수 있습니다.
Burp(선택 사항): 에이전트의 작업을 검토할 GUI를 선호하거나 이미 Burp를 실행 중이라면, BApp Store에서 MCP 확장 프로그램을 설치하고 MCP 서버가 http://127.0.0.1:9876/에서 실행 중인지 확인하세요.
| 옵션 | 설명 |
|---|---|
| (기본값) | 자동 감지: 먼저 Burp MCP를 시도하고, 실패 시 네이티브 프록시로 대체 |
--proxy-port 8080 | 지정된 포트에서 네이티브 프록시 강제 사용 |
--burp | Burp MCP 강제 사용(사용 불가 시 실패) |
Sectool은 세션 시작 시 에이전트가 workflow 도구를 호출하면 적절한 워크플로우를 자동으로 결정합니다. 워크플로우를 미리 지정하면 이 단계를 건너뛰고 토큰을 절약할 수 있습니다:
sectool mcp # Default: agent selects task type via workflow tool
sectool mcp --workflow explore # Pre-set exploration mode
sectool mcp --workflow test-report # Pre-set validation mode
sectool mcp --workflow none # No workflow instructions
sectool mcp --workflow multi # Multiple agents share the server
워크플로우 지침은 에이전트가 모든 것을 자율적으로 수행하거나 가치 없는 절차를 안내하는 대신 협업적 테스트를 하도록 유도합니다. 에이전트 협업 개선에 대한 아이디어가 있다면 이슈를 열어주세요.
--notes 플래그는 플로우에 연결된 관찰 내용을 저장하기 위한 notes_save 및 notes_list 도구를 활성화합니다. 짧은 세션에서 컨텍스트 사용을 최소화하기 위해 기본적으로 비활성화되어 있습니다. 여러 건의 발견 사항이나 대화 압축(compaction)이 예상될 때 활성화하세요.
서버는 두 개의 엔드포인트를 제공합니다:
/mcp - Streamable HTTP(권장)/sse - SSE(레거시, 구형 클라이언트용)CLI는 에이전트와 상태를 공유하며 검토, 재전송, 스크립팅을 위한 사용자 친화적인 인터페이스를 제공합니다. 모든 CLI 명령은 MCP 도구에 매핑되므로 에이전트와 동일한 상태를 공유합니다.
# Review what the proxy captured while you browsed
sectool proxy summary
sectool proxy list --host example.com
sectool proxy cookies --name session_id
# Crawl an app to discover endpoints and forms
sectool crawl create --url https://example.com
sectool crawl summary <session_id>
# Replay a captured request with modifications
sectool replay send --flow <flow_id> --add-header "X-Test: value"
# Set up out-of-band interaction testing and check for callbacks
sectool oast create
sectool oast poll <oast_id>
sectool oast get <event_id>
# Compare two flows, detect reflections, inspect JWTs
sectool diff <flow_a> <flow_b> --scope response
sectool reflected <flow_id>
sectool jwt <token>
# Export a flow, edit it offline, and resend
sectool proxy export <flow_id>
# ... edit ./sectool-requests/<flow_id>/request.http ...
sectool replay send --bundle <flow_id>
자세한 옵션은 sectool <command> --help를 사용하세요.
sectool을 자사 사이드카로 Nuclei를 당신이 접촉하는 모든 엔드포인트에 대해 실행하는 sidenuclei와 함께 사용하세요. --notes 플래그로 sectool을 시작하고 세션에 sidenuclei를 연결하면, 실제 캡처된 요청을 사용하여 각 엔드포인트를 스캔하므로 실제 매개변수, 쿠키, 인증된 세션으로 테스트가 실행됩니다. 발견 사항은 이를 트리거한 플로우에 연결된 finding 메모로 기록되어, 당신과 에이전트가 수동 테스트에 집중하는 동안 추가적인 커버리지를 제공합니다.
HTTP와 WebSocket 외에도 sectool은 사이드카 어댑터 모델을 통해 사용자 정의 및 바이너리 프로토콜(일반적으로 요청/응답)을 지원합니다. 어댑터를 작성하여 사이드카 API를 사용해 연결하고 통신하세요. 사이드카 트래픽은 동일한 통합 플로우 타임라인에 기록되므로 flow_get, diff_flow, replay_send 및 기타 도구를 수정 없이 사용할 수 있습니다. 어댑터는 JSON-RPC 2.0 API를 통해 모든 언어로 작성할 수 있으며, 등록, 규칙 캐싱, 플로우 생성을 처리하는 Go SDK 클라이언트를 사용할 수도 있습니다. 사이드카 SDK 및 프로토콜 문서에 두 가지 모두 설명되어 있습니다.
| 모드 | 설명 |
|---|
| (기본값) | 에이전트가 workflow 도구를 호출하여 작업 유형을 선택하고 협업 지침을 받음 |
explore | 탐색적 보안 테스트; 모든 도구 사용 가능 |
test-report | 특정 취약점 보고서 검증; 크롤링 도구 제외 |
none | 워크플로우 지침 없음, 모든 도구 즉시 사용 가능 |
multi | 여러 사용자 또는 에이전트가 서버를 공유할 때 사용; 에이전트 간 혼란을 유발할 수 있는 기능 숨김 |