web-bot-auth

2 개의 포스트

cloudflare

개방형 에이전틱 인터넷 구축하기: 읽을 수 있고, 발견 가능하며, 호출 가능하고, 결제 가능한 (새 탭에서 열림)

에이전트가 사람을 대신해 웹을 읽고, 행동하고, 비용을 지불하는 시대가 오면서 기존의 인간 중심 웹은 한계에 부딪히고 있다. Cloudflare는 이를 “에이전틱 인터넷”이라 부르며, 웹이 에이전트에게 읽기 쉽고(readable), 발견 가능하며(discoverable), 호출 가능하고(callable), 결제 가능해야 한다고 주장한다. 이를 위해 특정 기업에 종속되지 않는 개방형 표준과 도구를 구축해야 하며, 궁극적으로 에이전트와 웹사이트가 충돌하는 대신 협력하는 구조를 만들어야 한다. ## 에이전트가 바꾸는 웹의 전제 - 기존의 `User-Agent`는 브라우저가 사용자를 대신해 웹을 방문한다는 의미였지만, 이제는 실제로 사람이나 기업을 대신해 작업하는 프로그램이 웹의 방문자가 되고 있다. - 코딩 에이전트는 문서를 읽고, 코드를 작성하며, 필요한 페이지를 가져오지만 CSS를 렌더링하거나 광고를 보지는 않는다. - 에이전트의 각 요청에는 비용을 지불하는 사람과 구체적인 목적이 있다. - 에이전트를 단순 스크래퍼로 차단하면 실제 고객의 요청까지 막게 되고, 기존의 페이지뷰·광고 중심 분석과 비즈니스 모델도 제대로 작동하지 않는다. - 현재 웹에는 변경되지 않은 페이지를 정상적인 봇이 반복해서 가져오는 요청이 수십억 건 발생하며, 이는 막대한 컴퓨팅 자원의 낭비를 보여준다. ## 개방형 에이전틱 인터넷 - 에이전틱 인터넷의 미래는 특정 플랫폼이 검색, 신원 확인, 결제를 독점하는 방식과 개방형 표준을 사용하는 방식으로 나뉠 수 있다. - Cloudflare는 누구나 구현할 수 있는 공개 표준을 기반으로 한 개방형 인터넷을 지향한다. - 핵심 기술로 다음을 제시한다. - **x402**: 에이전트가 웹 리소스나 서비스에 직접 비용을 지불하는 결제 표준 - **MCP**: 에이전트가 도구와 기능을 발견하고 호출하기 위한 프로토콜 - **Web Bot Auth**: 봇이 자신을 암호학적으로 증명하는 인증 방식 - **PACT**: 신뢰할 수 있는 사이트가 에이전트를 익명으로 보증하는 토큰 - 도메인 소유자는 원하는 인증 제공자, 결제 사업자, 에이전트 파트너를 선택할 수 있으며 Cloudflare도 여러 선택지 중 하나로 남아야 한다. ## 신원 확인과 신뢰 - **Web Bot Auth**를 사용하면 사이트는 User-Agent 문자열에 의존하거나 위조 여부를 추측하지 않고, 방문한 봇의 신원을 암호학적으로 확인할 수 있다. - 사이트는 자신이 이미 로그인, 앱 사용 기록, 구매 이력 등을 통해 알고 있는 사용자를 기반으로 에이전트에게 **PACT(Private Access Control Tokens)**를 발급할 수 있다. - 에이전트는 다른 사이트에서 이 토큰을 제시해 자신이 신뢰할 만한 사용자와 연결되어 있음을 증명할 수 있다. - 이를 통해 정상적인 에이전트는 불필요한 차단과 CAPTCHA를 줄이고, 사이트는 악성 자동화 트래픽을 더 정확히 구분할 수 있다. ## Readable: 에이전트가 읽기 쉬운 웹 - 에이전트는 인간처럼 화면을 보고 CSS를 해석하지 않으므로, 인간용 HTML 전체를 전달하는 방식은 토큰과 대역폭을 낭비한다. - 보이지 않는 장식 요소와 레이아웃 정보는 에이전트의 컨텍스트를 오염시키고, 결국 처리 비용을 증가시킨다. - **Markdown for Agents**는 서버 측에서 에이전트가 필요한 콘텐츠를 더 간결한 Markdown 형태로 제공하는 접근이다. - Cloudflare의 **Kitesurf**는 에이전트를 일급 사용자로 고려한 브라우저로, Workers에서 요청마다 실행하고 폐기할 수 있도록 가볍게 설계되었다. - 에이전트는 인간용 브라우저의 광고, 시각 효과, 기타 불필요한 기능 없이 콘텐츠와 기능에 직접 접근할 수 있다. ## Discoverable: 에이전트가 자원을 찾는 방법 - 에이전트가 콘텐츠를 읽거나 도구를 호출하거나 결제하려면 먼저 해당 자원이 존재한다는 사실을 알아야 한다. - 인간용 검색창과 키워드 중심 검색만으로는 에이전트의 목적과 작업 흐름을 충분히 지원하기 어렵다. - **AI Search**는 공개 웹사이트가 에이전트 검색 결과에 포함되도록 지원한다. - 반대로 콘텐츠 제작자와 API 운영자는 자신의 서비스가 에이전트에게 얼마나 노출되는지도 측정해야 한다. - **AEO(Agent Engine Optimization)**는 주요 모델과 에이전트에서 브랜드나 콘텐츠가 얼마나 잘 발견되는지를 측정한다. - 고객이 사용하는 에이전트에서 발견되지 않는 서비스는 사실상 해당 고객에게 오프라인 상태가 된다. ## Callable: 웹 기능을 직접 호출하기 - 인간용 웹에서는 예약, 구독 갱신, 보고서 조회 같은 기능이 버튼과 폼으로 구현되어 있다. - 에이전트가 이를 사용하려면 HTML을 분석하고, 어떤 버튼이 작업을 수행하는지 추측하고, DOM 변화에 대응해야 한다. - **WebMCP**는 웹사이트가 브라우저 안에서 에이전트에게 기능을 명시적으로 도구로 노출하도록 한다. - 예를 들어 `add-todo` 도구는 다음 정보를 직접 선언할 수 있다. - 도구 이름과 설명 - 입력값의 JSON 스키마 - 실제 작업을 수행하는 함수 - 실행 결과 - 이 방식에서는 HTML 파싱이나 버튼 위치 추측이 필요 없다. - 도구가 페이지 내부에서 실행되므로 기존 사용자의 로그인 세션과 상태를 그대로 활용할 수 있다. - **Code Mode**는 에이전트가 자연어로 도구를 호출하는 대신 코드로 직접 호출하도록 해 정확성과 속도를 높인다. - 사이트 운영자는 에이전트가 어떤 기능과 콘텐츠를 실제로 사용하는지 명확한 호출 신호를 얻을 수 있다. ## Payable: 에이전트가 직접 지불하는 웹 - 광고 기반 모델은 에이전트가 광고를 보거나 페이지를 렌더링하지 않기 때문에 약화될 수밖에 없다. - 사용자 단위 좌석 과금도 한 명의 사람이 프로그램을 통해 작업하는 상황에는 적합하지 않다. - 에이전트가 요청마다 소액을 지불하면 기존의 페이지뷰나 광고 노출 없이도 콘텐츠 제공자가 수익을 얻을 수 있다. - 예를 들어: - 레시피 사이트는 fetch 한 건당 아주 작은 금액을 받아 수익성을 확보할 수 있다. - 지역 신문은 별도 장기 라이선스 계약이나 로그인 없이 기사 열람 시점에 과금할 수 있다. - 에이전트는 사용자가 미리 설정한 지갑과 예산을 가지고 서비스에 접근하며, 결제는 에이전트가 직접 처리한다. - 따라서 에이전틱 인터넷에서는 콘텐츠 접근 자체가 작고 자동화된 경제적 거래가 될 수 있다. ## 실용적인 시사점 웹사이트 운영자는 에이전트를 무조건 차단하거나 스크래퍼로 취급하기보다, 봇 신원 확인·에이전트용 콘텐츠 제공·명시적 도구 API·소액 결제를 함께 설계해야 한다. 특히 기존 HTML UI를 에이전트가 추측하게 두기보다는 WebMCP 같은 명시적 계약을 제공하고, 에이전트 검색 노출과 실제 호출량을 별도로 측정하는 것이 중요하다.

cloudflare

Cloudflare Wallets 출시: 에이전트 기반 인터넷을 위한 프로그래밍 가능한 지갑 (새 탭에서 열림)

AI 에이전트는 현재 인간용 로그인, 결제수단 등록, API 키 발급 절차 때문에 새로운 API를 탐색하고 비교하기 어렵다. Cloudflare Wallets는 계정 지갑과 에이전트용 가상 지갑을 제공해, 에이전트가 x402 기반 스테이블코인 소액결제로 API·콘텐츠·MCP 도구를 직접 구매하도록 한다. 예산 한도와 허용 목록 같은 통제 장치를 통해 자율적인 탐색과 안전한 지출을 동시에实现하는 것이 핵심이다. ## 에이전트 온보딩의 문제 - 에이전트는 서비스 가입에 사용할 안정적인 식별자가 없다. - 인간 중심의 로그인·결제·API 키 발급 과정을 스스로 처리하기 어렵다. - 결제수단 등록이나 가입 승인을 인간에게 요청해야 하므로, 여러 API를 빠르게 시험하고 비교하기 어렵다. - 이러한 마찰은 에이전트가 서비스를 구매·활용하는 에이전틱 커머스의 성장을 제한한다. ## Cloudflare Wallets와 x402 결제 - 사용자는 Cloudflare 계정에 연결된 고유한 Wallet 핸들을 만들 수 있다. - 지갑에는 스테이블코인을 보관하고 웹 전반의 서비스 구매 및 자금 수령에 사용할 수 있다. - Cloudflare의 Monetization Gateway는 웹사이트와 애플리케이션이 x402 프로토콜 기반 소액결제를 받을 수 있도록 한다. - x402는 HTTP 요청에 결제를 연결해 API 호출, AI 추론, 데이터, 콘텐츠 사용량 등에 따라 자동 결제할 수 있게 한다. - x402 호환 서비스를 구매하거나 판매하려면 지갑이 필요하다. ## 계정 지갑과 가상 지갑 - **Account Wallet** - 사람이 소유하고 관리하는 기본 지갑이다. - 자금을 충전하고, 에이전트에게 지출 권한을 위임한다. - 필요할 때 자금을 회수하거나 지출 정책을 변경할 수 있다. - **Virtual Wallet** - 에이전트 전용 지갑으로 API 키를 통해 작동한다. - 에이전트는 허용된 범위 안에서 API, MCP 도구, 콘텐츠 등을 구매할 수 있다. - 지출 한도는 Account Wallet 소유자가 설정한 상한을 넘을 수 없다. - 인간의 매번 승인을 요구하지 않으면서도 과도한 지출을 방지한다. ## 제한된 예산이 제공하는 자율성 - 에이전트는 적은 비용으로 수십~수백 개의 서비스를 직접 시험하고 용도에 맞는 API를 선택할 수 있다. - 예를 들어 API 호출 비용이 몇 센트라면, 10달러의 예산만으로도 다양한 후보를 충분히 평가할 수 있다. - Virtual Wallet에 다음과 같은 정책을 설정할 수 있다. - 총 허용량 - 서비스 허용 목록 - 거래당 최대 금액 - 주간 또는 사용자별 예산 - 예산 초과 시 승인된 관리자가 수동으로 한도를 늘리거나 일회성 자금을 추가할 수 있다. - 비정상적으로 빠른 지출이 발생하면 관리자가 검토할 수 있으며, 의도된 지출이면 승인하고 그렇지 않으면 정책의 제한으로 손실을 줄인다. - 초기에는 지원 지역에서 법정화폐 기반 입출금을 제공하고, 일부 사용자는 스테이블코인으로 직접 자금을 충전할 수 있다. ## 에이전트 정체성과 귀속 - 결제 권한을 위임해도 상점은 해당 에이전트가 어떤 개인이나 조직을 대신하는지 알기 어려울 수 있다. - 이 때문에 무료 체험, 가입 크레딧, 조직별 혜택을 에이전트에게 적용하기 어렵다. - Cloudflare는 지갑을 Cloudflare 계정과 연결하고 `cloudflare.pay` 식별자를 제공하려 한다. - 예를 들어 `research.example.cloudflare.pay`처럼 특정 조직에 속한 연구 에이전트임을 나타낼 수 있다. - 식별자 공개는 선택 사항이며, 상점은 알려진 에이전트와의 거래를 우선할지 결정할 수 있다. ## 사람이 읽을 수 있는 에이전트 식별자 - 식별되지 않은 에이전트가 본질적으로 신뢰할 수 없는 것은 아니지만, 추가적인 검증이 필요할 수 있다. - Cloudflare의 Web Bot Auth는 키 쌍을 이용해 에이전트 정체성을 등록하는 기반을 제공한다. - Cloudflare Wallet 식별자는 사람이 읽기 어려운 키 쌍에 기억하기 쉬운 이름을 연결하는 역할을 한다. - 이는 DNS가 사람이 읽는 도메인 이름과 기계적인 IP 주소를 연결하는 방식과 유사하다. - 빠르게 변하는 에이전트 신원 표준에 대응하기 위해, Cloudflare는 복잡한 스키마나 검증 체계를 새로 정의하기보다 단순하고 기억하기 쉬운 식별자 제공에 초점을 둔다. 에이전트가 다양한 서비스를 자율적으로 탐색하게 하려면 결제와 신원 확인이 기계 친화적으로 바뀌어야 한다. 따라서 서비스 제공자는 x402와 Monetization Gateway를 활용하고, 사용자는 Virtual Wallet에 명확한 예산·허용 목록·거래 한도를 설정하는 방식이 현실적인 도입 전략이다.