Skip to main content

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

Web

CyberStrike는 브라우저에서 웹 애플리케이션으로 실행할 수 있으며, 터미널 없이 전체 AI 기반 보안 평가 경험을 제공합니다.

SCREENSHOT: web-ui-overview.png

세션 사이드바, 채팅 패널, 파일 리뷰가 있는 웹 인터페이스

시작하기

웹 인터페이스를 시작합니다:

Terminal window
cyberstrike web

127.0.0.1에서 로컬 서버를 시작하고 (기본 포트 4096) 기본 브라우저에서 CyberStrike를 엽니다.

Caution

보안: CYBERSTRIKE_SERVER_PASSWORD가 설정되지 않으면 서버가 보안되지 않습니다. 로컬 사용에는 문제없지만 네트워크 접근 시 반드시 설정해야 합니다.

Info

Windows: 적절한 파일 시스템 및 터미널 통합을 위해 PowerShell 대신 WSL에서 이 명령을 실행하세요.

구성

포트

Terminal window
cyberstrike web --port 4096

기본적으로 시스템이 사용 가능한 포트를 자동으로 선택합니다.

호스트네임

Terminal window
# localhost만 (기본)
cyberstrike web --hostname 127.0.0.1
# 네트워크 전체에서 접근 가능
cyberstrike web --hostname 0.0.0.0

mDNS 검색

로컬 네트워크 검색 가능성을 활성화합니다. 자동으로 호스트네임을 0.0.0.0으로 설정합니다.

Terminal window
cyberstrike web --mdns

커스텀 도메인:

Terminal window
cyberstrike web --mdns --mdns-domain myproject.local

CORS

특정 도메인에서의 교차 출처 요청을 허용합니다:

Terminal window
cyberstrike web --cors https://example.com

인증

Terminal window
CYBERSTRIKE_SERVER_PASSWORD=secret cyberstrike web

기본 사용자 이름은 cyberstrike이며, CYBERSTRIKE_SERVER_USERNAME으로 변경할 수 있습니다.

VIDEO: web-launch-demo.mp4

cyberstrike web을 실행하고 라이브 세션으로 브라우저가 자동 열리는 모습 (~12초)

기능

웹 인터페이스에는 다음이 포함됩니다:

  • 세션 관리 — 세션 생성, 전환, 보관, 삭제
  • 사이드 패널 탭 — MCP, Bolt, 취약점, 웹 컨텍스트, Todo 추적
  • 파일 브라우저 — diff 하이라이팅과 함께 프로젝트 파일 보기 및 탐색
  • 리뷰 패널 — AI 생성 코드 변경 사항을 수락 전 검토
  • 터미널 — 브라우저 내 통합 터미널 탭
  • 실시간 업데이트 — 라이브 에이전트 출력을 위한 SSE 스트리밍
  • 업데이트 알림 — 새 CyberStrike 릴리스 자동 폴링

SCREENSHOT: web-side-panel-tabs.png

MCP, Bolt, Vulns, Web Context, Todo 탭이 있는 사이드 패널

웹 컨텍스트 패널

Chrome Capture 확장과 함께 사용하면 사이드 패널의 Web 탭에 다음이 표시됩니다:

  • Endpoints — 메서드와 경로가 있는 캡처된 HTTP 요청
  • Roles — 감지된 사용자 역할 및 권한 수준
  • Credentials — 인증 토큰 및 세션 식별자
  • Objects — API 응답에서 발견된 데이터 객체
  • Functions — 트래픽 패턴에서 매핑된 CRUD 작업

SCREENSHOT: web-context-panel.png

Endpoints, Roles, Credentials, Objects, Functions 섹션이 있는 Web Context 패널

터미널 연결

웹 서버와 TUI를 동시에 실행하며 동일한 세션을 공유합니다:

Terminal window
# 터미널 1: 웹 서버 시작
cyberstrike web --port 4096
# 터미널 2: 같은 서버에 TUI 연결
cyberstrike attach http://localhost:4096

두 인터페이스 모두 동일한 세션, 메시지, 에이전트 활동을 실시간으로 봅니다.

원격 접근

CyberStrike는 안전한 원격 접근을 지원하여 한 머신에서 서버를 실행하고 어디서든 연결할 수 있습니다. 다음에 유용합니다:

  • 강력한 워크스테이션에서 평가를 실행하면서 노트북에서 제어
  • 공유 서버를 통한 팀 협업
  • 로컬 설치 없이 app.cyberstrike.io에서 CyberStrike 접근
  • GPU 서버에서 로컬 LLM (Ollama, vLLM) 사용하면서 가벼운 머신에서 작업

Cloudflare Tunnel (권장)

Cloudflare Tunnel은 포트를 노출하지 않고 CyberStrike 서버와 인터넷 사이에 안전하고 암호화된 연결을 만듭니다.

빠른 터널

시작하는 가장 빠른 방법 — Cloudflare 계정이 필요 없습니다:

Terminal window
# 터미널 1: 비밀번호와 함께 CyberStrike 시작
CYBERSTRIKE_SERVER_PASSWORD=your-secret cyberstrike web --port 4096
# 터미널 2: 빠른 터널 생성
cloudflared tunnel --url http://localhost:4096

cloudflared가 https://random-words.trycloudflare.com 같은 공개 URL을 출력합니다. 이 URL과 자격 증명을 공유하여 모든 브라우저에서 CyberStrike에 접근합니다.

Caution

비밀번호 필수. CyberStrike는 CYBERSTRIKE_SERVER_PASSWORD 없이 서버 모드로 시작하는 것을 거부합니다. 이는 설계에 의해 강제됩니다 — 서버는 비밀번호 없이 실행되지 않습니다.

커스텀 도메인이 있는 명명된 터널

지속적인 접근을 위해 도메인에 연결된 명명된 터널을 만듭니다:

Terminal window
# 터미널 1: 비밀번호와 함께 CyberStrike 시작
CYBERSTRIKE_SERVER_PASSWORD=your-secret cyberstrike web --port 4096
# 터미널 2: 일회성 설정
cloudflared tunnel login
cloudflared tunnel create cyberstrike
cloudflared tunnel route dns cyberstrike pentest.your-domain.com
# 터널 실행
cloudflared tunnel run --url http://localhost:4096 cyberstrike

Caution

pentest.your-domain.com을 교체하세요 — Cloudflare에 추가한 도메인의 서브도메인으로 교체합니다. 예: pentest.example.com → pentest.mydomain.com. Cloudflare가 관리하지 않는 도메인을 사용하면 DNS 해석 실패가 발생합니다.

Info

새 도메인? 최근 Cloudflare에 도메인을 추가한 경우, 레지스트라에 따라 네임서버 전파에 1-24시간이 걸릴 수 있습니다. 전파가 완료될 때까지 DNS 라우트가 해석되지 않습니다. Cloudflare 대시보드의 Overview에서 상태를 확인하세요.

이렇게 하면 재시작해도 유지되는 https://pentest.your-domain.com의 안정적인 URL을 얻습니다.

설정이 작동하는지 확인하려면:

Terminal window
# 터널 연결 상태 확인
cloudflared tunnel info cyberstrike
# DNS 해석 확인
dig pentest.your-domain.com CNAME

Info

cloudflared 설치: brew install cloudflared (macOS), apt install cloudflared (Debian/Ubuntu), 또는 Cloudflare 릴리스에서 다운로드.

터널과 인증의 작동 방식

CyberStrike의 인증 미들웨어는 터널을 인식합니다. cloudflared가 127.0.0.1에서 연결하더라도 서버는 프록시 헤더를 감지하고 인증을 강제합니다:

  1. cloudflared가 인터넷에서 localhost:4096으로 요청을 전달합니다
  2. 모든 요청에 CF-Connecting-IP와 X-Forwarded-For 헤더를 추가합니다
  3. CyberStrike가 이 헤더를 감지하고 요청을 원격으로 처리합니다
  4. HTTP Basic Auth가 강제됩니다 — 웹 UI가 사용자 이름과 비밀번호를 요청합니다
  5. 직접적인 로컬 요청 (프록시 헤더 없이)은 편의상 인증을 우회합니다

이는 로컬 cyberstrike attach 연결은 비밀번호 없이 작동하지만 모든 터널 트래픽은 자격 증명이 필요하다는 의미입니다.

VIDEO: remote-tunnel-demo.mp4

CyberStrike를 시작하고 CF 터널을 만들어 app.cyberstrike.io에서 연결하는 모습 (~20초)

app.cyberstrike.io에서 연결

app.cyberstrike.io는 CyberStrike의 호스팅된 웹 UI입니다. 웹 인터페이스를 로컬에서 실행하는 대신 모든 원격 CyberStrike 서버에 연결하는 데 사용할 수 있습니다.

  1. 브라우저에서 app.cyberstrike.io를 엽니다
  2. 서버 선택기 (좌측 상단)를 클릭합니다
  3. 터널 URL을 입력합니다 (예: https://pentest.example.com)
  4. 사용자 이름 (기본: cyberstrike)과 비밀번호를 입력합니다
  5. 녹색 상태 표시기가 연결을 확인합니다

연결되면 전체 CyberStrike 경험을 얻습니다 — 세션, 에이전트, MCP 도구, 사이드 패널, 실시간 스트리밍 — 모두 터널을 통해.

Info

로컬 AI 제공자: 서버에서 Ollama 또는 다른 로컬 LLM을 실행하는 경우, app.cyberstrike.io가 이를 투명하게 사용합니다. AI 추론은 서버 측에서 이루어지며 — 웹 UI는 표시와 입력만 처리합니다.

SCREENSHOT: remote-server-selector.png

원격 터널 URL, 자격 증명, 녹색 상태 확인이 있는 서버 선택기

셀프 호스팅 웹 UI

CyberStrike 웹 인터페이스의 자체 인스턴스를 빌드하고 배포한 다음 모든 CyberStrike 서버를 지정할 수 있습니다.

Terminal window
# 웹 UI 클론 및 빌드
git clone https://github.com/CyberStrikeus/CyberStrike.git
cd CyberStrike/packages/app
bun install && bun run build

dist/ 폴더를 모든 정적 호스팅 (Vercel, Netlify, Cloudflare Pages 등)에 배포합니다. 그런 다음 CyberStrike 서버에서 CORS를 구성하여 도메인을 허용합니다:

Terminal window
cyberstrike web --cors https://my-pentest-ui.example.com

또는 cyberstrike.json에서:

{
"server": {
"cors": ["https://my-pentest-ui.example.com"]
}
}

보안 아키텍처

CyberStrike는 원격 접근을 위해 여러 보안 계층을 구현합니다:

계층보호
TLS 암호화Cloudflare Tunnel이 모든 트래픽을 엔드투엔드 암호화합니다. 평문 데이터가 인터넷을 통해 전송되지 않습니다.
HTTP Basic Auth모든 원격 요청에 유효한 사용자 이름과 비밀번호가 필요합니다. 자격 증명은 Authorization 헤더를 통해 전송됩니다.
프록시 감지서버가 CF-Connecting-IP와 X-Forwarded-For 헤더를 검사합니다. 루프백에서의 프록시된 요청도 인증됩니다.
필수 비밀번호cyberstrike serve와 cyberstrike web은 CYBERSTRIKE_SERVER_PASSWORD 없이 시작을 거부합니다.
포트 노출 없음Cloudflare Tunnel은 인바운드 포트가 필요 없습니다. 서버는 Cloudflare 엣지로의 아웃바운드 연결만 합니다.
SPA 인증 흐름서버는 의도적으로 WWW-Authenticate 헤더를 생략하여 브라우저 인증 대화상자를 방지합니다. 웹 UI가 자체 로그인 폼을 통해 인증을 처리합니다.

Danger

터널이나 VPN 없이 CyberStrike를 인터넷에 직접 노출하지 마세요. 항상 Cloudflare Tunnel, TLS가 있는 리버스 프록시, 또는 사설 네트워크를 사용하세요. 항상 강력하고 고유한 비밀번호를 설정하세요.

설정 파일

모든 웹 옵션은 명령줄 플래그 대신 cyberstrike.json에서 설정할 수 있습니다:

{
"server": {
"port": 4096,
"hostname": "0.0.0.0",
"mdns": true,
"cors": ["https://example.com"]
}
}

명령줄 플래그가 설정 파일 설정을 덮어씁니다.