스크래핑(scraping) 및 자동화 에이전트가 봇 탐지 시스템에 막히는 문제를 해결하기 위해, 브라우저 지문(fingerprint)을 교정하는 오픈소스 크로미움(Chromium) 엔진 '포트리스(Fortress)'가 등장했습니다. 이 스텔스 크로미움 엔진은 단 한 줄의 코드 변경만으로 스크래퍼가 차단되지 않도록 돕습니다. 봇 탐지기는 브라우저 지문을 읽어 자동화 여부를 판단하는데, 포트리스는 크로미움의 C++ 코드 내부에서 이 지문을 수정하여 일반적인 크롬 설치본처럼 보이게 만듭니다.
포트리스는 캔버스(canvas), 웹GL(WebGL), 오디오, 폰트, 내비게이터(navigator) 등 봇 탐지기가 읽는 약 30가지 이상의 브라우저 표면 정보를 C++ 엔진 내부에서 직접 교정합니다. 기존의 자바스크립트(JavaScript) 기반 스텔스 패치와 달리, 페이지가 패치 레이어를 감지할 수 없도록 설계되었습니다. 이는 `toString()` 메서드가 오버라이드(override) 소스를 노출하거나, 아이프레임(iframe)이나 웹 워커(Web Worker)에서 동일한 기본 요소를 다시 가져올 때 탐지될 수 있는 문제를 원천적으로 차단합니다. 포트리스는 일반 브라우저 바이너리 형태로 제공되며, CDP(Chrome DevTools Protocol) 엔드포인트를 노출하여 플레이라이트, 퍼페티어 또는 다른 CDP 클라이언트와 연동할 수 있습니다. 덕분에 기존 자동화 코드를 변경할 필요 없이 브라우저만 교체하여 사용할 수 있습니다.
이러한 접근 방식은 스크래핑 및 웹 자동화 업계에 중요한 변화를 가져올 수 있습니다. 봇 탐지 기술이 고도화되면서 합법적인 데이터 수집조차 어려워지는 상황에서, 포트리스는 개발자들이 보다 효율적으로 작업을 수행할 수 있는 길을 열어줍니다. 클라우드플레어 턴스타일(Turnstile)과 같은 실시간 봇 탐지 시스템은 물론, 크립JS(CreepJS), 새니소프트(Sannysoft), 브라우저스캔(BrowserScan) 등 주요 탐지 도구들을 모두 통과하며 '인간'으로 인식되는 것이 입증되었습니다. 이는 데이터 분석, 시장 조사, 경쟁사 모니터링 등 다양한 분야에서 자동화 도구의 활용성을 크게 높일 것으로 기대됩니다.