{"id":1003950,"date":"2026-06-17T14:20:10","date_gmt":"2026-06-17T06:20:10","guid":{"rendered":"\/en\/?p=1003950"},"modified":"2026-06-17T15:56:00","modified_gmt":"2026-06-17T07:56:00","slug":"agent-bot-defense-stealth-technology","status":"publish","type":"post","link":"\/en\/article\/agent-bot-defense-stealth-technology","title":{"rendered":"Agent Bot Defense: How Stealth Technology Changes Automation Risk"},"content":{"rendered":"<div class=\"vgblk-rw-wrapper limit-wrapper\">\n<p># Agent Bot Defense: How Stealth Technology Changes Automation Risk<\/p>\n\n\n\n<p>Agent bot defense now has to account for a different automation cost structure. Large language models and tool-calling protocols have made web automation less dependent on fixed scripts, bulk requests, and predictable DOM parsing. An agent bot can read page semantics, call browser or mobile tools, adjust the next action after feedback, and package proxy usage, <a href=\"https:\/\/www.geetest.com\/en\/article\/what-is-captcha\" target=\"_blank\" rel=\"noopener\">CAPTCHA handling<\/a>, and environment spoofing into a standardized toolchain.<\/p>\n\n\n\n<p>For enterprise risk control, the decision surface becomes more complicated. Machine traffic is no longer one category. It includes attack-driven automation such as <a href=\"https:\/\/www.geetest.com\/en\/article\/evrything-you-need-to-know-about-credential-stuffing\" target=\"_blank\" rel=\"noopener\">credential stuffing<\/a>, bonus abuse, data theft, and inventory hoarding, but it also includes legitimate agents that help users compare prices, make purchases, plan trips, or update enterprise knowledge bases. Human traffic now carries different levels of trust as well. That mix forces enterprises to evaluate visitor identity, behavioral signals, task intent, and business impact together.<\/p>\n\n\n\n<p>In the agent era, automation defense is no longer a simple question of whether something is a bot. The real question is whether a machine behavior has a trustworthy identity, reasonable intent, acceptable risk, and controllable impact. <strong>Agent bots and stealth technology are moving the attack-defense focus from static feature recognition toward multilayer trust evaluation. Enterprises need to see traffic identity, environment authenticity, interaction behavior, and business intent at the same time.<\/strong><\/p>\n\n\n\n<p>The discussion below tracks that shift from three angles:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>The bot evolution from scripts to AI crawlers and agent bots;<\/li><li>The stealth stack now forming across browsers, protocols, devices, and toolchains;<\/li><li>The defense model that connects identity recognition, environment judgment, behavior analysis, and business strategy.<\/li><\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Bot Evolution Toward the Agent Bot Era<\/h2>\n\n\n\n<p>Internet automation keeps moving toward cheaper and more realistic business interaction. The agent bot is the latest expression of that shift.<\/p>\n\n\n\n<p>The path is easier to read in three stages:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Traditional bots based on fixed rules and state machines;<\/li><li>AI crawlers built around large-model training data and real-time information collection;<\/li><li>Agent bots with autonomous planning and tool-calling capabilities.<\/li><\/ol>\n\n\n\n<p>The difference between these stages is not only code architecture. It is a change in perception, decision-making, and execution. Traditional bots depend on paths written in advance by developers. AI crawlers expand the scope of content collection. Agent bots connect web pages, apps, APIs, proxies, CAPTCHA handling, and browser control into orchestrated task chains.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"2272\" height=\"2220\" src=\"\/wp-content\/uploads\/2026\/06\/agent-bot-figure-01-bot-evolution-toward-the-agent-bot-era-watermarked.png\" alt=\"GeeTest article visual for bot evolution toward the agent bot era\" class=\"wp-image-1003945\" srcset=\"\/wp-content\/uploads\/2026\/06\/agent-bot-figure-01-bot-evolution-toward-the-agent-bot-era-watermarked.png 2272w, \/wp-content\/uploads\/2026\/06\/agent-bot-figure-01-bot-evolution-toward-the-agent-bot-era-watermarked-300x293.png 300w, \/wp-content\/uploads\/2026\/06\/agent-bot-figure-01-bot-evolution-toward-the-agent-bot-era-watermarked-1024x1001.png 1024w, \/wp-content\/uploads\/2026\/06\/agent-bot-figure-01-bot-evolution-toward-the-agent-bot-era-watermarked-768x750.png 768w, \/wp-content\/uploads\/2026\/06\/agent-bot-figure-01-bot-evolution-toward-the-agent-bot-era-watermarked-1536x1501.png 1536w, \/wp-content\/uploads\/2026\/06\/agent-bot-figure-01-bot-evolution-toward-the-agent-bot-era-watermarked-2048x2001.png 2048w\" sizes=\"(max-width: 2272px) 100vw, 2272px\" \/><\/figure>\n\n\n\n<div style=\"height:28px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">1. Traditional Bots: Script and Rule-Based Automation<\/h3>\n\n\n\n<p>Before large language models became widespread, internet automation was mainly dominated by traditional bots. The core logic of these programs was built on hard-coded execution scripts, preset state machines, and deterministic DOM parsing. For technical implementation, developers often used automation testing frameworks such as Selenium, Puppeteer, and Playwright to drive headless browsers. They also used cURL, Python Requests, or Go HTTP clients for protocol-level bulk requests.<\/p>\n\n\n\n<p>Two economic use cases made traditional bots especially common. In large-scale data scraping, scripts used CSS selectors or XPath locators to walk through page nodes and pull out high-value data: ecommerce prices, flight schedules, financial quotes, job listings, and similar material. In credential stuffing and vulnerability scanning, attackers replayed leaked username-password pairs at speed, looking for accounts without MFA or with weak risk controls.<\/p>\n\n\n\n<p>The tradeoff is rigidity. A traditional bot does not understand much context. Dynamic rendering, a frequently changing A\/B test interface, or a small DOM adjustment can break the task chain. For defenders, that rigidity often leaves visible anomalies in request rate, navigation path, environment, and interaction.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. AI Crawlers: Content Collection at Larger Scale<\/h3>\n\n\n\n<p>With generative AI, automated web interaction moved into a second stage: the AI crawler. Collection no longer stops at structured business data. It now reaches unstructured text, images, code, comments, knowledge bases, and document content, often for foundation model training, retrieval-augmented generation, vertical knowledge base updates, or real-time information supplementation.<\/p>\n\n\n\n<p>Typical AI crawlers include OpenAI&#8217;s <code>GPTBot<\/code>, Meta&#8217;s <code>Meta-ExternalAgent<\/code> and <code>FacebookExternalHit<\/code>, and data collection programs deployed by companies such as Amazon and Google. On the surface, they look close to search engine crawlers. In practice, their collection purpose, frequency, content scope, and commercial impact can be more complicated.<\/p>\n\n\n\n<p>In a more detailed classification system, machine access can be divided into AI Crawler, Search Engine Crawler, Page Preview, Monitoring Bot, Partner Integration, and <a href=\"https:\/\/owasp.org\/www-project-automated-threats-to-web-applications\/\" rel=\"nofollow noopener\" target=\"_blank\">malicious automation<\/a>. The practical question is no longer only &quot;is this visitor a machine?&quot; It is whether the visitor declares its identity, follows <code>robots.txt<\/code>, controls crawl frequency, respects authorization boundaries, and avoids business or copyright risk.<\/p>\n\n\n\n<p>AI crawlers have already split into different camps. Some transparently declare identity, follow site policies, and control frequency. Others disguise themselves as ordinary browser or mobile users, bypass site restrictions, and collect data that the site clearly does not want indexed or used for training. Anti-crawling and content-protection systems need to focus first on that second group.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Agent Bots: Intelligent Agents for Task Execution<\/h3>\n\n\n\n<p>The third threshold is task execution. Once models such as Claude, Codex, DeepSeek, Doubao, and Qwen gain internet access, browser control, file operation, and tool-calling capabilities, the workflow changes from &quot;read this page&quot; to &quot;finish this task.&quot;<\/p>\n\n\n\n<p>These agents quickly run into an infrastructure problem. Modern web pages are designed for human visual consumption. They contain cookie popups, side navigation, advertising scripts, dynamic components, and decorative DOM nodes. If raw HTML is fed directly into an LLM, context window space is wasted and the model is more likely to misread the page structure.<\/p>\n\n\n\n<p>Tool-calling standards such as <a href=\"https:\/\/modelcontextprotocol.io\/docs\/getting-started\/intro\" rel=\"nofollow noopener\" target=\"_blank\"><strong>Model Context Protocol (MCP)<\/strong><\/a> are meant to reduce that friction between models and real web environments. MCP-style abstraction turns browser control, page extraction, proxy management, CAPTCHA handling, and data return into standard tools. The agent client expresses the task intent, while the backend toolchain handles headless browser launch, CDP communication, page-state reading, and action execution.<\/p>\n\n\n\n<p>That packaging creates a new risk profile. Automation capabilities that once required skilled engineers are being turned into callable infrastructure for ordinary models. The barrier to automation falls, and attack scaling becomes faster.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Machine Traffic Classification in the Agent Era<\/h3>\n\n\n\n<p>When traffic ranges from crude scripts to advanced agents, enterprise defense teams first need a machine-traffic taxonomy. AI training crawlers, search engine crawlers, user-triggered AI assistants, messaging-app link previews, and malicious stealth bots should not share the same policy pool. A clearer taxonomy gives teams a way to identify, allow, limit, and audit machine access without treating every non-human visit as the same event.<\/p>\n\n\n\n<p>A classification method better suited to the agent era starts with operating form, then evaluates business scenario:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Bot operating form:<\/strong> whether the machine traffic runs autonomously in the background or is triggered by a real user&#8217;s behavior.<\/li><li><strong>Bot business scenario:<\/strong> whether the traffic serves search, AI training, security scanning, monitoring, link preview, RSS fetching, social media management, or an internal\/customized call that cannot be easily categorized.<\/li><li><strong>Governance strategy:<\/strong> the same type of machine access does not always need to be blocked, but it must be identifiable, rate-limitable, auditable, and moved into a stronger verification chain when it reaches high-value business actions.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"2560\" height=\"442\" src=\"\/wp-content\/uploads\/2026\/06\/agent-bot-figure-02-4-machine-traffic-classification-in-the-agent-era-watermarked-scaled.png\" alt=\"GeeTest article visual for machine traffic classification in the agent era\" class=\"wp-image-1003946\" srcset=\"\/wp-content\/uploads\/2026\/06\/agent-bot-figure-02-4-machine-traffic-classification-in-the-agent-era-watermarked-scaled.png 2560w, \/wp-content\/uploads\/2026\/06\/agent-bot-figure-02-4-machine-traffic-classification-in-the-agent-era-watermarked-300x52.png 300w, \/wp-content\/uploads\/2026\/06\/agent-bot-figure-02-4-machine-traffic-classification-in-the-agent-era-watermarked-1024x177.png 1024w, \/wp-content\/uploads\/2026\/06\/agent-bot-figure-02-4-machine-traffic-classification-in-the-agent-era-watermarked-768x133.png 768w, \/wp-content\/uploads\/2026\/06\/agent-bot-figure-02-4-machine-traffic-classification-in-the-agent-era-watermarked-1536x265.png 1536w, \/wp-content\/uploads\/2026\/06\/agent-bot-figure-02-4-machine-traffic-classification-in-the-agent-era-watermarked-2048x354.png 2048w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/><\/figure>\n\n\n\n<div style=\"height:28px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>In modern machine classification, &quot;machine access&quot; becomes an operational label system rather than a single defensive bucket.<\/p>\n\n\n\n<div class=\"machine-traffic-table-wrap\" style=\"width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch;\">\n<style>\n.machine-traffic-table-wrap .machine-traffic-classification{width:100%; min-width:100%; table-layout:fixed; border-collapse:collapse;}\n.machine-traffic-table-wrap .machine-traffic-classification th,\n.machine-traffic-table-wrap .machine-traffic-classification td{box-sizing:border-box; padding:12px 14px; line-height:1.45; white-space:normal; overflow-wrap:anywhere; word-break:normal; vertical-align:top;}\n.machine-traffic-table-wrap .machine-traffic-classification th{font-size:20px; font-weight:700; overflow-wrap:normal; word-break:keep-all;}\n.machine-traffic-table-wrap .machine-traffic-classification td{font-size:16px;}\n.machine-traffic-table-wrap .machine-traffic-classification .mtc-header-line{display:block;}\n.machine-traffic-table-wrap .machine-traffic-classification .mtc-form{vertical-align:middle; text-align:center; font-weight:600; overflow-wrap:normal;}\n.machine-traffic-table-wrap .machine-traffic-classification .mtc-hybrid{white-space:normal;}\n@media (max-width: 767px){\n  .machine-traffic-table-wrap .machine-traffic-classification{min-width:860px;}\n  .machine-traffic-table-wrap .machine-traffic-classification th{font-size:18px;}\n}\n<\/style>\n<table class=\"machine-traffic-classification\">\n  <colgroup>\n    <col style=\"width:16%;\">\n    <col style=\"width:27%;\">\n    <col style=\"width:40%;\">\n    <col style=\"width:17%;\">\n  <\/colgroup>\n  <thead>\n    <tr>\n      <th><span class=\"mtc-header-line\">Operating<\/span> <span class=\"mtc-header-line\">Form<\/span><\/th>\n      <th><span class=\"mtc-header-line\">Business<\/span> <span class=\"mtc-header-line\">Scenario<\/span><\/th>\n      <th>Behavior \/ Typical Logic<\/th>\n      <th><span class=\"mtc-header-line\">Example<\/span> <span class=\"mtc-header-line\">Programs<\/span><\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr>\n      <td rowspan=\"11\" class=\"mtc-form\">BOT<\/td>\n      <td class=\"mtc-scenario\">AI_CRAWLER<\/td>\n      <td class=\"mtc-behavior\">Crawls full-site data at large scale in the background to build AI training datasets.<\/td>\n      <td class=\"mtc-programs\">GPTBot, CCBot<\/td>\n    <\/tr>\n    <tr>\n      <td class=\"mtc-scenario\">AI_SEARCH<\/td>\n      <td class=\"mtc-behavior\">Periodically or in real time fetches data to update the knowledge base of AI search engines.<\/td>\n      <td class=\"mtc-programs\">PerplexityBot, OAI-SearchBot<\/td>\n    <\/tr>\n    <tr>\n      <td class=\"mtc-scenario\">SEARCH_ENGINE_CRAWLER<\/td>\n      <td class=\"mtc-behavior\">Continuously crawls webpages to build and refresh search engine indexes.<\/td>\n      <td class=\"mtc-programs\">Googlebot, bingbot<\/td>\n    <\/tr>\n    <tr>\n      <td class=\"mtc-scenario\">SEARCH_ENGINE_OPTIMIZATION<\/td>\n      <td class=\"mtc-behavior\">Commercial crawlers traverse site networks and analyze backlinks, keywords, and rankings.<\/td>\n      <td class=\"mtc-programs\">AhrefsBot, SemrushBot<\/td>\n    <\/tr>\n    <tr>\n      <td class=\"mtc-scenario\">ARCHIVER<\/td>\n      <td class=\"mtc-behavior\">Automatically records and permanently preserves the current state of webpages as historical snapshots.<\/td>\n      <td class=\"mtc-programs\">archive.org_bot<\/td>\n    <\/tr>\n    <tr>\n      <td class=\"mtc-scenario\">SECURITY<\/td>\n      <td class=\"mtc-behavior\">Scans sites for known vulnerabilities, exposed ports, or malicious-code indicators.<\/td>\n      <td class=\"mtc-programs\">Nmap, CensysInspect<\/td>\n    <\/tr>\n    <tr>\n      <td class=\"mtc-scenario\">MONITORING_AND_ANALYTICS<\/td>\n      <td class=\"mtc-behavior\">Simulates scheduled visits to check whether a site is available and whether loading performance is normal.<\/td>\n      <td class=\"mtc-programs\">Pingdom, Datadog Agent<\/td>\n    <\/tr>\n    <tr>\n      <td class=\"mtc-scenario\">AGGREGATOR<\/td>\n      <td class=\"mtc-behavior\">Regularly fetches specified sites, such as news or ecommerce pages, and aggregates information for display.<\/td>\n      <td class=\"mtc-programs\">NewsNow, price-comparison crawlers<\/td>\n    <\/tr>\n    <tr>\n      <td class=\"mtc-scenario\">ADVERTISING_AND_MARKETING<\/td>\n      <td class=\"mtc-behavior\">Automatically extracts page context to match advertising inventory or marketing software.<\/td>\n      <td class=\"mtc-programs\">AdsBot-Google<\/td>\n    <\/tr>\n    <tr>\n      <td class=\"mtc-scenario\">ACADEMIC_RESEARCH<\/td>\n      <td class=\"mtc-behavior\">Runs large-scale crawling for research institutions, such as web topology research.<\/td>\n      <td class=\"mtc-programs\">University research crawlers<\/td>\n    <\/tr>\n    <tr>\n      <td class=\"mtc-scenario\">ACCESSIBILITY<\/td>\n      <td class=\"mtc-behavior\">Automatically traverses website pages to check whether accessibility declarations are missing.<\/td>\n      <td class=\"mtc-programs\">Accessibility scan tools<\/td>\n    <\/tr>\n    <tr>\n      <td rowspan=\"4\" class=\"mtc-form\">AGENT<\/td>\n      <td class=\"mtc-scenario\">AI_ASSISTANT<\/td>\n      <td class=\"mtc-behavior\">A real user enters a URL in an AI chat interface and triggers AI access to the page.<\/td>\n      <td class=\"mtc-programs\">ChatGPT-User<\/td>\n    <\/tr>\n    <tr>\n      <td class=\"mtc-scenario\">PAGE_PREVIEW<\/td>\n      <td class=\"mtc-behavior\">A user sends a link in messaging software and instantly triggers a generated preview card.<\/td>\n      <td class=\"mtc-programs\">Slackbot, Twitterbot<\/td>\n    <\/tr>\n    <tr>\n      <td class=\"mtc-scenario\">FEED_FETCHER<\/td>\n      <td class=\"mtc-behavior\">A user actively refreshes or fetches RSS subscription sources through a client.<\/td>\n      <td class=\"mtc-programs\">AppleCoreMedia(Podcast)<\/td>\n    <\/tr>\n    <tr>\n      <td class=\"mtc-scenario\">SOCIAL_MEDIA_MARKETING<\/td>\n      <td class=\"mtc-behavior\">A user schedules publication or manages post content through a third-party tool.<\/td>\n      <td class=\"mtc-programs\">Bufferbot, Hootsuite<\/td>\n    <\/tr>\n    <tr>\n      <td rowspan=\"1\" class=\"mtc-form  mtc-hybrid\">Hybrid form<\/td>\n      <td class=\"mtc-scenario\">OTHER<\/td>\n      <td class=\"mtc-behavior\">The visitor has a valid identity, but its behavior is too complex to fit a single category.<\/td>\n      <td class=\"mtc-programs\">Internal microservice calls, custom scripts<\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n<\/div>\n\n\n\n<p>In the agent era, enterprises need a governance model that supports identification, allowlisting, rate limiting, verification, downranking, and blocking at the same time. A single bot rule can no longer handle all non-human traffic.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Stealth and Counter-Detection Are Moving Down the Stack<\/h2>\n\n\n\n<p>As defenders tighten their detection network, attackers and compliant automation toolchains keep evolving too. Automation programs have moved from rough <a href=\"https:\/\/www.w3.org\/TR\/webdriver2\/\" rel=\"nofollow noopener\" target=\"_blank\">WebDriver<\/a> wrappers to customized low-level communication that can even abandon the Chrome process relationship. The escalation has a consistent direction: adversarial technology keeps moving deeper into the stack.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"900\" src=\"\/wp-content\/uploads\/2026\/06\/agent-bot-figure-03-stealth-and-counter-detection-are-moving-down-the-stack-watermarked.png\" alt=\"GeeTest article visual for stealth and counter-detection technology\" class=\"wp-image-1003947\" srcset=\"\/wp-content\/uploads\/2026\/06\/agent-bot-figure-03-stealth-and-counter-detection-are-moving-down-the-stack-watermarked.png 1600w, \/wp-content\/uploads\/2026\/06\/agent-bot-figure-03-stealth-and-counter-detection-are-moving-down-the-stack-watermarked-300x169.png 300w, \/wp-content\/uploads\/2026\/06\/agent-bot-figure-03-stealth-and-counter-detection-are-moving-down-the-stack-watermarked-1024x576.png 1024w, \/wp-content\/uploads\/2026\/06\/agent-bot-figure-03-stealth-and-counter-detection-are-moving-down-the-stack-watermarked-768x432.png 768w, \/wp-content\/uploads\/2026\/06\/agent-bot-figure-03-stealth-and-counter-detection-are-moving-down-the-stack-watermarked-1536x864.png 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><\/figure>\n\n\n\n<div style=\"height:28px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">1. Native Framework Exposure and Surface JavaScript Injection<\/h3>\n\n\n\n<p>Early headless browser environments used unmodified native <strong>Playwright<\/strong> or <strong>Puppeteer<\/strong>, which are exposed in front of modern risk-control systems. They set <code>navigator.webdriver<\/code> to <code>true<\/code> by default and lack the rendering parameters of real graphics hardware.<\/p>\n\n\n\n<p>To hide these features, the community evolved surface-level JavaScript injection methods. In Node.js, a typical example is <strong>puppeteer-extra-plugin-stealth<\/strong>. In Python, an early example is <strong>undetected-chromedriver<\/strong>. These tools intercept page loading events and inject JavaScript to overwrite the <code>navigator<\/code> object or obfuscate fingerprints. <code>undetected-chromedriver<\/code> also uses binary patches to modify feature variable names in the ChromeDriver executable, bypassing some detection logic based on fixed strings and process features.<\/p>\n\n\n\n<p>However, surface injection is fragile. JavaScript hooks can fail in nested iframes, fast page jumps, sandbox isolation, or early script execution timing. When that happens, automation features leak.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Commercial Anti-Fingerprint Browsers and Environment Hijacking<\/h3>\n\n\n\n<p>When open-source patches proved insufficient against complex device-fingerprint probes, gray-market operators and advanced automation tools turned to commercial fingerprint browsers such as <strong>AdsPower<\/strong> and <strong>BitBrowser<\/strong>. These products modify the browser kernel layer, provide highly isolated browser environments, and spoof dozens of hardware-related parameters such as Canvas, WebGL, fonts, audio, and WebRTC.<\/p>\n\n\n\n<p>This commercial packaging integrates proxies, fingerprints, accounts, cookies, environment isolation, and batch task management into an operational platform. For attackers, it lowers the barrier to scaling. For defenders, it makes a single browser fingerprint or single IP reputation signal less reliable.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. From WebDriver-CDP to Nodriver-CDP<\/h3>\n\n\n\n<p>For a long time, middleware running in a <strong>WebDriver-CDP<\/strong> hybrid mode has been a major detection target for risk-control systems. Process scanning, polluted launch parameters, exposed debugging ports, and driver binary features are all detection points. To cut the link with WebDriver, a new generation of tools began moving toward lower-level protocol control.<\/p>\n\n\n\n<p>This created a technical jump from indirect control to direct native <strong>Chrome-CDP<\/strong> control. One representative framework, currently popular in the Python community, is <strong>Nodriver<\/strong>.<\/p>\n\n\n\n<p>Built by the core developer behind <code>undetected-chromedriver<\/code>, Nodriver removes the dependency on the ChromeDriver binary. Its core logic is that the <strong>Nodriver-CDP<\/strong> mode starts the system&#8217;s native Chrome process with parameters closer to those of an ordinary user, then uses asynchronous Python code to establish a direct WebSocket connection to the <a href=\"https:\/\/chromedevtools.github.io\/devtools-protocol\/\" rel=\"nofollow noopener\" target=\"_blank\">Chrome DevTools Protocol<\/a>.<\/p>\n\n\n\n<p>This weakens three traditional features: ChromeDriver process traces, abnormal launch parameters, and WebDriver variable pollution. It does not make automation impossible to identify, but it forces defenders to move from &quot;identifying an automation framework&quot; to &quot;evaluating the consistency of the session, transport, environment, and behavior.&quot;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Engine-Level Rebuilds: Chromium Modification and Rust Lightweight Engines<\/h3>\n\n\n\n<p>When risk-control engines begin using timing analysis, hardware features, and rendering differences for detection, stealth technology continues to move lower.<\/p>\n\n\n\n<p>One type of heavily modified browser tool goes deep into Chromium&#8217;s C++ source code. It patches and recompiles the rendering engine, device enumeration, fingerprint exposure points, and network stack. Because the spoofing is completed at the binary and engine level, traditional JavaScript hook detection becomes difficult.<\/p>\n\n\n\n<p>Another route is lightweight engine reconstruction. Traditional Headless Chrome is complete but resource-intensive. Some tools begin using Rust, V8, HTML5 parsers, or custom rendering pipelines to build lighter headless execution environments, while handling anti-tracking, Navigator rewriting, TLS fingerprints, and network features inside the engine. These tools may not fully reproduce a real browser, but they are enough to challenge detection that relies on Chrome-specific implementation differences.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. Stealth Packaging in the Agent Era<\/h3>\n\n\n\n<p>In the AI agent era, an LLM does not need to understand complex Python <code>Nodriver<\/code> scripts or browser-fingerprint details. The latest adversarial evolution is to standardize anti-detection capabilities as API toolsets that models can call. In other words, these capabilities become MCP-like infrastructure.<\/p>\n\n\n\n<p>At this stage, real-environment hijacking tactics will upgrade further. Some advanced frameworks run the target app directly on real Android devices, deeply virtualized Android\/iOS environments, or mobile hosted environments. They combine port forwarding, debugging channels, and system-level automation interfaces for continuous control. Compared with parameter simulation in desktop headless browsers, these schemes can provide higher consistency and realism.<\/p>\n\n\n\n<p>For example, the approach mentioned in the previous article at <code>https:\/\/mp.weixin.qq.com\/s\/wx_88wuutJI2S0QsTTEFNg<\/code> belongs to this line of thinking.<\/p>\n\n\n\n<p>These schemes use real physical devices or high-fidelity environments as their base, which can improve the credibility of system fingerprints. But they also create new detection opportunities: real devices, accounts, networks, behaviors, and business paths must remain consistent over time. Once they operate at scale, they can expose abnormal resource reuse, behavior templates, task rhythm, and target selection.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Defense Architecture for the Agent Bot Era<\/h2>\n\n\n\n<p>As stealth technology sinks into browser kernels, network protocol stacks, and mobile runtime environments, defenders can no longer rely only on application-layer DOM parsing, JavaScript environment probes, or a single User-Agent rule. <a href=\"https:\/\/www.geetest.com\/en\/bot-management-101\" target=\"_blank\" rel=\"noopener\">Anti-automation<\/a> in the agent era must upgrade from &quot;identifying a tool&quot; to &quot;verifying whether the whole session is trustworthy.&quot;<\/p>\n\n\n\n<p>Transport-layer fingerprinting, endpoint environment awareness, behavioral biometrics, and business risk orchestration correspond to protocol-layer recognition, device-fingerprint environment recognition, behavioral verification, and risk decisioning. GeeTest&#8217;s anti-automation, human-bot verification, <a href=\"https:\/\/www.geetest.com\/en\/article\/device-fingerprinting-what-it-is-and-how-it-works-2025\" target=\"_blank\" rel=\"noopener\">device risk identification<\/a>, behavioral verification, and <a href=\"https:\/\/www.geetest.com\/en\/article\/rule-engine-guide\" target=\"_blank\" rel=\"noopener\">decision engine capabilities<\/a> form this type of risk-control decision chain. They can serve as verification and judgment capabilities at critical business nodes, helping enterprises evaluate environment trust, behavior trust, and intent trust.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1281\" height=\"2560\" src=\"\/wp-content\/uploads\/2026\/06\/agent-bot-figure-04-defense-architecture-for-the-agent-bot-era-watermarked-scaled.png\" alt=\"GeeTest article visual for defense architecture in the agent bot era\" class=\"wp-image-1003948\" srcset=\"\/wp-content\/uploads\/2026\/06\/agent-bot-figure-04-defense-architecture-for-the-agent-bot-era-watermarked-scaled.png 1281w, \/wp-content\/uploads\/2026\/06\/agent-bot-figure-04-defense-architecture-for-the-agent-bot-era-watermarked-150x300.png 150w, \/wp-content\/uploads\/2026\/06\/agent-bot-figure-04-defense-architecture-for-the-agent-bot-era-watermarked-513x1024.png 513w, \/wp-content\/uploads\/2026\/06\/agent-bot-figure-04-defense-architecture-for-the-agent-bot-era-watermarked-768x1534.png 768w, \/wp-content\/uploads\/2026\/06\/agent-bot-figure-04-defense-architecture-for-the-agent-bot-era-watermarked-769x1536.png 769w, \/wp-content\/uploads\/2026\/06\/agent-bot-figure-04-defense-architecture-for-the-agent-bot-era-watermarked-1025x2048.png 1025w\" sizes=\"(max-width: 1281px) 100vw, 1281px\" \/><\/figure>\n\n\n\n<div style=\"height:28px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">1. From JA3 to JA4 TLS Fingerprinting<\/h3>\n\n\n\n<p>In the modern internet, almost all important communication is wrapped in TLS\/SSL encryption. Encryption protects content, but it cannot hide the structural features of communication behavior itself. In the earliest phase of TLS connection establishment, when the client sends a <code>ClientHello<\/code> handshake packet, the client declares in plaintext the low-level encryption library it supports, such as BoringSSL used by Chrome, NSS used by Firefox, or OpenSSL commonly used by Python scripts. Because different software stacks implement these details differently, risk-control systems can extract the low-level parameters exposed before the encrypted tunnel is established and generate a unique fingerprint. This allows them to separate Python crawler scripts or C2-controlled malware trying to disguise themselves as ordinary browsers without decrypting any payload.<\/p>\n\n\n\n<p>For the past several years, a widely adopted baseline technology has been the <strong>JA3 fingerprint<\/strong>, invented by the Salesforce team. The core logic of JA3 is to extract five key fields from the <code>ClientHello<\/code> message: TLS version, supported cipher suite list, supported extensions, elliptic curve parameters, and elliptic curve point formats. The algorithm strictly concatenates the decimal codes of these fields in sending order into a long string, then calculates its MD5 hash to produce a fixed 32-character fingerprint identifier. Its logic can be simplified as:<\/p>\n\n\n\n<p><code>JA3 = MD5(TLSVersion, Ciphers, Extensions, EllipticCurves, EllipticCurvePointFormats)<\/code><\/p>\n\n\n\n<p>As adversarial pressure increased, JA3 exposed serious architectural weaknesses. To address this shortcoming, the FoxIO team, founded by an original co-inventor of JA3, introduced the <a href=\"https:\/\/github.com\/FoxIO-LLC\/ja4\" rel=\"nofollow noopener\" target=\"_blank\"><strong>JA4 fingerprint standard<\/strong><\/a>. The shift can be read as an architectural move from quick client-type separation toward a more readable signal layer that is better suited to randomized browsers, proxy chains, and complex client-source environments.<\/p>\n\n\n\n<p><em>Table 3: Core architectural evolution of transport-layer network fingerprint tracking technology, JA3 vs. JA4.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Comparison Dimension<\/th><th>JA3<\/th><th>JA4<\/th><\/tr><\/thead><tbody><tr><td>Core input<\/td><td>TLS <code>ClientHello<\/code> version, cipher suites, extensions, elliptic curves, and elliptic curve point formats.<\/td><td>Enhanced fields on top of TLS fingerprinting, improving standardization and cross-protocol readability.<\/td><\/tr><tr><td>Advantage<\/td><td>Simple to implement and useful for quickly distinguishing abnormal clients, scanners, and non-browser clients.<\/td><td>Better suited to modern browser randomization, proxy chains, and complex client-source environments.<\/td><\/tr><tr><td>Limitation<\/td><td>Sensitive to field ordering and vulnerable to randomization or camouflage.<\/td><td>Needs to be combined with HTTP, device, behavior, and business signals.<\/td><\/tr><tr><td>Best use<\/td><td>Rapidly identify clearly abnormal scripts, scanners, and non-browser clients.<\/td><td>Serve as one layer in a multi-signal risk-scoring system, not a standalone verdict.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Transport-layer fingerprinting provides a first layer of risk signals before content is decrypted. Against advanced agent bots, however, the table also shows why TLS fingerprints cannot carry the final decision by themselves. A more effective method is to merge JA3\/JA4, IP reputation, proxy features, device fingerprints, and behavioral trajectories into the same risk-scoring system.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Behavioral Biometrics Against CDP Interaction Spoofing<\/h3>\n\n\n\n<p>From <code>WebDriver<\/code> to <code>Nodriver<\/code>, automation tools increasingly communicate with browsers through CDP, or Chrome DevTools Protocol. Many attackers mistakenly believe that avoiding the <code>WebDriver<\/code> identifier is enough to bypass major detection. In reality, as long as the task target needs real UI interaction with a web page, such as clicking buttons, filling forms, dragging sliders, or completing verification, the behavior layer still exposes many risk signals.<\/p>\n\n\n\n<p>In earlier front-end attack and defense, ordinary automation scripts often used JavaScript&#8217;s <code>element.click<\/code> to trigger clicks. The <code>isTrusted<\/code> property of this event object is marked by the browser as <code>false<\/code> by default, so simple risk-control scripts can intercept it immediately. To break through this limitation, advanced bots use low-level CDP commands such as <code>Input.dispatchMouseEvent<\/code> or <code>Input.dispatchKeyEvent<\/code>. From the browser kernel&#8217;s point of view, clicks and key presses forged by these commands are equivalent to real physical hardware input and can generate flawless events with <code>isTrusted = true<\/code>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"900\" src=\"\/wp-content\/uploads\/2026\/06\/visual-behavioral-challenge-positioning-watermarked.png\" alt=\"Behavioral biometric positioning chart comparing network-stack fingerprint reliance with app-layer behavior proof\" class=\"wp-image-1003949\" srcset=\"\/wp-content\/uploads\/2026\/06\/visual-behavioral-challenge-positioning-watermarked.png 1600w, \/wp-content\/uploads\/2026\/06\/visual-behavioral-challenge-positioning-watermarked-300x169.png 300w, \/wp-content\/uploads\/2026\/06\/visual-behavioral-challenge-positioning-watermarked-1024x576.png 1024w, \/wp-content\/uploads\/2026\/06\/visual-behavioral-challenge-positioning-watermarked-768x432.png 768w, \/wp-content\/uploads\/2026\/06\/visual-behavioral-challenge-positioning-watermarked-1536x864.png 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><\/figure>\n\n\n\n<div style=\"height:28px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><em>Figure: Behavioral challenge strength versus network-stack dependence in agent bot defense.<\/em><\/p>\n\n\n\n<p>Behavioral biometrics becomes important at this point. In this positioning view, the stronger quadrant is not defined by a single browser or network fingerprint. It is defined by whether the defense can verify behavior at the application layer while still considering network and environment signals. Modern risk-control engines represented by GeeTest do not stop at static attributes. They continuously monitor the micro-dynamic patterns of interaction behavior.<\/p>\n\n\n\n<p>Three traces are especially useful here. The first is mouse trajectory. Real movement rarely travels as a perfect straight line between two points. It has speed changes, initial acceleration, a slowdown near the target, and small curve deviations. Mechanically triggered CDP coordinate commands often miss those details.<\/p>\n\n\n\n<p>Typing adds another layer. &quot;Flight time&quot; and &quot;dwell time&quot; expose biometric signals that become difficult to imitate when a bot injects text at a constant speed or uses random intervals that do not resemble a real typing rhythm.<\/p>\n\n\n\n<p>Cognitive pauses matter as well. A real user often stops to read, locate an element, or think through a form or verification task. Automation scripts tend to chase efficiency, so they often launch continuous high-speed interactions as soon as the page finishes rendering.<\/p>\n\n\n\n<p>Even if advanced agents or AI crawlers hide environment features through low-level modifications and generate <code>isTrusted = true<\/code> click events through CDP, behavioral recognition engines can still classify them as high risk when mouse, keyboard, touch, and cognitive rhythm lack the natural variation of human interaction. The system can then trigger dynamic verification, rate limiting, business downranking, or blocking.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. From Detection Signals to Business Strategy<\/h3>\n\n\n\n<p>The difficulty of defending against agent bots is not only recognition. The harder operational question is what to do after recognition. Enterprises need to connect transport-layer, environment-layer, behavior-layer, and business-layer signals into a unified decision engine, then choose actions according to business value and risk intensity.<\/p>\n\n\n\n<p>For high-value nodes such as login, registration, coupon claiming, payment, withdrawal, bulk content access, search result scraping, and inventory queries, a layered response strategy is recommended:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Low-risk sessions:<\/strong> allow and continue sampling to avoid excessive disruption to real users.<\/li><li><strong>Medium-risk sessions:<\/strong> trigger GeeTest real-time behavioral verification, dynamic challenges, rate limiting, or key data downranking.<\/li><li><strong>High-risk sessions:<\/strong> block core actions, require stronger device proof, or move the session to manual review.<\/li><li><strong>Coordinated-risk sessions:<\/strong> correlate accounts, devices, IPs, proxies, target content, and operation paths for batch handling.<\/li><\/ul>\n\n\n\n<p>This is also the biggest difference between modern anti-automation capability and traditional CAPTCHA. CAPTCHA should not be an isolated popup. It should become a dynamic action inside the risk decision chain. Only when challenge results, behavioral trajectories, device trust, and business context enter the same risk-control loop can enterprises balance allowing legitimate agents, limiting gray automation, and blocking malicious bots.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion: Risk Control for the Agent Economy<\/h2>\n\n\n\n<p>From hard-coded scripts and XPath parsing to AI crawler content collection, and then to agent bots with tool calling and dynamic planning, internet automation is moving from &quot;request automation&quot; to &quot;task automation.&quot; This means defense methods that rely on static features, fixed rules, and single-point CAPTCHA will find it increasingly difficult to cover real risk.<\/p>\n\n\n\n<p>The operating reality is changing: future visitors will include humans, legitimate agents, gray automation, and malicious bots at the same time. Risk-control systems need an explainable, layered trust-evaluation mechanism for machine traffic that can connect with business actions and support more refined identification, decision-making, and governance.<\/p>\n\n\n\n<p>For security, risk-control, anti-crawling, and growth teams, the next build phase can be reduced to four priorities:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Build machine traffic taxonomy to distinguish legitimate automation, gray automation, and malicious automation.<\/li><li>Unify TLS\/HTTP fingerprints, device fingerprints, behavioral biometrics, and business context into risk scoring.<\/li><li>Deploy dynamic verification, rate limiting, downranking, stronger checks, and blocking strategies at key business nodes.<\/li><li>Continuously evaluate false positive rate, bypass rate, verification pass rate, business loss, and changes in attack cost.<\/li><\/ul>\n\n\n\n<p>Within this system, GeeTest&#8217;s anti-automation human-bot verification, device risk identification, behavioral verification, and decision engine capabilities fit the roles of &quot;dynamic decision action&quot; and &quot;behavior trust judgment.&quot; They help enterprises judge each visit in the agent era with more detail: whether access is trustworthy, whether it should be allowed, whether verification should be triggered, and whether blocking is required.<\/p>\n\n\n\n<p>Agent bots and stealth technology will continue to evolve. Defenders need trust infrastructure that keeps learning, adds layers over time, and steadily raises the cost of attack, while still supporting long-term governance, dynamic recognition, and strategy orchestration.<\/p>\n<\/div><!-- .vgblk-rw-wrapper -->","protected":false},"excerpt":{"rendered":"<p>Learn how agent bots evolved from scripts and AI crawlers, how stealth technology hides automation, and how enterprises can assess trust signals.<\/p>\n","protected":false},"author":2,"featured_media":1003944,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[89],"tags":[],"class_list":["post-1003950","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-fraud-prevention"],"_links":{"self":[{"href":"\/en\/wp-json\/wp\/v2\/posts\/1003950","targetHints":{"allow":["GET"]}}],"collection":[{"href":"\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"\/en\/wp-json\/wp\/v2\/comments?post=1003950"}],"version-history":[{"count":5,"href":"\/en\/wp-json\/wp\/v2\/posts\/1003950\/revisions"}],"predecessor-version":[{"id":1003955,"href":"\/en\/wp-json\/wp\/v2\/posts\/1003950\/revisions\/1003955"}],"wp:featuredmedia":[{"embeddable":true,"href":"\/en\/wp-json\/wp\/v2\/media\/1003944"}],"wp:attachment":[{"href":"\/en\/wp-json\/wp\/v2\/media?parent=1003950"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"\/en\/wp-json\/wp\/v2\/categories?post=1003950"},{"taxonomy":"post_tag","embeddable":true,"href":"\/en\/wp-json\/wp\/v2\/tags?post=1003950"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}