---
schema: 1
type: video
title: >-
  The Dark Arts of Web Automation: Teaching Agents to Use Websites Like Humans —
  Corey Gallon, Rexmore
description: >-
  Preparing this talk got Corey Gallon a warning from OpenAI that his account
  faced a ban for cyber abuse with a web browser. The offending work was an
  agent clearing Cloudflare Turnstile, two image captchas, and finally reCAPTCHA
  v2 with no human in the loop. His premise fits on one slide: a browser driven
  through the Chrome DevTools Protocol is just a meat bag with a mouse, because
  the agent's clicks and keystrokes travel the same path inside Chrome that
  yours do. Chrome stamps every event as trusted or untrusted, which is why a
  synthetic JavaScript click that works fine in Outlook gets silently dropped by
  Amazon's add to cart button. The method is a loop of sense, act, verify,
  climbed up a three rung ladder only as high as the page forces. A synthetic
  click first, then a real CDP input event, then a human mouse path with jitter
  and a deliberate overshoot. He argues for a CLI over an MCP server on speed
  rather than capability, citing a study where both cleared tasks about 83% of
  the time while MCP took 71 round trips and eight minutes against seven turns
  and under a minute. That gap decides the last fight, because reCAPTCHA rounds
  expire on a clock. His solution splits the work: deterministic code drives the
  whole challenge and rearms itself, and the agent is called in only to look at
  the grid and name the tiles. Everything demonstrated runs on infrastructure
  and accounts he owns. Speaker info: - https://x.com/coreygallon -
  https://www.linkedin.com/in/coreygallon - https://gallon.me -
  https://github.com/captivus/chrome-agent Timestamps: 0:00 - Threatened with a
  ban for preparing this talk 1:50 - The premise: a CDP browser is a meat bag
  with a mouse 2:43 - Why a CLI beats an MCP server 4:06 - The DevTools Protocol
  and the agent's digital senses 5:47 - The loop: sense, act, verify 6:38 - The
  three rung ladder 8:27 - Rung one: batch emails, and the web UI as a
  permissionless API 10:44 - Rung two: trusted clicks and the add to cart button
  12:51 - Rung three: Cloudflare Turnstile 14:26 - Image captchas, drag puzzles,
  and human motion 16:36 - Final boss: reCAPTCHA v2, solver and operator 19:47 -
  The methodology is the takeaway --- Watch along with the corrected transcript,
  summary, timestamps and resources on this talk's official AIE page:
  https://ai.engineer/talks/26RtyAm9y_Q-the-dark-arts-of-web-automation-teaching-agents-to-use-websites-like-humans
  Join our upcoming AI Engineer conferences (see https://ai.engineer landing
  page): - AIEi Shanghai, November 5–6 — the first for meeting top Chinese labs
  and engineers - AIE CODE in SF, November 10–12 — the top AI Coding conference
  returns - AIEi Sydney, December 7–8 — the first AIEi run alongside NeurIPS
  2026 in Sydney ---
canonical: >-
  https://liquidgold.cc/channel/aidotengineer/explore/video/the-dark-arts-of-web-automation-teaching-agents-to-77804246c56a
markdown: >-
  https://liquidgold.cc/channel/aidotengineer/video/the-dark-arts-of-web-automation-teaching-agents-to-77804246c56a.md
llms: null
parent: 'https://liquidgold.cc/channel/aidotengineer.md'
channel: aidotengineer
updated: '2026-10-24T05:24:21.849Z'
language: null
children: []
videoId: 26RtyAm9y_Q
durationSeconds: 1298
publishedAt: '2026-08-14T15:30:00.000Z'
searchChunks:
  - ordinal: 0
    text: null
    startSeconds: 24
    endSeconds: 110
    watch: 'https://liquidgold.cc/watch/26RtyAm9y_Q?t=24'
    heldReason: rights
  - ordinal: 1
    text: null
    startSeconds: 121
    endSeconds: 169
    watch: 'https://liquidgold.cc/watch/26RtyAm9y_Q?t=121'
    heldReason: rights
  - ordinal: 2
    text: null
    startSeconds: 182
    endSeconds: 252
    watch: 'https://liquidgold.cc/watch/26RtyAm9y_Q?t=182'
    heldReason: rights
  - ordinal: 3
    text: null
    startSeconds: 182
    endSeconds: 252
    watch: 'https://liquidgold.cc/watch/26RtyAm9y_Q?t=182'
    heldReason: rights
  - ordinal: 4
    text: null
    startSeconds: 121
    endSeconds: 169
    watch: 'https://liquidgold.cc/watch/26RtyAm9y_Q?t=121'
    heldReason: rights
  - ordinal: 5
    text: null
    startSeconds: 262
    endSeconds: 347
    watch: 'https://liquidgold.cc/watch/26RtyAm9y_Q?t=262'
    heldReason: rights
  - ordinal: 6
    text: null
    startSeconds: 347
    endSeconds: 358
    watch: 'https://liquidgold.cc/watch/26RtyAm9y_Q?t=347'
    heldReason: rights
  - ordinal: 7
    text: null
    startSeconds: 415
    endSeconds: 512
    watch: 'https://liquidgold.cc/watch/26RtyAm9y_Q?t=415'
    heldReason: rights
  - ordinal: 8
    text: null
    startSeconds: 523
    endSeconds: 649
    watch: 'https://liquidgold.cc/watch/26RtyAm9y_Q?t=523'
    heldReason: rights
  - ordinal: 9
    text: null
    startSeconds: 523
    endSeconds: 649
    watch: 'https://liquidgold.cc/watch/26RtyAm9y_Q?t=523'
    heldReason: rights
  - ordinal: 10
    text: null
    startSeconds: 659
    endSeconds: 771
    watch: 'https://liquidgold.cc/watch/26RtyAm9y_Q?t=659'
    heldReason: rights
  - ordinal: 11
    text: null
    startSeconds: 659
    endSeconds: 771
    watch: 'https://liquidgold.cc/watch/26RtyAm9y_Q?t=659'
    heldReason: rights
  - ordinal: 12
    text: null
    startSeconds: 782
    endSeconds: 873
    watch: 'https://liquidgold.cc/watch/26RtyAm9y_Q?t=782'
    heldReason: rights
  - ordinal: 13
    text: null
    startSeconds: 873
    endSeconds: 885
    watch: 'https://liquidgold.cc/watch/26RtyAm9y_Q?t=873'
    heldReason: rights
  - ordinal: 14
    text: null
    startSeconds: 885
    endSeconds: 1001
    watch: 'https://liquidgold.cc/watch/26RtyAm9y_Q?t=885'
    heldReason: rights
  - ordinal: 15
    text: null
    startSeconds: 1013
    endSeconds: 1189
    watch: 'https://liquidgold.cc/watch/26RtyAm9y_Q?t=1013'
    heldReason: rights
  - ordinal: 16
    text: null
    startSeconds: 1013
    endSeconds: 1189
    watch: 'https://liquidgold.cc/watch/26RtyAm9y_Q?t=1013'
    heldReason: rights
  - ordinal: 17
    text: null
    startSeconds: 415
    endSeconds: 512
    watch: 'https://liquidgold.cc/watch/26RtyAm9y_Q?t=415'
    heldReason: rights
  - ordinal: 18
    text: null
    startSeconds: 24
    endSeconds: 110
    watch: 'https://liquidgold.cc/watch/26RtyAm9y_Q?t=24'
    heldReason: rights
---


# The Dark Arts of Web Automation: Teaching Agents to Use Websites Like Humans — Corey Gallon, Rexmore

Preparing this talk got Corey Gallon a warning from OpenAI that his account faced a ban for cyber abuse with a web browser. The offending work was an agent clearing Cloudflare Turnstile, two image captchas, and finally reCAPTCHA v2 with no human in the loop. His premise fits on one slide: a browser driven through the Chrome DevTools Protocol is just a meat bag with a mouse, because the agent's clicks and keystrokes travel the same path inside Chrome that yours do. Chrome stamps every event as trusted or untrusted, which is why a synthetic JavaScript click that works fine in Outlook gets silently dropped by Amazon's add to cart button. The method is a loop of sense, act, verify, climbed up a three rung ladder only as high as the page forces. A synthetic click first, then a real CDP input event, then a human mouse path with jitter and a deliberate overshoot. He argues for a CLI over an MCP server on speed rather than capability, citing a study where both cleared tasks about 83% of the time while MCP took 71 round trips and eight minutes against seven turns and under a minute. That gap decides the last fight, because reCAPTCHA rounds expire on a clock. His solution splits the work: deterministic code drives the whole challenge and rearms itself, and the agent is called in only to look at the grid and name the tiles. Everything demonstrated runs on infrastructure and accounts he owns. Speaker info: - https://x.com/coreygallon - https://www.linkedin.com/in/coreygallon - https://gallon.me - https://github.com/captivus/chrome-agent Timestamps: 0:00 - Threatened with a ban for preparing this talk 1:50 - The premise: a CDP browser is a meat bag with a mouse 2:43 - Why a CLI beats an MCP server 4:06 - The DevTools Protocol and the agent's digital senses 5:47 - The loop: sense, act, verify 6:38 - The three rung ladder 8:27 - Rung one: batch emails, and the web UI as a permissionless API 10:44 - Rung two: trusted clicks and the add to cart button 12:51 - Rung three: Cloudflare Turnstile 14:26 - Image captchas, drag puzzles, and human motion 16:36 - Final boss: reCAPTCHA v2, solver and operator 19:47 - The methodology is the takeaway --- Watch along with the corrected transcript, summary, timestamps and resources on this talk's official AIE page: https://ai.engineer/talks/26RtyAm9y_Q-the-dark-arts-of-web-automation-teaching-agents-to-use-websites-like-humans Join our upcoming AI Engineer conferences (see https://ai.engineer landing page): - AIEi Shanghai, November 5–6 — the first for meeting top Chinese labs and engineers - AIE CODE in SF, November 10–12 — the top AI Coding conference returns - AIEi Sydney, December 7–8 — the first AIEi run alongside NeurIPS 2026 in Sydney ---

Canonical: https://liquidgold.cc/channel/aidotengineer/explore/video/the-dark-arts-of-web-automation-teaching-agents-to-77804246c56a · Channel: [AI Engineer](https://liquidgold.cc/channel/aidotengineer.md)

> Search chunk text is held until public-source provenance is verified.

## Document chunks

> Missing: no stored document chunks are available.
