업데이트로 돌아가기
New releaseJul 28, 2026

toolbox v0.2.0

인간과 에이전트 간의 협력적 애플리케이션 보안 테스트 (CLI 및 MCP를 통해)

공유
go-appsec/toolbox

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

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

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

여러분은 인증과 UI 상호작용을 담당하고, 에이전트는 플로우를 조회하고, 요청을 변조하고, 반사(reflection)를 찾고, 대역 외 상호작용을 모니터링하며, 다른 변형들을 시도합니다. 두 능력을 결합하면 일상적인 작업이 더 쉬워지고, 숨겨진 지표를 놓칠 가능성이 줄어들며, 복잡한 테스트가 더 철저해집니다.

시작하기

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 상호작용 및 검토와 같은 브라우저 기반 작업을 처리합니다.

서버 옵션

프록시 백엔드

네이티브: 와이어 충실도(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                        # 기본값: 에이전트가 workflow 도구를 통해 작업 유형 선택
sectool mcp --workflow explore     # 탐색 모드 미리 설정
sectool mcp --workflow test-report # 검증 모드 미리 설정
sectool mcp --workflow none        # 워크플로 지침 없음
sectool mcp --workflow multi       # 여러 에이전트가 서버 공유
모드설명
(기본값)에이전트가 workflow 도구를 호출하여 작업 유형을 선택하고 협업 지침을 받음
explore탐색적 보안 테스트; 모든 도구 사용 가능
test-report특정 취약점 보고서 검증; 크롤 도구 제외
none워크플로 지침 없음, 모든 도구 즉시 사용 가능
multi여러 사용자나 에이전트가 서버를 공유하는 경우; 한 에이전트가 다른 에이전트를 혼란스럽게 할 수 있는 기능 숨김

워크플로 지침은 에이전트가 모든 것을 자율적으로 처리하려 하거나 가치를 더하지 않고 여러분을 절차에 따라 안내하는 대신, 협업 테스트로 나아가도록 유도합니다. 에이전트 협업 개선에 대한 아이디어가 있다면 이슈를 열어주세요.

노트

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

MCP 전송

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

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

CLI 사용 예시

CLI는 에이전트와 상태를 공유하며, 검토, 재전송, 스크립팅을 위한 사람 친화적 인터페이스를 제공합니다. 모든 CLI 명령은 MCP 도구에 매핑되므로 에이전트가 동일한 상태를 공유합니다.

# 브라우징하는 동안 프록시가 캡처한 내용 검토
sectool proxy summary
sectool proxy list --host example.com
sectool proxy cookies --name session_id

# 앱을 크롤링하여 엔드포인트와 폼 발견
sectool crawl create --url https://example.com
sectool crawl summary <session_id>

# 캡처한 요청을 수정하여 재전송
sectool replay send --flow <flow_id> --set-header "X-Test: value"

# 대역 외 상호작용 테스트 설정 및 콜백 확인
sectool oast create
sectool oast poll <oast_id>
sectool oast get <event_id>

# 두 플로우 비교, 반사 탐지, JWT 검사
sectool diff <flow_a> <flow_b> --scope response
sectool reflected <flow_id>
sectool jwt <token>

# 플로우 내보내기, 오프라인에서 편집 후 재전송
sectool proxy export <flow_id>
# ... ./sectool-requests/<flow_id>/request.http 편집 ...
sectool replay send --bundle <flow_id>

자세한 옵션은 sectool <command> --help를 사용하세요.

주요 기능

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

자동 스캐닝

sectool을 sidenuclei와 함께 사용하세요. 이는 여러분이 접촉하는 모든 엔드포인트에 대해 Nuclei를 실행하는 자사 사이드카입니다. --notes로 sectool을 시작하고 세션과 함께 sidenuclei를 붙이면, 실제 캡처된 요청을 사용하여 각 엔드포인트를 스캔하므로 실제 파라미터, 쿠키, 인증된 세션으로 테스트가 실행됩니다. 발견 사항은 이를 트리거한 플로우에 연결된 finding 노트로 저장되어, 여러분과 에이전트가 수동 테스트에 집중하는 동안 추가적인 커버리지를 제공합니다.

사용자 정의 프로토콜 지원

HTTP와 WebSocket 외에도, sectool은 사이드카 어댑터 모델을 통해 사용자 정의 및 바이너리 프로토콜(일반적으로 요청/응답)을 지원합니다. 사이드카 API를 사용하여 연결하고 통신하는 어댑터를 작성하세요. 사이드카 트래픽은 동일한 통합 플로우 타임라인에 들어가므로 flow_get, diff_flow, replay_send 및 기타 도구가 수정 없이 작동합니다. 어댑터는 JSON-RPC 2.0 API를 통해 어떤 언어로든 작성할 수 있으며, 등록, 규칙 캐싱, 플로우 방출을 처리하는 SDK 클라이언트를 사용하여 Go로도 작성할 수 있습니다. 사이드카 SDK 및 프로토콜에서 둘 다 문서화되어 있습니다.

카테고리