Skip to main content

Cyberstrike is now open source! AI-powered penetration testing for security professionals. Star on GitHub

Bolt

Bolt는 보안 도구를 제공하는 컨테이너화된 MCP 서버입니다. Docker 컨테이너(Ubuntu 24.04)에서 실행되며 각 도구를 직접 노출합니다 — 메타 도구도, 동적 로딩도 없이, 필요한 도구를 바로 호출하면 됩니다.

Bolt를 사용하는 이유

기능Bolt 없이Bolt 사용 시
도구 설치각 도구 수동 설치사전 설치됨
플랫폼 지원대부분의 도구가 Linux 전용Docker가 있는 모든 플랫폼
격리도구가 시스템에서 실행컨테이너에서 샌드박스
업데이트수동docker pull

포함된 내용

Bolt는 두 가지 방식으로 도구를 노출합니다:

  • 7개의 네이티브 플러그인 — subfinder, nmap, nuclei, httpx, ffuf, run-command, wordlist
  • ~26개의 집계된 stdio MCP 서버 — dnsx, amass, katana, sqlmap, wpscan, gobuster, masscan, hydra, hashcat, john, impacket 등

각각 직접 호출 가능한 도구이며, 에이전트가 한 턴으로 호출합니다.

빠른 시작

1. Bolt 컨테이너 시작

Terminal window
docker run -d \
--name bolt \
--restart unless-stopped \
-p 3001:3001 \
-v bolt-data:/data \
-e MCP_ADMIN_TOKEN=$(openssl rand -hex 32) \
--cap-add NET_RAW \
--cap-add NET_ADMIN \
ghcr.io/cyberstrikeus/bolt:latest
docker logs bolt | grep -i token

2. Cyberstrike와 페어링

TUI에서 /bolt를 실행하고, a를 눌러 추가하고, URL http://localhost:3001을 입력하고, 관리자 토큰을 제공합니다.

3. 도구 사용

작업을 직접 입력합니다 — 에이전트가 자동으로 Bolt 도구를 호출합니다:

> Run nmap against 192.168.1.1 with service detection
> Use subfinder to enumerate subdomains of example.com
> Scan https://target.com with nuclei

구성

Bolt 서버는 bolt 키 아래에 구성됩니다 — mcp 아래가 아닙니다:

~/.config/cyberstrike/cyberstrike.json
{
"bolt": {
"local": {
"url": "http://localhost:3001",
"enabled": true,
"timeout": 30000
}
}
}

Caution

Bolt는 mcp 항목이 아닙니다. 인증은 Ed25519 페어링으로 처리되며, 관리자 토큰은 페어링 단계에서만 사용됩니다.

인증

Bolt는 일회성 페어링으로 부트스트랩되는 Ed25519 요청 서명을 사용합니다:

  1. 관리자 토큰으로 POST /pair → 페어링 코드
  2. Cyberstrike가 Ed25519 키 쌍 생성
  3. 코드 + 클라이언트 공개 키로 POST /pair/exchange → 서버 공개 키 + 클라이언트 ID
  4. 이후 모든 요청은 클라이언트의 개인 키로 서명됨

관리자 토큰은 1단계에서만 사용되며 구성에 저장되지 않습니다.

TUI 관리

  • /bolt — Bolt 서버 관리 (추가/페어링, 토글, 제거)
  • /mcps — 일반 MCP 서버 관리

사용 예시

> Use bolt to scan 192.168.1.0/24 for open ports and services # nmap
> Find all subdomains of example.com # subfinder
> Scan https://target.com with nuclei # nuclei
> Fuzz directories on https://target.com # ffuf
> Run "dig +short example.com" # run-command

문제 해결

  • 연결 거부 — 컨테이너가 실행 중인지 확인(docker ps)하고 curl http://localhost:3001/health이 응답하는지 확인합니다.
  • 재페어링 필요 — Bolt URL이 변경된 경우 /bolt를 통해 다시 페어링합니다.
  • 도구 사용 불가 — /bolt에서 서버가 연결되어 있는지 확인하고 직접 API 모델을 사용합니다.

Danger

Bolt 도구는 승인된 대상에만 사용하세요. 무단 침투 테스트는 불법입니다.