업데이트로 돌아가기
New releaseAug 3, 2026

toolbox v0.2.2

CLI 및 MCP를 통한 인간과 에이전트 간의 협업형 애플리케이션 보안 테스트

공유
go-appsec/toolbox

license Build Status Vibe-Scale 1.0(V2|U0|T0): Significant AI, fully reviewed

코딩 에이전트를 위한 MCP 기반 애플리케이션 보안 테스트 도구.

스캐너가 아닙니다 — 협업형 워크벤치입니다. 에이전트는 UI와 상태 기반(stateful) API를 어려워하지만, 당신은 둘 다 능숙합니다. Sectool을 사용하면 프록시를 통해 애플리케이션을 탐색하는 동안 에이전트가 당신이 생성한 동일한 인증 트래픽을 분석하고 조작할 수 있습니다.

당신이 인증과 UI 상호작용을 처리하면, 에이전트는 플로우를 조회하고, 요청을 변형하며, 반사(reflection)를 찾고, 대역외(out-of-band) 상호작용을 모니터링하고, 기타 변형을 시도합니다. 두 능력을 결합하면 일상적인 작업이 더 쉬워지고, 숨겨진 지표를 놓칠 가능성이 줄어들며, 복잡한 테스트를 더 철저히 수행할 수 있습니다.

시작하기

1. sectool 설치

go install github.com/go-appsec/toolbox/sectool@latest

Go가 없으신가요? 최신 릴리스에서 플랫폼용 바이너리(Linux, macOS, Windows — amd64 및 arm64)를 다운로드하세요.

2. MCP(Model Context Protocol) 서버 시작

sectool mcp

이렇게 하면 포트 9119에서 MCP 서버가 시작되고, 포트 8080에 내장 HTTP 프록시가 함께 실행됩니다.

3. 브라우저 구성

브라우저의 프록시 설정을 127.0.0.1:8080(또는 --proxy-port로 지정한 포트)으로 지정하세요.

HTTPS 가로채기를 위해 ~/.sectool/ca.pem(최초 실행 시 자동 생성)에서 CA 인증서를 설치하세요. 대부분의 브라우저는 인증서 설정을 통해 이를 수락합니다. macOS에서는 시스템 키체인에 추가할 수도 있습니다.

Burp를 사용 중이신가요? 대신 Burp의 프록시 구성을 따르고, sectool mcp --burp로 sectool을 시작하세요.

4. 에이전트 연결

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"

5. 협업

에이전트와 함께 테스트 계획을 수립하고 실행하세요. 에이전트는 프록시 기록 조회, 수정된 요청 재전송, 엔드포인트 크롤링, 대역외 상호작용 테스트를 수행할 수 있으며, 그동안 당신은 인증 또는 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지정된 포트에서 네이티브 프록시 강제 사용
--burpBurp 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
모드설명
(기본값)에이전트가 workflow 도구를 호출하여 작업 유형을 선택하고 협업 지침을 받음
explore탐색적 보안 테스트; 모든 도구 사용 가능
test-report특정 취약점 보고서 검증; 크롤링 도구 제외
none워크플로우 지침 없음, 모든 도구 즉시 사용 가능
multi여러 사용자 또는 에이전트가 서버를 공유할 때 사용; 에이전트 간 혼란을 유발할 수 있는 기능 숨김

워크플로우 지침은 에이전트가 모든 것을 자율적으로 수행하거나 가치 없는 절차를 안내하는 대신 협업적 테스트를 하도록 유도합니다. 에이전트 협업 개선에 대한 아이디어가 있다면 이슈를 열어주세요.

메모

--notes 플래그는 플로우에 연결된 관찰 내용을 저장하기 위한 notes_savenotes_list 도구를 활성화합니다. 짧은 세션에서 컨텍스트 사용을 최소화하기 위해 기본적으로 비활성화되어 있습니다. 여러 건의 발견 사항이나 대화 압축(compaction)이 예상될 때 활성화하세요.

MCP 전송 방식

서버는 두 개의 엔드포인트를 제공합니다:

  • /mcp - Streamable HTTP(권장)
  • /sse - SSE(레거시, 구형 클라이언트용)

CLI 사용 예시

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를 사용하세요.

주요 기능

  • 와이어 충실도(wire-fidelity) 프록시 - 헤더 순서, 대소문자, 프로토콜 이상 징후를 보존하는 HTTP/1.1 및 HTTP/2 MITM
  • 재전송 및 변형 - 일치/교체(match/replace) 규칙으로 실시간 트래픽을 재작성하거나, 에이전트에 최적화된 API를 통해 캡처된 요청을 수정하여 재전송
  • 플로우 차이 비교(diffing) - 빠른 보고서 검증을 위한 구조화된 콘텐츠 유형 인식 방식의 두 플로우 비교(JSON 경로 수준, 통합 텍스트, 바이너리 크기)
  • JS 표면 분석 - JavaScript/HTML 번들에서 엔드포인트, 경로, 비밀값을 추출한 다음 호출 지점을 사용 가능한 요청으로 확장
  • 반사 탐지 - 여러 인코딩 변형에서 응답에 반사된 요청 매개변수 값을 찾아 주입 지점을 표면화
  • OAST - Interactsh를 통한 대역외 상호작용 테스트; 도메인 생성, DNS/HTTP/SMTP 콜백 폴링
  • 리다이렉트 탐지 - OAST 세션은 307 리다이렉트를 반환하여 대상이 리다이렉트를 따르는지 감지할 수 있으며, SSRF 체인 및 검증 우회에 유용
  • 크롤링 - 엔드포인트, 폼, 애플리케이션 구조 발견; 프록시 기록 또는 URL에서 시드
  • WebSocket 지원 - WebSocket 메시지에 대한 프레임 수준 가로채기, 프록시, 일치/교체
  • 워크플로우 모드 - 협업 품질을 높이고 토큰 낭비를 줄이기 위한 작업별 에이전트 지침(explore, test-report)
  • 인코딩 유틸리티 - URL, Base64, HTML 인코딩/디코딩, 해싱(MD5/SHA/HMAC), JWT 검사
  • Burp Suite 통합 - Burp MCP 확장 프로그램을 통한 선택적 GUI 프런트엔드; 또는 네이티브 프록시로 완전히 헤드리스 실행

자동 스캐닝

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 및 프로토콜 문서에 두 가지 모두 설명되어 있습니다.

카테고리