오픈AI로부터 계정 정지 경고를 받은 AI 웹 자동화 기술
Jump to 0:29코리 갤런(렉스모어)은 이번 강연 준비 과정에서 오픈AI로부터 계정 정지 경고를 받았다고 밝혔습니다. 강연을 준비하며 수행한 웹 자동화 작업이 사이버 남용으로 분류될 수 있다는 경고였습니다.
그는 자신의 연구가 AI 에이전트가 웹 브라우저를 사람처럼 사용하는 데 초점을 맞추고 있으며, 이 기술이 얼마나 강력한지 보여주는 사례라고 강조했습니다.
AI 에이전트가 사람의 개입 없이 캡차를 포함한 복잡한 웹사이트 기능을 수행하며, 웹 자동화의 새로운 가능성과 함께 윤리적 논란을 제기합니다.
Want the next one from this channel too?
코리 갤런(렉스모어)은 이번 강연 준비 과정에서 오픈AI로부터 계정 정지 경고를 받았다고 밝혔습니다. 강연을 준비하며 수행한 웹 자동화 작업이 사이버 남용으로 분류될 수 있다는 경고였습니다.
그는 자신의 연구가 AI 에이전트가 웹 브라우저를 사람처럼 사용하는 데 초점을 맞추고 있으며, 이 기술이 얼마나 강력한지 보여주는 사례라고 강조했습니다.
갤런은 AI 에이전트가 사람의 개입 없이 클라우드플레어 턴스타일, 두 개의 이미지 캡차, 그리고 reCAPTCHA v2를 해결하는 과정을 시연했습니다. 에이전트는 웹사이트의 모든 봇 방지 시스템을 성공적으로 통과하며 로그인 페이지에 도달했습니다.
그는 약 15분 안에 이러한 완전 자동화된 캡차 해결이 어떻게 가능한지 참석자들이 정확히 이해하게 될 것이라고 말했습니다.
갤런은 Chrome DevTools 프로토콜(CDP)을 통해 구동되는 브라우저가 마우스를 든 사람과 똑같이 작동한다는 전제를 제시했습니다. 구글이나 클라우드플레어와 같은 서비스 제공자들은 에이전트가 CDP를 사용해 브라우저를 구동할 때 발생하는 클릭과 키 입력이 실제 사람의 입력과 크롬 내부에서 정확히 동일한 경로를 거친다고 설명했습니다.
이것이 바로 AI 에이전트가 웹사이트에 '인간'으로 인식되는 핵심 아이디어라고 덧붙였습니다.
성공적인 웹 자동화를 위해서는 세 가지 핵심 요소가 필요하다고 갤런은 강조했습니다. 첫째는 CLI(명령줄 인터페이스)로, 에이전트에게 프로그래밍 가능한 제어 기능을 제공합니다. 둘째는 Chrome DevTools 프로토콜(CDP)로, 브라우저를 사람처럼 구동하는 역할을 합니다.
마지막으로 셋째는 '루프 실행'으로, 에이전트가 웹사이트와 지속적으로 상호작용하고 검증하며 목표를 달성할 때까지 반복하는 과정을 의미합니다.
갤런은 Chrome DevTools 프로토콜(CDP)이 에이전트가 인간처럼 보이도록 하는 핵심 요소라고 설명했습니다. 웹 개발 도구(F12를 눌러 나타나는 패널)가 이 프로토콜을 사용해 브라우저를 구동하는 것처럼, 에이전트도 Chrome Agent 도구를 사용해 동일한 프로토콜에 접근할 수 있습니다.
Chrome Agent는 또한 에이전트가 CDP 상호 작용을 재현하는 코드를 쉽게 작성할 수 있도록 돕는다고 덧붙였습니다.
CDP는 현재 57개의 도메인과 수백 개의 메서드 및 이벤트를 포함하는 방대한 기능을 제공하며, 매우 자주 변경된다고 갤런은 설명했습니다. 그는 모든 도메인을 8가지 범주로 분류하여 이해를 돕지만, 에이전트가 인간처럼 브라우저와 상호 작용하기 위해 이 모든 도메인이 필요한 것은 아니라고 강조했습니다.
오히려 에이전트에게 필요한 것은 디지털 감각과 관련된 핵심 하위 집합입니다. 이는 페이지를 보고(DOM 구조 읽기, 접근성 트리 의미 읽기, 스크린샷), 듣고(네트워크 트래픽, 콘솔 로그), 조작하는(클릭, 키 입력, 탐색) 능력으로 구성된다고 설명했습니다.
에이전트가 사람처럼 보이려면 '루프 온 더 래더(loop on the ladder)' 개념이 필요하다고 갤런은 말했습니다. 이 루프는 세 가지 핵심 단계로 구성됩니다: 감지(sense), 행동(act), 그리고 검증(verify).
에이전트는 이 세 단계를 페이지가 원하는 대로 반응할 때까지 반복하여 목표를 달성합니다.
갤런은 만약 루프가 닫히지 않고 페이지가 원하는 대로 움직이지 않으면, 이는 페이지가 에이전트에 저항하고 있다는 신호라고 설명했습니다. 이런 경우, 에이전트는 '미트백 래더(meatbag ladder)'를 올라가야 한다고 말했습니다.
이 래더는 세 개의 층으로 이루어진 기술 단계를 나타내며, 위로 올라갈수록 점점 더 사람과 유사한 기법을 사용합니다. 에이전트는 페이지가 강제하는 만큼만 래더를 올라가거나, 작동하는 가장 낮은 층까지만 올라가서 작업을 해결합니다.
갤런은 완전 자동화된 AI 에이전트 기반 브라우징에 도달하는 방법론을 설명했습니다. 가장 저렴한 방법부터 시작하여, 페이지가 강제할 때만 래더를 한 단계씩 올라갑니다. 각 층에서 루프를 실행하며, 성공한 경로를 기록합니다.
이 과정은 먼저 수동으로 탐색하고 루프를 실행하여 작동하는 층을 찾아낸 다음, 이 해결책을 코드로 자동화하거나 에이전트 스킬로 만들어 다시는 해결할 필요가 없도록 하는 방식으로 진행됩니다.
갤런은 일상적인 사용 사례로, 아웃룩 웹 클라이언트에서 개인화된 이메일을 일괄 전송하는 방법을 시연했습니다. 각 이메일은 내용이 서로 다르며, 에이전트가 이메일 내용을 즉흥적으로 작성하지만 모든 상호작용은 프로그램에 의해 구동됩니다.
슬라이드 왼쪽에는 의사 코드가 함께 제시되어 있어 코드 작동 방식을 쉽게 이해할 수 있도록 했습니다.
갤런은 왜 웹 UI를 직접 구동해야 하는지에 대한 질문에 답했습니다. 기업 환경에서 Office 365 테넌트용 API는 앱 등록과 관리자 승인이 필요하며, 이는 직원 입장에서는 종종 얻기 어렵습니다. 반면, 웹 로그인만 있으면 화면에서 보이는 것과 동일한 작업을 수행할 수 있습니다.
따라서 이 패턴에서는 웹 UI 자체가 일종의 '무허가 유니버설 API'가 되어 에이전트가 필요한 작업을 수행할 수 있게 된다고 설명했습니다.
갤런은 아마존 웹사이트가 봇을 막는 방식을 예로 들어 자바스크립트 클릭과 크롬 입력 도메인 클릭의 차이를 설명했습니다. 자바스크립트 클릭은 크롬 내부에서 '신뢰할 수 없음'으로 스탬프가 찍히고, 페이지는 이러한 입력을 조용히 무시합니다. 이는 특정 웹사이트들이 봇 감지를 위해 사용하는 기법입니다.
반면, 크롬의 입력 도메인을 사용하면 실제 마우스와 동일한 입력 경로를 거치므로 '신뢰할 수 있음'으로 스탬프가 찍히고, 페이지는 실제 마우스와 에이전트의 입력을 구분할 수 없다고 설명했습니다.
갤런은 시연 중 화면에 나타나는 마우스 커서 움직임이 에이전트가 크롬 에이전트와 CDP를 사용하여 브라우저에 마우스 입력을 제공하는 것을 시각적으로 보여주기 위해 프로그래밍적으로 추가된 것이라고 설명했습니다. 이는 실제 자신의 마우스를 움직이는 것이 아닙니다.
이러한 시각적 효과는 에이전트가 수행하는 작업을 관객이 더 쉽게 이해하고 추적할 수 있도록 돕는 역할을 한다고 덧붙였습니다.
갤런은 봇 감지 기술 중 하나인 MTurk 캡차(MT Capture)를 에이전트가 어떻게 우회하는지 설명했습니다. 에이전트는 챌린지 화면의 스크린샷을 찍고, 자체 시각 기능을 사용하여 노이즈 속에서 문자를 식별해냅니다.
이후, 교차 출처 iframe에 실제 신뢰할 수 있는 키 입력으로 한 글자씩 답을 입력하여 텍스트를 검증합니다. 이러한 과정으로 MTurk 캡차의 봇 감지 시스템을 통과합니다.
갤런은 Lemon의 직소 퍼즐 캡차를 에이전트가 우회하는 방법을 설명했습니다. 이 유형의 캡차는 조각을 드래그하여 채우는 방식으로, 드래그 자체의 미묘한 마우스 움직임이 봇 감지의 핵심입니다.
이러한 캡차는 마우스 움직임을 점들의 흔적으로 샘플링하며, 여기에는 흔들림과 속도 변화가 포함됩니다. 에이전트는 마치 실제 손처럼 부드럽게 움직이고 약간의 곡선을 그리며 정확하게 드래그하여 봇 감지를 회피합니다.
갤런은 터치 스타일, MTurk 캡차, 그리고 Lemon의 직소 퍼즐 캡차 등 에이전트를 막기 위해 고안된 세 가지 봇 방지 게이트를 모두 성공적으로 무력화했다고 선언했습니다. 이 세 가지 시스템은 웹사이트에서 봇의 접근을 차단하기 위해 사용되는 대표적인 기술들입니다.
에이전트는 각 시스템의 약점을 파고들어 사람처럼 행동함으로써 모든 방어막을 통과할 수 있음을 시연했습니다.
갤런은 자동화 루프 내에서 코드가 직접 해결할 수 없는 한 단계가 있다고 설명했습니다. 그것은 바로 흐릿한 타일 격자를 보고 그 안에 무엇이 있는지 알아내는 복잡한 시각 인식 작업입니다. 예를 들어, 특정 이미지가 버스인지 식별하는 것과 같은 시각과 사고가 필요한 작업입니다.
이러한 작업은 눈과 두뇌가 필요하므로, 이 부분을 '오퍼레이터(operator)'라고 부르는 에이전트에게 위임한다고 말했습니다. 솔버가 에이전트에게 작업을 요청하면, 에이전트가 격자를 보고 필요한 타일을 선택하여 솔버에게 답을 넘겨주는 방식입니다.
갤런은 AI 에이전트가 reCAPTCHA v2를 해결하는 과정을 시연하며, 에이전트가 심지어 인간도 놓쳤던 자전거 이미지를 타일에서 찾아냈다고 말했습니다. 그는 직접 눈으로 확인하지 못했던 미세한 자전거 이미지를 에이전트가 정확히 식별해냈다고 언급했습니다.
결과적으로 reCAPTCHA v2는 해결되었고 서버에 의해 검증되었으며, 이 모든 과정이 매우 빠르게 진행되었다고 강조했습니다. 그는 이러한 속도가 AI 에이전트 기반 웹 자동화의 핵심이라고 덧붙였습니다.
이 시연은 AI 에이전트가 단순히 패턴을 따르는 것을 넘어, 복잡한 시각적 정보를 인간 이상의 정확도로 처리할 수 있음을 보여주었습니다.
갤런은 에이전트 기반 웹 자동화 방법론을 요약하며, 에이전트에게 CLI를 제공하여 프로그래밍 가능하게 만들고, 디지털 센서를 사용하여 CDP를 통해 전체 브라우저를 구동한다고 설명했습니다.
에이전트는 '미트백 래더'에서 루프처럼 실행되며, 페이지가 강제하는 만큼만 높이 올라가서 해결할 때까지 탐색하고 솔루션을 기록함으로써 견고하고 유용한 자동화가 가능하다고 강조했습니다.
갤런은 참석자들이 Chrome Agent를 직접 사용할 수 있다고 독려했습니다. 이 도구는 Python 생태계에서 설치 가능하며, 그 자신도 매일 이 도구를 사용하고 있다고 밝혔습니다.
그는 제품을 판매하는 것이 아니라 무한한 개인화된 소프트웨어의 시대에 살고 있음을 강조하며, 참석자들이 직접 자신만의 도구를 만들거나 X(구 트위터)에서 자신을 팔로우하여 AI로 웹을 자동화하는 방법을 배우고 싶다고 말했습니다.
Answers come from the transcript, with the exact spot cited.
Want the next one from this channel too?
When AI Engineer publishes, we'll write it up like the one you just read and email it to you.
{channel} published 24 in the last 7 days.
We skip Shorts. You can unfollow any time.
KV Cache-Aware Routing and P/D Disaggregation on KubernetesAI Engineer4 hours ago · 21:47 · 93 views · Created 4 hours ago
The Death of Developer Advocates: How AI Agents Are Reshaping DevRelAI Engineeryesterday · 18:16 · 88 views · Created yesterday
Cloudflare Leverages AI Agents to Double GTM Team EfficiencyAI Engineeryesterday · 19:15 · 12 views · Created yesterday