Chrome 확장 프로그램
CyberStrike Chrome 확장 프로그램은 브라우저에서 HTTP 트래픽을 캡처하여 자동화된 보안 테스트를 위해 CyberStrike API로 전달합니다.
확장 프로그램을 사용해야 할 때
/hackbrowser를 실행하면 CyberStrike는 확장 프로그램이 이미 내장된 전용 Chromium 브라우저를 실행합니다. 이 자동화된 브라우저는 크롤링, 트래픽 캡처, AI 기반 내비게이션을 기본으로 처리합니다. 이 워크플로우에서는 별도로 설치할 필요가 없습니다.
독립형 Chrome 확장 프로그램은 다른 용도를 위한 것입니다: 자신의 브라우저 사용. 북마크, 저장된 비밀번호, 기존 확장 프로그램, 로그인된 세션이 있는 일상적인 Chrome에서 트래픽을 캡처하려면 설치하세요. 다음과 같은 경우에 유용합니다:
- 대상 애플리케이션이 이미 갖추고 있는 특정 브라우저 구성을 필요로 하는 경우
- 실제 인증된 세션과 쿠키로 테스트해야 하는 경우
- CyberStrike가 백그라운드에서 모든 요청을 분석하는 동안 수동으로 브라우징하고 싶은 경우
- 애플리케이션이 자신의 브라우저에서 수행하기 더 쉬운 SSO, MFA 또는 기타 인증 흐름을 사용하는 경우
두 경로 모두 동일한 테스트 파이프라인에 공급되며 단일 세션 내에서 혼합하여 사용할 수 있습니다.
설치
확장 프로그램 소스 코드는 CyberStrike 저장소의 packages/hackbrowser/extension/에 포함되어 있습니다.
- 저장소 클론:
git clone https://github.com/CyberStrikeus/CyberStrike.git- Chrome을 열고
chrome://extensions로 이동 - 오른쪽 상단에서 개발자 모드 활성화
- 압축해제된 확장 프로그램을 로드합니다 클릭
- 클론한 저장소 내의
packages/hackbrowser/extension/디렉토리 선택
로드되면 Chrome 도구 모음에 확장 프로그램 아이콘이 나타납니다.
Caution
확장 프로그램 팝업을 열기 전에 CyberStrike를 시작하세요. 확장 프로그램은 시작 시 CyberStrike API에 연결됩니다.
구성
도구 모음 아이콘을 클릭하여 확장 프로그램 팝업을 엽니다.
서버 URL
확장 프로그램은 다음 주소의 CyberStrike에 연결합니다:
http://127.0.0.1:4096다른 주소나 포트에서 CyberStrike를 실행 중이면 Server URL 필드에서 변경하세요. 원격 접속을 위해 Cloudflare 터널을 사용하는 경우 여기에 터널 URL을 입력하세요.
범위
Scope 필드에 대상 도메인을 입력합니다:
shop.example.com호스트네임이 이 범위와 일치하는 요청만 캡처됩니다. 다른 도메인으로의 요청은 무시됩니다.
서브도메인 와일드카드가 지원됩니다:
*.example.com세션
드롭다운에서 기존 세션을 선택하거나 새 세션을 만듭니다. 모든 캡처된 요청과 발견된 컨텍스트는 활성 세션 내에 저장됩니다.
캡처 시작 및 중지
Start를 클릭하면 트래픽 인터셉트가 시작됩니다. 확장 프로그램이 일치하는 요청을 캡처하면 요청 카운터가 증가합니다.
Stop을 클릭하면 캡처가 일시 중지됩니다. 세션은 활성 상태를 유지하며 CyberStrike는 대기열에 있는 요청을 계속 처리합니다.
자격 증명 관리
자격 증명은 인증된 사용자 ID를 나타냅니다. 확장 프로그램은 Chrome 프로필별로 인증 헤더를 추적하고 캡처된 각 요청을 적절한 자격 증명에 연결합니다.
자격 증명이 중요한 이유
CyberStrike는 자격 증명을 사용하여 교차 사용자 취약점을 테스트합니다:
- IDOR — 자격 증명 A가 자격 증명 B가 소유한 리소스에 접근할 수 있는가?
- 인가 우회 — 낮은 권한의 자격 증명이 높은 권한이 필요한 엔드포인트에 접근할 수 있는가?
- 대량 할당 — 일반 사용자가 관리자 전용 필드를 주입할 수 있는가?
등록하는 자격 증명(관리자, 일반 사용자, 게스트 등)이 많을수록 교차 사용자 테스트 범위가 넓어집니다.
Chrome 프로필
Chrome 프로필은 브라우저 세션을 격리하여 여러 사용자로 동시에 로그인할 수 있게 합니다. 각 프로필은 자체 쿠키와 로컬 스토리지를 유지합니다.
설정:
- Chrome 오른쪽 상단의 프로필 아이콘 클릭
- 추가를 클릭하여 사용자 역할별 새 프로필 생성:
AdminRegular UserGuest
- 각 프로필에서 대상 애플리케이션을 열고 해당 계정으로 로그인
- CyberStrike 팝업에서 각 프로필에 대한 자격 증명 추가 (아래 참조)
자격 증명 추가
팝업에서:
- Add Credential 클릭
- 설명적인 레이블 입력 — 예:
admin-user또는regular-user - 해당 계정에 연결된 Chrome 프로필 선택
- Save 클릭
자격 증명이 CyberStrike API에 등록됩니다. 이 시점부터 해당 프로필에서 캡처된 요청은 자동으로 자격 증명 ID로 태그됩니다.
자동 헤더 동기화
확장 프로그램이 프로필에서 인증 헤더 변경을 감지하면 — 예를 들어 토큰 갱신 후 — 업데이트된 헤더를 자격 증명에 자동으로 동기화합니다. 토큰 로테이션 후 자격 증명을 수동으로 업데이트할 필요가 없습니다.
추적되는 인증 헤더
확장 프로그램은 자격 증명 추적을 위해 다음 헤더를 모니터링합니다:
| 헤더 | 설명 |
|---|---|
Authorization | Bearer 토큰, Basic 인증 |
Cookie | 세션 쿠키 |
X-Auth-Token | 커스텀 인증 토큰 |
X-API-Key | API 키 |
X-Access-Token | OAuth 액세스 토큰 |
X-Session-Token | 세션 토큰 |
X-CSRF-Token | CSRF 토큰 |
요청 필터링
확장 프로그램은 노이즈를 줄이기 위해 정적 에셋을 자동으로 건너뜁니다:
| 카테고리 | 확장자 |
|---|---|
| 이미지 | .png .jpg .jpeg .gif .svg .ico .webp |
| 스타일시트 및 스크립트 | .css .js .mjs |
| 폰트 | .woff .woff2 .ttf .eot .otf |
| 미디어 | .mp4 .mp3 .avi .mov .webm |
| 아카이브 및 문서 | .pdf .zip .gz .br |
| 소스 맵 | .map |
애플리케이션 수준 요청(API 호출, 폼 제출, 페이지 내비게이션)만 전달됩니다.
API에 전송되는 내용
캡처된 각 요청에 대해 확장 프로그램은 POST /session/ingest에 페이로드를 전송합니다:
{ "text": "POST /api/orders HTTP/1.1\r\nHost: shop.example.com\r\nAuthorization: Bearer eyJ...\r\nContent-Type: application/json\r\n\r\n{\"item_id\": 42, \"qty\": 1}", "sessionID": "session-abc123", "credential_id": "web_credential-xyz789", "response": { "status": 201, "headers": { "content-type": "application/json" }, "body": "{\"order_id\": 573, \"total\": 29.99, \"status\": \"pending\"}" }}text 필드에는 전체 원시 HTTP 요청이 포함됩니다. 응답 본문은 확장 프로그램에서 500KB로 제한되며, API에서 분석 전에 100KB로 추가 축소합니다.
중복 감지
CyberStrike는 서버 측에서 요청을 중복 제거합니다. 동일한 HTTP 메서드, 정규화된 경로, 본문 구조, 쿼리 매개변수 키를 가진 이전에 처리된 요청과 동일한 경우 건너뜁니다. 이는 동일한 엔드포인트에 대한 중복 테스트를 방지합니다.
컨텍스트 패널
팝업은 모든 처리된 요청에서 CyberStrike가 축적한 컨텍스트를 표시합니다:
| 패널 | 내용 |
|---|---|
| Credentials | 모든 등록된 자격 증명과 연결된 역할 |
| Roles | 분석 중 발견된 사용자 역할 |
| Objects | 데이터 엔티티 (User, Order, Product) 및 필드 |
| Functions | CRUD 동작 타입을 포함한 엔드포인트-함수 매핑 |
이 패널은 읽기 전용입니다. CyberStrike가 더 많은 요청을 처리할수록 점진적으로 채워집니다.
관련 문서
- HackBrowser - 자율 AI 크롤러 — 자동화된 대안