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

fortress v150.0.7871.114

스크래퍼와 브라우저 에이전트가 차단되는 것을 방지하는 스텔스 Chromium 엔진, 코드 한 줄 변경만으로.

공유
Fortress

모든 것을 지배할 하나의 브라우저 엔진

스텔스 Chromium 엔진 · v3 (Chromium 153)

Chromium Docker pulls Discord
Copy for agent llms.txt MCP server npm tilion-mcp

Fortress는 코드 한 줄만 바꾸면 스크래퍼와 브라우저 에이전트가 차단당하지 않도록 막아주는 스텔스 Chromium 엔진입니다. 봇 탐지기는 브라우저 지문을 읽어 자동화를 식별하는데, Fortress는 Chromium의 C++ 내부에서 그 지문을 교정하므로 브라우저가 평범한 Chrome 설치본처럼 보입니다. 스크래퍼는 실행을 끝마치고, 에이전트는 보내진 페이지에 도달하며, CreepJS, Sannysoft, BrowserScan, 그리고 실시간 Cloudflare Turnstile 모두가 이를 사람으로 인식합니다. 기존 Playwright나 Puppeteer를 CDP를 통해 Fortress로 연결하기만 하면 코드의 다른 부분은 전혀 바뀌지 않습니다. v3에서는 매 실행이 서로 다른 일관된 머신이므로, 세션 플릿이 실제 사용자 무리처럼 보입니다.

헤드리스로, 데이터센터 IP에서, 프록시 없이, Fortress는 보호된 92개 페이지 중 86.4%를 처리했습니다. 차선의 스택(Camoufox)은 74.5%였습니다.

Blink · V8 · BoringSSL 트리 내 패치 · ANGLE / D3D11 기반 WebGL · JA3/JA4 일관 TLS · 매월 업스트림 리베이스 · 재현 가능하고, gauntlet으로 검증된 릴리스

81

단일 표면
C++ 패치

0%

CreepJS
헤드리스 / 스텔스

48/48

64개 클론 플릿에서
모두 구별됨

[native code]

모든
realm에서

Fortress clearing a live Cloudflare challenge, then passing sannysoft and BrowserScan

실제 창에서 실행된 Fortress 바이너리의 편집되지 않은 캡처: 실시간 Cloudflare 챌린지를 통과하고, bot.sannysoft.com을 모두 녹색으로 만들고, BrowserScan에서 “Normal”로 표시됩니다. tools/gauntlet.py로 재현할 수 있습니다.

네이티브 코드 동등성

스푸핑된 모든 getter는 그 자체로 C++ getter입니다: toString은 [native code]를 반환하며, 메인 프레임, iframe, Web Worker 전반에서 realm 불변입니다.

드롭인 CDP

:9222에서 nodriver 스타일의 원시 CDP를 사용하며, Runtime.enable 누출이 없습니다. Playwright, Puppeteer 또는 어떤 CDP 클라이언트든 그대로 유지하고, 브라우저만 교체하세요.

gauntlet 통과

CreepJS에서 0% 헤드리스; Sannysoft, BrowserScan, 실시간 Cloudflare Turnstile 모두 통과하며, 전부 순정 Chrome 설치본으로 인식됩니다.

IPC 페르소나 그래프

페르소나는 IPC를 통해 렌더러에 도달하여 프로세스 전역 설정이 됩니다: 명령줄 흔적 제로, 컨텍스트별 격리, 하나의 바이너리에서 수천 개의 일관된 아이덴티티. --uxr-* 스위치는 명시적 오버라이드로 남습니다.

플릿 재식별

on_restore는 스냅샷에서 전체 페르소나(canvas · audio · WebGL · GPU · screen · UA · TLS)를 재실행 없이 재키잉합니다. 64개 클론이 48/48 구별되어 나타납니다.

구조적으로 일관됨

실제 V8, Blink, BoringSSL이 엔진, user-agent, JA3/JA4 TLS 형태를 일치시킨 상태로 유지하며, WebGL / WebGPU는 페르소나 GPU와 파라미터 수준까지 일치합니다: 렌더러 문자열뿐 아니라 한계, 정밀도, 확장까지.


새로운 기능: v3 · 153.0.8010.36 · Fleet Engine

v3는 Fortress를 일관된 단일 페르소나에서 일관된 플릿 엔진으로 바꿉니다: patches/에 87개 커밋, Chromium 151/152에서 153으로의 리베이스, 그리고 아래 변경 사항들.

  • IPC 페르소나 그래프, 출시됨. 페르소나는 IPC를 통해 렌더러에 전달되어 프로세스 전역 설정이 됩니다: 명령줄 흔적 제로와 컨텍스트별 아이덴티티 격리로, 하나의 브라우저에서 여러 세션이나 계정이 단일 연결 가능한 아이덴티티로 붕괴되지 않습니다.
  • on_restore 플릿 재식별. 스냅샷 재개 시 전체 페르소나가 제자리에서 재키잉됩니다(RNG, canvas/audio, GPU/screen/UA, 네트워크 및 TLS 상태). 재실행 없이 이루어지며, 표면별 폐루프 ack로 확인됩니다. 64개 클론 플릿이 48/48 구별되어 나타나며, 500개 클론까지 스트레스 검증되었습니다.
  • 바이트 단위 정확한 canvas와 audio. Canvas 노이즈는 getImageData / toDataURL / toBlob 전반에서 멱등적이고 바이트 단위로 정확합니다(OffscreenCanvas 포함). 안티앨리어싱된 픽셀에만 에지 게이팅되며, 64비트 도메인 분리 시드와 fail-closed RNG를 사용합니다(시드가 0이거나 없으면 노이즈가 비활성화되어, 어떤 골든 상수도 누출될 수 없습니다). PBO readPixels를 포함한 WebGL/WebGL2 리드백도 동일한 에지 게이팅 경로를 통과합니다. Audio farble은 값 기반 키잉입니다: 동일한 입력은 동일한 출력을 내며, 페르소나마다 새롭지만 내부적으로는 안정적입니다.
  • 일관된 WebGL과 WebGPU. 둘 다 페르소나 GPU와 파라미터 수준에서 일치합니다: 한계, 정밀도, 확장, 그리고 navigator.gpu 어댑터 아이덴티티가 모두 실제 하드웨어 GPU와 일치하며, 소프트웨어 백엔드와는 결코 일치하지 않습니다. 실시간 검증됨.
  • 실제 폰트 기반. 실제 메트릭 클론과 페르소나별 메트릭을 갖춘 154개의 구별된 번들 폰트 패밀리; 열거는 페르소나로 게이팅되어 호스트 폰트가 결코 보이지 않습니다.
  • 모든 곳에서의 일관성. 약 30개의 특정 tell이 닫혔으며, 각각 스푸핑 대신 일관성 규칙을 갖습니다: @media가 화면과 DPR에 일치, color-gamut과 dynamic-range, jsHeapSizeLimit이 deviceMemory에 일치, 페르소나별 prefers-color-scheme(약 3분의 1이 다크), Windows 시스템 폰트, navigation 요청 경로의 Device-Memory 클라이언트 힌트, 페르소나별 WebAuthn isUVPAA(), macOS 제로 너비 오버레이 스크롤바, fail-closed WebRTC(베어 실행에서 실제 IP 누출 없음), pointer/hover/maxTouchPoints 고정, OS에 맞는 speechSynthesis 보이스, 그리고 일관된 Mac 페르소나(Apple 아키텍처, 코어 및 RAM SKU, 영구히 전원에 연결되지 않은 MacBook).
  • 기록된 사람의 마우스 움직임. 약 1만 개의 기록된 사람 경로(SapiMouse) 뱅크를 기반으로 하는 엔진 네이티브 궤적 엔진이 유기적 속도와 미세 지터로 커서를 움직이며, 원시 드라이버보다 약 16배 더 사람다운 모션 신호를 제공합니다(인간다움 격차 약 4.3 대 약 70). 속도 비례 getCoalescedEvents 배칭과 페르소나별 실시간 AudioContext 타이밍이 행동 시드를 완성합니다.
  • Widevine EME, 출시됨. 실제 Widevine CDM이 번들되어 활성화되므로, requestMediaKeySystemAccess('com.widevine.alpha')가 정품 Google Chrome에서와 정확히 동일하게 해결됩니다. 로드맵이 지적했던 DRM 격차가 닫혔습니다.
  • 더 많은 플랫폼에서 네이티브. Windows x64는 네이티브로 제공됩니다(.zip + tillion.cmd); Linux arm64, x86, armhf tarball이 순차 출시 중이며; macOS .app은 소스에서 빌드됩니다.```bash pip install -U tilion-fortress # or: docker run --rm -p 9222:9222 tilion/fortress:latest
**[전체 릴리스 노트](https://github.com/tiliondev/fortress/releases)**


## 목차

| | |
|---|---|
| **[무엇인가](#what-it-is)** · **[빠른 시작](#quick-start)** | 무엇인가, 설치, 첫 스크립트, 네이티브 빌드, AI 에이전트 설정 |
| **[매 세션마다 서로 다른 머신](#every-session-a-distinct-machine)** | 40회 연속 실행, 40개의 서로 다른 일관된 머신 |
| **[Fortress MCP](#the-fortress-mcp-stealth-browsing-as-agent-tools)** | AI 에이전트를 위한 29가지 스텔스 브라우저 도구 (베타) |
| **[페이지가 아닌 엔진을 패치하는 이유](#why-patch-the-engine-not-the-page)** | 자기 자신을 드러내는 JS 논제 + 네 가지 탐지 계층 |
| **[Fortress 비교](#how-fortress-compares)** | vs puppeteer-stealth · Camoufox · 안티디텍트 앱 · **v2에서 v3로** |
| **[증명: 라이브 탐지기 결과](#proof-live-detector-results)** | v3 라이브 결과, CreepJS / Sannysoft / BrowserScan / WebGL / WebGPU, 스크린샷 포함 |
| **[벤치마크: 92개 보호 사이트](#benchmark-92-protected-sites-eight-stacks)** | Fortress vs 7개 스택, 모두 헤드리스, 1,584개의 새 머신, 데이터센터 IP |
| **[페르소나 구성](#configure-the-persona)** | IPC 페르소나 그래프와 `--uxr-*` 핑거프린트 표면 |
| **[여러분의 스택과 호환](#works-with-your-stack)** | browser-use · Crawl4AI · Stagehand · LangChain |
| **[빌드 및 검증](#build--verify)** | 소스에서 빌드, 플랫폼, 출처 검증 |
| **[레퍼런스](#reference)** | 문제 해결 · FAQ · 로드맵 · 저장소 구조 |

---

## 무엇인가

Fortress는 엔진 내부에서 브라우저 핑거프린트를 스푸핑하는 Chromium 포크입니다. 봇 탐지기가 읽는 표면(canvas, WebGL, WebGPU, audio, fonts, navigator, Client-Hints, 그리고 약 40가지 이상)은 Chromium의 **C++**에서 수정되며, 페이지가 잡아낼 수 있는 JavaScript 패치 계층이 위에 존재하지 않습니다.

CDP 엔드포인트를 노출하는 일반 브라우저 바이너리로 제공됩니다. Playwright, Puppeteer 또는 모든 CDP 클라이언트를 여기에 연결하면 기존 자동화가 변경 없이 실행됩니다.

카테고리