승인된 웹 애플리케이션을 검사하기 위한 로컬 우선 연구용 브라우저이자 macOS 워크스페이스입니다.
v0.2.1 릴리스
Origin Trace Traffic이 이제 전체 너비의 DevTools 스타일 요청 테이블을 갖추었습니다. 경로와 호스트를 더 쉽게 읽을 수 있으며, 상태, 유형, 메서드, 타이밍 열이 분리되어 있습니다. 실시간 요청은 목록 하단을 따라가며, 위로 스크롤하면 현재 위치가 유지되고 새 요청으로 이동할 수 있는 기능이 제공됩니다. 요청을 선택하면 전체 URL이 표시되고 Copy URL 작업을 사용할 수 있습니다. v0.2.0의 세션 프라이버시 및 실행 개선 사항은 그대로 유지됩니다.
v0.2.1: 실시간 Traffic을 경로 및 호스트 계층 구조, 간결한 요청 메타데이터, 하단 따라가기 업데이트, 새 요청 이동, 전체 URL 검사 및 복사를 갖춘 읽기 쉬운 전체 너비 요청 테이블로 재설계했습니다.
v0.2.0: 세션별 메타데이터 또는 제한된 콘텐츠 캡처 제어, 명시적 Keychain 옵트인을 통한 프롬프트 없는 격리 프로필, 검증된 브라우저 준비 상태 및 재시도/재실행 흐름, 비공개 Brave 진단, 의미론적 디오브푸스케이션 벤치마크 코퍼스, 자동화된 개발자 도구 부트스트랩을 추가했습니다.
v0.1.10: Origin Trace가 오프라인 셸에서 새로 시작된 라이브 워크스페이스로 전환하는 동안 NSURLErrorDomain error -999가 표시될 수 있었던 실행 시점 WebKit 취소 경쟁 조건을 수정했습니다.
v0.1.9: 일반 앱 실행 시 브로커, 아티팩트 수신기, 디버거, 분석기, 루프백 UI, 계측된 커스텀 Brave 세션이 자동으로 시작되도록 했으며, 필요한 헬퍼를 패키징하고 명시적 시작 실패 보고와 소유 정리를 추가했습니다.
v0.1.8: Sources 내에 제한된 Rust/Oxc 디오브푸스케이션, 원본 바이트 출처, 중첩 보호, 프록시 및 커스텀 디코더 평가, 명시적 JSFuck 강제 변환 가정, 제한된 루프/스위치 디스패처 복구를 추가했습니다.
v0.1.7: 연구 인터페이스를 새로 고치고 고급 도구, 소스 검사, 요청 세부 정보, 핑거프린팅, 메모리, 실험을 재구성했습니다.
v0.1.6: 더 강력한 소스, 메모리, 요청 신호, 분석가 워크플로와 네이티브 애플리케이션 패키징 및 검증 업데이트를 추가했습니다.
v0.1.5: 네이티브 연구 워크플로와 macOS 배포를 확장했습니다.
v0.1.4: 네이티브 핑거프린트 프로브를 확장하고, 탭별 최신순 활동 및 실시간 탭 수, 옵트인 Canvas 이미지 캡처, 더 명확한 큐 갭 보고, 프로브 중지 또는 현재 세션의 이벤트 지우기 제어를 추가했습니다.
v0.1.3: 프로덕션 앱 번들에서 샘플 요청, 이벤트, Canvas 출력을 제거하여 모든 세션이 실제 캡처된 증거로 시작되도록 했습니다.
v0.1.2: Canvas 이미지 출력, 로컬 리플레이 미리보기, 캡처된 드로잉 함수, 핑거프린트 활동, 이벤트 세부 정보, 필터, 요청 상관 관계를 갖춘 Fingerprinting 워크스페이스를 추가했습니다.
기능
실시간 네트워크 트래픽: 읽기 쉬운 경로, 호스트, 메서드, 상태 코드, 타이밍이 포함된 전체 너비 테이블에서 요청을 검사하고, 하나를 선택하여 CDP를 통해 캡처된 전체 URL, 헤더, 요청 본문, 응답 본문을 확인합니다.
탭 및 도메인 구성: 브라우저 탭별로 트래픽을 분리한 다음, 탭을 특정 대상 도메인이나 리소스 유형으로 좁힙니다.
네이티브 브라우저 증거: Canvas, WebGL, Web Audio, 디바이스 및 레이아웃 API, Permissions, Storage, WebRTC, JavaScript 런타임 핑거프린팅 전반의 호출 및 속성 읽기를 기록하고, 커스텀 Brave 빌드의 요청 수명 주기 메타데이터도 기록합니다.
오리진 추적: 요청에 기여한 관찰된 이벤트, 스크립트, 프레임, 실행 컨텍스트, 캡처된 아티팩트를 통해 요청을 역추적합니다.
소스 검사 및 디버깅: 페이지 소스를 탐색하고, 중단점을 설정하고, JavaScript를 일시 중지하고 단계별로 실행하고, 스코프를 검사하고, 감시식을 평가하고, 라이브 콘솔을 사용합니다.
아티팩트 캡처: 해시와 출처가 포함된 네트워크 전달 및 런타임 생성 JavaScript와 WebAssembly의 제한된 복사본을 보관하고, 명시적으로 승인된 Canvas 이미지 출력도 보관합니다.
메모리 및 백트레이스 도구: 힙 스냅샷, 라이브 객체, 디코딩된 스택 프레임, VM 관련 발견 사항을 검사합니다.
연구 워크플로: 요청을 컬렉션에 저장하고, 격리된 요청을 리플레이하고, 통제된 실험을 실행하고, 로컬 분석가 노트를 유지합니다.
로컬 및 제한된 캡처: 증거는 머신에 남습니다. 민감한 요청 헤더는 마스킹되고, CDP 캡처에서 본문은 128 KiB로 제한되며, 네이티브 큐와 아티팩트 전송에는 명시적 제한이 있습니다.
네이티브 조용 모드: 요청 및 응답 콘텐츠가 필요하지 않을 때 DevTools를 연결하지 않고 네이티브 증거 캡처를 실행합니다.
컴파일된 앱은 Apple silicon Mac용입니다. 링크된 Brave Browser Development 프리뷰는 현재 프로브 지원보다 이전 버전입니다. 모든 네이티브 프로브를 사용하려면 이 릴리스의 소스에서 고정된 Brave 통합을 빌드하세요. 다운로드한 프리뷰로는 이를 시연할 수 없습니다. Origin Trace에는 번들된 샘플 증거가 없습니다. 애플리케이션은 임시 서명되어 있지만 Apple 공증을 받지 않았으므로, 첫 실행 시 앱을 Control-클릭하고 Open을 선택해야 할 수 있습니다. v0.2.1 GitHub 릴리스 태그는 서명되지 않았으며, 해당 머지 커밋은 GitHub에서 검증되었습니다.
컴파일된 Brave 앱을 다운로드하는 데 100+ GiB 소스 체크아웃은 필요하지 않습니다. 두 앱을 다운로드하고 추출하는 데 약 1 GiB를 허용하고, 브라우저 프로필과 캡처된 세션을 보관하려는 공간을 추가로 확보하세요.
기존 커스텀 Brave 빌드로 라이브 캡처 실행
저장소 루트에서:
root@kitploit:~
REB_CDP_NETWORK_CAPTURE=1 \
REB_BRAVE_BINARY="/path/to/Brave Browser Development.app/Contents/MacOS/Brave Browser Development" \
make live
Origin Trace와 커스텀 Brave 브라우저가 함께 열립니다. 해당 Brave 창에서 브라우징하고 Traffic 탭에서 요청을 선택합니다. Brave를 닫으면 세션이 종료됩니다. 캡처된 증거는 build/sessions/live/ 아래에 저장됩니다.
CDP 콘텐츠 캡처는 페이지 콘텐츠를 보관할 수 있으므로 명시적으로 활성화해야 합니다. authorization, cookie, proxy-authorization, set-cookie 헤더는 마스킹됩니다. 스트리밍, 캐시된, 내부 또는 이미 제거된 응답 본문은 사용할 수 없을 수 있습니다.
핑거프린트 작업 이름은 기본적으로 캡처됩니다. 이 세션에서 HTMLCanvasElement.toDataURL()이 반환한 정확한 이미지도 보관하려면 REB_CAPTURE_CANVAS_IMAGES=1을 추가하세요. Canvas 이미지 출력에는 페이지 콘텐츠가 포함될 수 있으므로 기본적으로 비활성화되어 있으며, 로컬 세션 저장소에만 보관되고 이미지당 2 MiB로 제한됩니다.
커스텀 Brave 브라우저를 처음으로 빌드
이 요구 사항은 소스에서 Brave를 컴파일할 때만 적용됩니다. 다운로드 가능한 컴파일된 Brave 앱을 사용할 때는 적용되지 않습니다.
소스 빌드 요구 사항:
전체 Xcode가 설치된 macOS;
Node.js 및 pnpm;
Python 3, C++20 컴파일러, zlib, Make;
최소 150 GiB 여유 공간, 200~250 GiB 권장.
고정된 체크아웃을 준비하고, 통합을 적용하고, 검증하고, Brave를 빌드합니다:
root@kitploit:~
./scripts/bootstrap-brave.sh --init
./scripts/sync-browser-integration.sh
make brave-doctor
make brave-probe-check
./scripts/brave-toolchain.sh build
첫 전체 빌드는 몇 시간이 걸릴 수 있습니다. 이후 빌드는 증분 방식이며 일반적으로 기존 체크아웃과 컴파일된 객체를 재사용합니다. 완료되면 이전 섹션의 명령으로 라이브 캡처를 시작하세요.
CDP 콘텐츠 캡처 없이 실행
라이브 DevTools 연결 없이 네이티브 메타데이터 및 아티팩트 캡처를 하려면:
root@kitploit:~
REB_NATIVE_QUIET_MODE=1 \
REB_BRAVE_BINARY="/path/to/Brave Browser Development.app/Contents/MacOS/Brave Browser Development" \
make live
네이티브 조용 모드에서는 소스, 중단점, 단계별 실행, 감시식, 콘솔, 전체 URL, 헤더, 본문을 사용할 수 없습니다.