
Cloudflare가 사람이 아니라 AI가 쓰라고 만든 브라우저 Kitesurf를 내놨습니다. 공식 블로그 발행일은 2026년 8월 6일이고, 지금은 무료 베타입니다. 이 글은 8월에 쓴 소개를 10월 9일 기준 공식 문서와 9월 28일 업데이트 글로 다시 맞춘 것입니다. 읽고 나면 "내 자동화에 이걸 써도 되는지"를 표 하나로 가릴 수 있습니다.
한 줄로 말하면: 화면을 안 그리는 브라우저
지금까지 AI가 웹을 다루려면 크롬 같은 브라우저를 그대로 띄웠습니다. 크롬은 사람이 보라고 만든 프로그램이라 탭, 테마, 확장 프로그램, 화면에 예쁘게 그리는 기능이 모두 들어 있습니다. AI가 시키는 일은 대개 "이 페이지를 캡처해 줘", "이 페이지의 글자를 뽑아 줘" 정도입니다.
Kitesurf는 이 일에 맞춰 덜어낸 브라우저입니다. 공식 문서도 탭, 테마, 확장 프로그램이 없고 화면이 픽셀 단위로 똑같지는 않다고 적어 두었습니다. 대신 Cloudflare Workers 위에서 필요할 때만 켜졌다 꺼지는 방식으로 돕니다. 내 컴퓨터에 설치하는 프로그램이 아니라 Cloudflare 서버에서 쓰는 서비스라는 점이 첫 번째 확인 사항입니다.

공식 발표에서 확인한 숫자
Cloudflare는 14개 주소를 다섯 번씩 돌려 중간값을 낸 비교표를 공개했습니다. 크롬은 미리 띄워 둔 상태(warm pool)로 쟀다고 밝혔습니다.
| 측정 항목 | Kitesurf | 크롬 | 차이 |
|---|---|---|---|
| CPU 시간, 화면 캡처 | 380ms | 1,173ms | 약 3.1배 적음 |
| CPU 시간, HTML 추출 | 229ms | 877ms | 약 3.8배 적음 |
| 메모리, 화면 캡처 | 57.8MiB | 271.0MiB | 약 4.7배 적음 |
| 메모리, HTML 추출 | 39.4MiB | 273.7MiB | 약 7.0배 적음 |
| 걸린 시간, 화면 캡처 | 1,148ms | 637ms | 약 1.8배 느림 |
| 걸린 시간, HTML 추출 | 820ms | 472ms | 약 1.7배 느림 |
표에서 가장 먼저 볼 줄은 마지막 두 줄입니다. Cloudflare 스스로 시계로 재면 크롬이 이긴다고 적었습니다. Kitesurf가 이기는 것은 "같은 일을 하는 데 쓰는 CPU와 메모리"입니다. 빠른 브라우저가 아니라 가벼운 브라우저입니다.
이 숫자를 내 상황에 대 보는 계산
아래는 공식 중간값을 그대로 곱한 단순 계산입니다. 하루에 화면 캡처 1,000장을 찍는다고 가정한 예시이고, 실제 측정값이 아닙니다.
| 하루 1,000장 기준 | Kitesurf | 크롬 |
|---|---|---|
| CPU 시간 합계 | 380초(약 6분 20초) | 1,173초(약 19분 33초) |
| 걸린 시간 합계(순서대로 찍을 때) | 1,148초(약 19분 8초) | 637초(약 10분 37초) |
CPU 합계는 3분의 1로 줄지만, 한 장씩 차례로 찍으면 기다리는 시간은 거의 두 배입니다. 그래서 "여러 장을 한꺼번에 병렬로 돌려도 되는 작업"이면 이득이고, "한 장 찍고 결과를 보고 다음을 정해야 하는 작업"이면 오히려 답답할 수 있습니다. 이 계산은 공식 표의 중간값을 곱한 것이어서, 내 사이트가 14개 시험 주소와 비슷하게 가볍다는 보장은 없습니다.
할 수 없는 일: 공식 문서의 한계 목록
공식 블로그와 문서가 공통으로 적은, 크롬을 그대로 쓰라고 권하는 경우는 네 가지입니다.
- 동영상 재생이 필요할 때
- WebGL 그래픽을 그려야 할 때
- 실제 브라우저와 같은 TLS 지문이 필요한 봇 확인 화면을 통과해야 할 때
- 로그인 상태를 길게 유지해야 하는 긴 인증 세션이 필요할 때
공식 블로그는 여기에 더해 Kitesurf가 크롬 원격 제어 규격(CDP)의 일부만 구현했고, 화면 캡처와 PDF의 정확도는 계속 다듬는 중이라고 밝혔습니다. 확인된 사이트로는 TodoMVC, 위키백과, 해커뉴스, Cloudflare 블로그, Cloudflare 대시보드의 상당 부분이 적혀 있습니다. 즉 "내가 쓰는 사이트가 잘 그려지는가"는 직접 돌려 봐야 아는 부분입니다.
보안: 페이지는 믿을 수 없는 입력으로 다룬다
AI가 웹을 읽을 때의 대표적 위험이 프롬프트 인젝션입니다. 페이지 안에 "지금부터 다르게 행동하라" 같은 문장이 숨어 있으면 AI가 따라갈 수 있습니다. Cloudflare는 프롬프트 인젝션과 도구 안전을 위협 모델의 최우선 과제로 꼽았습니다.
공식 블로그가 밝힌 구조는 이렇습니다. 페이지를 불러올 때마다 믿을 수 없는 입력으로 취급하고, 세션은 매번 새로 시작합니다. 모든 네트워크 요청은 하나의 SandboxOutbound 워커를 거치며, 여기서 CORS 확인, 응답 걸러내기, 페이지별 쿠키 분리가 이뤄지고 정책에 어긋난 요청은 403을 받습니다. 다만 이것은 브라우저가 만들어지는 방식에 대한 설명이지, 페이지 속 문장이 AI의 판단을 바꾸지 못한다는 보증은 아닙니다. 읽은 내용으로 결제·삭제·전송을 하는 자동화라면 마지막 확인은 사람이 하는 쪽이 안전합니다.
이 방침은 보안 단체의 일반 권고와도 같은 방향입니다. OWASP의 생성형 AI 보안 프로젝트(LLM 위험 목록 2025판)는 AI가 웹 페이지나 파일 같은 외부 내용을 읽을 때 그 안의 데이터가 모델의 동작을 바꾸는 경우를 간접 프롬프트 인젝션으로 구분합니다. 대응책으로는 최소 권한만 주기, 위험도가 높은 작업에 사람 승인 요구하기, 믿을 수 없는 외부 내용을 분리해 표시하기 등을 듭니다. Kitesurf가 쓰는 세션 분리나 요청 걸러내기와는 별개로, AI에게 주는 권한 자체를 줄이는 일은 쓰는 사람의 몫입니다.
8월 이후 달라진 점 (9월 28일 업데이트)
- WebMCP 지원: 사이트가 AI에게 쓸 수 있는 기능 목록을 직접 알려 주는 방식입니다. 시험용 놀이터에서 Cloudflare Radar 페이지로 확인해 볼 수 있다고 안내했습니다.
- 웹 표준 시험: 업데이트 글은 730,000건 이상의 하위 시험을 통과한다고 썼고, 8월 발표 때보다 약 50만 건 늘었다고 했습니다.
- 터미널 버전: Homebrew로 설치해 주소만 주면 터미널에서 페이지를 보여 줍니다. 화면 표시는 Kitty 규격을 지원하는 터미널이 필요하고, 아니면 글자만 보이는 모드로 바뀝니다.
- 공개 예정: 소스 공개는 "곧"이라고만 했고 날짜는 없습니다.
한 가지 헷갈릴 수 있는 점이 있습니다. 8월 글은 "21만 5천 건 이상", 9월 28일 글은 "73만 건 이상", 10월 6일 갱신 표기가 있는 문서는 "23만 5천 건 이상 하위 시험 통과"라고 적었습니다. 세는 단위와 시점이 글마다 다른 것으로 보이는데, 공식 글에는 이를 맞춰 설명한 대목이 없었습니다. 이 글은 숫자를 하나로 합치지 않고 각 글의 표기를 그대로 옮겼습니다. 어느 쪽이든 이 수치가 내가 쓰는 사이트가 잘 돌아간다는 뜻은 아닙니다.
써 보는 방법: 어디를 바꾸면 되나
공식 문서 기준으로 기존 Browser Run 설정에서 바꿀 곳은 한 군데입니다.
| 쓰는 방식 | 바꾸는 곳 |
|---|---|
| REST 호출(Quick Actions) | 주소 끝에 browser=kitesurf를 붙입니다. |
| Puppeteer·Playwright 같은 원격 제어 | 접속 주소(WebSocket)에 browser=kitesurf를 붙입니다. |
| Workers 코드 | quickAction() 옵션에 browser: "kitesurf"를 넣습니다. 다른 엔진 이름은 오류가 납니다. |
| MCP 연결 | 같은 접속 주소로 chrome-devtools-mcp를 연결합니다. |
| 코드 없이 시험 | 공식 문서가 안내하는 놀이터에서 DevTools로 확인합니다. |
값을 안 넣으면 기본값인 크롬으로 돕니다. 그래서 일부 작업만 Kitesurf로 돌리고 안 되면 크롬으로 돌아가는 단계적 도입이 쉽습니다.
내 작업은 어느 쪽인가: 판단표
| 작업 | 추천 | 이유 |
|---|---|---|
| 페이지 글자·링크 뽑기(한 번에 여러 주소) | 먼저 Kitesurf로 시험 | CPU·메모리 이득이 가장 크게 나온 작업(HTML 추출)입니다. |
| 공개 페이지 화면 캡처 | 시험 후 결정 | 캡처 정확도는 아직 개선 중이라고 밝혔습니다. 몇 장은 눈으로 대조하세요. |
| 로그인해서 여러 단계 이어가기 | 크롬 유지 | 긴 인증 세션은 한계로 적혀 있습니다. |
| 동영상·그래픽이 핵심인 페이지 | 크롬 유지 | 동영상 재생과 WebGL이 한계 목록에 있습니다. |
| 봇 확인 화면이 있는 사이트 | 크롬 유지 | TLS 지문을 맞추는 핸드셰이크는 한계로 적혀 있습니다. |
| 이미 크롬으로 잘 돌아가는 소규모 자동화 | 그대로 둠 | 베타이고 한도가 있어 당장 옮길 이유가 약합니다. |
시작 전에 확인할 세 가지
- 한도와 비용: 무료는 베타 기간이고 계정별 한도가 있습니다. 베타 이후 가격은 공식 글에 없습니다.
- 데이터가 가는 곳: 내 컴퓨터가 아니라 Cloudflare 서버에서 페이지를 엽니다. 회사 내부 주소나 개인 정보가 들어간 페이지는 넣기 전에 정책을 확인하세요.
- 결과 대조: 같은 주소 5~10개를 크롬과 Kitesurf로 각각 돌려 결과를 나란히 놓고 비교한 뒤 늘립니다.
막히면 먼저 볼 곳
- Invalid input 오류가 난다: Workers 코드에서 엔진 이름을 kitesurf 말고 다른 철자로 넣었는지 봅니다. 공식 문서는 이 값 외의 이름이 오류가 난다고 적었습니다.
- 페이지 일부가 비어 보인다: 공식 글은 실패가 빈 화면이나 빠진 요소로 나타나고 세션이 죽지는 않는다고 했습니다. 같은 주소를 크롬으로 한 번 돌려 대조하세요.
- 로그인 후 화면이 안 나온다: 긴 인증 세션은 한계 목록에 있습니다. 이 작업은 기본 크롬으로 두는 편이 맞습니다.
- 생각보다 오래 걸린다: 표의 걸린 시간 줄처럼 크롬보다 느린 것이 정상 범위입니다. 한 번에 여러 주소를 병렬로 돌릴 수 있는지 먼저 따져 보세요.
업데이트
이 글은 Cloudflare 공식 블로그 발표(8월 6일), 9월 28일 업데이트 글, Browser Run 문서(10월 6일 갱신 표기)의 내용을 2026년 10월 9일 기준으로 맞춘 것입니다. 기능과 한도, 수치는 베타 기간 중 바뀔 수 있으니 적용 전에 공식 문서의 최신 내용을 보세요.
확인 자료
- Cloudflare 블로그: Introducing Kitesurf (확인: 2026-10-09)
- Cloudflare Browser Run 문서: Kitesurf (확인: 2026-10-09)
- Cloudflare 블로그: Kitesurf 업데이트 (확인: 2026-10-09)
- OWASP Gen AI Security Project: LLM01 프롬프트 인젝션 (확인: 2026-10-18)
함께 읽기
AI에게 웹이나 도구를 맡길 때 어디까지 권한을 줄지는 아래 글에서 이어서 다룹니다.